Excel VLookUp怎么用If或If{0,1}实现两个或三个条件的多条件查找

网友投稿 15279 2022-06-08

vlookup函数通常用于一个条件的查找,但也可以实现多条件查找,组合多个条件要用 If 或 If{0,1},一般用 If 实现两个条件的查找,用 If{0,1} 既可实现两个条件又可实现三个条件甚至更多条件的查找。

如果用 If{0,1} 实现两个条件以上的查找需用 & 把查找值和查找范围连接起来,也就是把要满足条件的列合并为一列,然后在该列中查找,把要返回的列独立为一列。以下就是 excel VLookUp怎么用If或If{0,1}实现两个或三个条件的多条件查找的 4 个实例。

 

一、Excel VLookUp怎么用If组合两个条件查找

1、假如要查找“产品名称”为“白色T恤”且“价格”等于 99 的服装销量。双击 E2 单元格,把公式 =VLOOKUP("白色T恤",IF(C2:C11=99,A2:D11,),4,FALSE) 复制到 E2,按 Ctrl + Shift + 回车,返回查找结果 874,操作过程步骤,如图1所示:

图1

 

2、公式 =VLOOKUP("白色T恤",IF(C2:C11=99,A2:D11,),4,FALSE) 说明:

A、C2:C11=99 是 If 的条件,意思是:取出 C2 到 C11 中的每个值与 99 比较,如果等于 99,返回 True,否则返回 False,最后返回数组 {FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;TRUE;FALSE}。

B、则 IF(C2:C11=99,A2:D11,) 变为 IF({FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;TRUE;FALSE},A2:D11,),然后从数组中取出每一个元素,如果为 True,返回 A2:D11 中的数据,否则返回 0;例如:第一次取出 FALSE,返回 0,0,0,0;(每个 0 对应 A2:D11 中的一列);第二次取出 TRUE,返回 A3:D3 中的数据,即 "粉红衬衫",43353,99,785;,其它的以此类推。数组中的 43353 是日期转为的数值。

Excel VLookUp怎么用If或If{0,1}实现两个或三个条件的多条件查找

C、则公式变为 =VLOOKUP("白色T恤",{0,0,0,0;"粉红衬衫",43353,99,785;"白色T恤",43353,99,874;……;0,0,0,0},4,FALSE),然后在数组查找“白色T恤”,找到后返回第 4 列,恰好是 874;公式中 4 表示返回第 4 列,FALSE 表示“精确匹配”。

 

 

二、Excel VLookUp怎么用If{0,1}组合条件查找

(一)用 If{0,1} 组合一个条件查找

1、假如要查找“姓名”为“黄子辛”的职务。双击 D2 单元格,把公式 =VLOOKUP("黄子辛",IF({0,1},C2:C8,A2:A8),2,FALSE) 复制到D2,按回车,返回查找结果“经理”;操作过程步骤,如图2所示:

图2

 

2、公式 =VLOOKUP("黄子辛",IF({0,1},C2:C8,A2:A8),2,FALSE) 说明:

A、{0,1} 是 If 的数组条件,IF({0,1},C2:C8,A2:A8) 的意思是:第一次从数组中取出 0,由于 0 为 False,所以返回 A2:A8 中的 A2(林语彤),第二次从数组中取出 1,由于 1 为 True,所以返回 C2:C8 中的 C2(员工);然后再次从数组中取出 0,返回 A2:A8 中的 A3(张秀玲),接着再取出 1,返回 C2:C8 中的 C3(员工);其它的以此类推直到取到 C8 和 A8,最后返回数组 {"林语彤","员工";"张秀玲","员工";"黄子辛","经理";"李秀丽","员工";"刘月芹","员工";"秦玉银","员工";"赵云祥","经理"}。

B、则公式变为 =VLOOKUP("黄子辛",{"林语彤","员工";"张秀玲","员工";"黄子辛","经理";"李秀丽","员工";"刘月芹","员工";"秦玉银","员工";"赵云祥","经理"},2,FALSE),接着在数组中查找“黄子辛",在第三行找到后返回第 2 列,即返回“经理”。

提示:数组 {0,1} 可以交换位置,假如把它变为 {1,0},则公式变为 =VLOOKUP("黄子辛",IF({1,0},A2:A8,C2:C8),2,FALSE),If 中的A2:A8 与 C2:C8 也需要交换位置。

 

(二)用 If{0,1} 组合两个条件查找

1、假如要查找“销售部”的“经理”。双击 F1 单元格,把公式 =VLOOKUP(D1&E1,IF({0,1},A2:A8,B2:B8&C2:C8),2,FALSE) 复制到 F1,按 Ctrl + Shift + 回车,返回查找结果“黄子辛”;操作过程步骤,如图3所示:

图3

2、公式 =VLOOKUP(D1&E1,IF({0,1},A2:A8,B2:B8&C2:C8),2,FALSE) 说明:

A、D1&E1 把 D1 和 E1 中的值连接在一起组成查找值“销售部经理”;B2:B8&C2:C8 把 B2 至 B8 和 C2 至 C8 中的数据按行连接在一起,例如:第一次取 B2 与 C2 连接在一起,即“销售部员工”;第二次取 B3 与 C3 连接在一起,即“行政部员工”;其它的以此类推直到取到 B8 和 C8;最后返回数组 {"销售部员工";"行政部员工";"销售部经理";"财务部员工";"行政部员工";"销售部员工";"财务部经理"}。

B、IF({0,1},A2:A8,B2:B8&C2:C8) 跟上面介绍的 IF({0,1},C2:C8,A2:A8) 是一个意思,它返回的结果为 {"销售部员工","林语彤";"行政部员工","张秀玲";"销售部经理","黄子辛";"财务部员工","李秀丽";"行政部员工","刘月芹";"销售部员工","秦玉银";"财务部经理","赵云祥"}。

C、则公式变为 =VLOOKUP("销售部经理",{"销售部员工","林语彤";"行政部员工","张秀玲";"销售部经理","黄子辛";"财务部员工","李秀丽";"行政部员工","刘月芹";"销售部员工","秦玉银";"财务部经理","赵云祥"},2,FALSE),接着在数组中查找“销售部经理”,在第三行找到,返回第 2 列,恰好是“黄子辛”。

 

(三)用 If{0,1} 组合三个条件查找

1、假如要找同时满足“分类”为“女装”、“产品名称”为“白色T恤”和“价格”等于 82 的服装销量。双击 E11 单元格,把公式=VLOOKUP(B11&C11&D11,IF({0,1},E2:E8,C2:C8&B2:B8&D2:D8),2,FALSE) 复制到 E11,按回车,返回查找结果 582;操作过程步骤,如图4所示:

图4

2、公式 =VLOOKUP(B11&C11&D11,IF({0,1},E2:E8,C2:C8&B2:B8&D2:D8),2,FALSE) 的意思与“用 If{0,1} 组合两个条件查找”是一样的,这里只是把三个条件连接成查找值和把三列连成查找数组的一列。

提示:一般多条件查找通常用LookUp函数,一方面容易组合条件,另一方面执行速度也比VlookUp函数快,相关内容将在后续篇章介绍。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Excel VLookUp函数的操作实例(查找两列重复或两表相同数据/两表数据对比)
下一篇:Excel VLookUp函数的使用方法,含逆向查找、一对多查找和近似匹配实例
相关文章