一般来说,会使用vlook,lookup这些函数进行数据查询,但是如果换个思路的话,还可以用其他公式达到同样的效果。
一般来说,会使用vlook,lookup这些函数进行数据查询,但是如果换个思路的话,还可以用其他公式达到同样的效果。
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公式的长度没什么优势,但是最重要的,是可以利用等式忽略通配符的特性,能够避免因为规格型号中存在星号*,在部分特殊情况下出现的查询错误。
综上,在数据查询中,用了不同的思路,达到相同的效果。