大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
如下图所示,要求根据设备分类和品牌来查找相应的销售数量。
1. 使用VLOOKUP+辅助列进行多条件查找
本例采用的方法是在原表的最前面加一辅助列,辅助列的公式为:=B2&C2
然后再采用VLOOKUP进行如下查找:=VLOOKUP(F2&G2,A:D,4,0)
这里所采用的方法其实就是把多条件进行合并,将其转换为单条件查找。
2. VLOOKUP函数的数组多条件查找
本例使用了数组公式:=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},这其实也是把多条件通过内存数组合并为一个条件来进行查找。
3. 使用SUM进行多条件查找
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。
4. 使用SUMPRODUCT进行多条件查找
SUMPRODUCT返回数组乘积之和,所用公式如下所示:
=SUMPRODUCT((A2:A7=E2)*(B2:B7=F2)*C2:C7),它的实现原理和上面的SUM函数类似。
5. LOOKUP的多条件查找
LOOKUP的万金油查找公式完全可以实现多条件查找:=LOOKUP(1,0/((A2:A7=E2)*(B2:B7=F2)),C2:C7)
6. VLOOKUP和CHOOSE函数组合
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}
这也相当于变相将多条件转换为单条件,从而实现查询效果。
综上几种方法,大都是利用函数转换的方法,将多条件查询转为单条件,从而实现查询功能。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/166613.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...