一说起数据查询,很多小伙伴们马上会想到VLOOKUP、LOOKUP这些函数了,咱们之前也推送过VLOOKUP和他的七大姑八大姨们
那除了这些之外,还有哪些函数能用于数据查询呢?今天老祝就和大家分享几个数据查询的特殊应用。
1、单条件查询
来看下面的表格,要从对照表中查询不同岗位的补助金额。
普通青年这样写公式:
=VLOOKUP(B2,E$3:F$5,2,0)
走你青年这样写公式:
=SUMIF(E:E,B2,F:F)
在薪资对照表中,每个记录都是唯一的,所以这里用SUMIF按岗位条件求和,结果就是每个岗位的对应记录。
2、多条件查询
再看下面的表格,要从对照表中,查询不同岗位、不同级别对应的补助金额。
普通青年这样写公式:
=LOOKUP(1,0/((B2=F$3:F$8)*(G$3:G$8=C2)),H$3:H$8)
走你青年这样写公式:
=SUMIFS(H:H,F:F,B2,G:G,C2)
这里咱们同样利用对照表中都是唯一记录的特点,所以用SUMIFS按岗位和级别两个条件求和,得到的结果就是不同岗位、不同级别的对应补助记录。
3、带通配符的查询
继续看下面的表格,要从对照表中,查询不同物料、不同规格对应的单价。
普通青年这样写公式:
=VLOOKUP(B3,D2:H7,MATCH(B2,D2:H2,0),0)
公式先使用MATCH函数查询出B2单元格的名称在对照表中处于第几列。
然后使用VLOOKUP函数,以B3单元格的规格型号作为查询值在对照表中查询,再以MATHC函数的结果指定要返回第几列的内容。
走你青年这样写公式:
=SUMPRODUCT((B2&B3=E2:H2&D3:D7)*E3:H7)
公式先将B2和B3单元格中待查询的名称和型号合并,然后将对照表中的名称和型号合并,用等式对比二者是否相同,最后将对比得到的逻辑值与对照表中的单价相乘,并计算乘积之和。
这个公式看起来和VLOOKUP公式的长度没什么优势,但是最重要的,是可以利用等式忽略通配符的特性,能够避免因为规格型号中存在星号*,在部分特殊情况下出现的查询错误。
练习文件在此:
https://pan.baidu.com/s/1Pu3EDKvWbUIJI6vv1VbH0Q