如下图所示,要求根据设备分类和品牌来查找相应的销售数量。
本例采用的方法是在原表的最前面加一辅助列,辅助列的公式为:=B2&C2
然后再采用VLOOKUP进行如下查找:=VLOOKUP(F2&G2,A:D,4,0)
这里所采用的方法其实就是把多条件进行合并,将其转换为单条件查找。
本例使用了数组公式:=VLOOKUP(E2&F2,IF({1,0},A2:A7&B2:B7,C2:C7),2,0)
公式中的IF({1,0},A2:A7&B2:B7,C2:C7)是一个数组公式,它的返回值为:{"电脑ThinkPad",1760;"手机华为",2938;"iPad苹果",1731;"电脑苹果",1460;"手机三星",2039;"手机VIVO",1629},这其实也是把多条件通过内存数组合并为一个条件来进行查找。
SUM是求和公式,但在本例中用它来进行查找。
这是一个数组公式:=SUM((A2:A7=E2)*(B2:B7=F2)*C2:C7),按CTRL + SHIFT +ENTER完成输入。
这里是使用了数组公式的相乘功能来变相实现查找功能。数组公式中的(A2:A7=E2)*(B2:B7=F2)*C2:C7返回值为:
{1;0;0;1;0;0}*{1;0;0;0;0;0}*{1760;2938;1731;1460;2039;1629},它们的返回值是1760。
SUMPRODUCT返回数组乘积之和,所用公式如下所示:
=SUMPRODUCT((A2:A7=E2)*(B2:B7=F2)*C2:C7),它的实现原理和上面的SUM函数类似。
LOOKUP的万金油查找公式完全可以实现多条件查找:=LOOKUP(1,0/((A2:A7=E2)*(B2:B7=F2)),C2:C7)
VLOOKUP和CHOOSE函数组合为数组公式进行查询:=VLOOKUP(E2&F2,CHOOSE(TRANSPOSE(ROW(1:2)),A2:A7&B2:B7,C2:C7),2,0)
输入CTRL + SHIFT + ENTER完成输入。
TRANSPOSE形成一个"1行2列"的内存转置数组,里面的内容是:
{"电脑ThinkPad",1760;"手机华为",2938;"iPad苹果",1731;"电脑苹果",1460;"手机三星",2039;"手机VIVO",1629}
这也相当于变相将多条件转换为单条件,从而实现查询效果。
综上几种方法,大都是利用函数转换的方法,将多条件查询转为单条件,从而实现查询功能。