欢迎光临散文网 会员登陆 & 注册

当VLOOKUP遇上IF,一切困难迎刃而解

2023-07-23 17:37 作者:Excel笔记本  | 我要投稿

VLOOKUP有一些众所周知的先天性缺陷,如:只能从中往右查询,返回值单一,数据区域要求严格等等,但是当它遇到IF,一切苦难迎刃而解。其核心逻辑是用IF结合数组构建数据区域,而VLOOKUP在构建的区域中查询,返回。

1.     IF构建数据区域

IF(1,B2:B11,"")第一参数1,返回固定区域B2:B11

IF(0,"",A2:A11)第一参数0,返回固定区域A2:A11

IF({1,0},B2:B11,A2:A11),将第一参数设置为数组{1,0},同时返回两个数据区域

 

IF构建数据区域

                                           

 

2.     逆向查询

=VLOOKUP(E2,IF({1,0},B2:B11,A2:A11),2,0)

此例中构建数据区域的目的是调整查询数据的位置,配合VLOOKUP从左往右查询的特性。

逆向查询

3.     多条件查询

=VLOOKUP(E2&F2,IF({1,0},$A$2:$A$11&$B$2:$B$11,$C$2:$C$11),2,0)

此例中为解决重名问题,“姓名&性别”作为查询条件,同时用IF重新构建数据区域,对应的“姓名&性别”作为首列,查询内容作为第二列。

多条件查询

4.     返回多个结果

=VLOOKUP(E2,IF({1,0},A2:A11,B2:B11&"/"&C2:C11),2,0)

此例中需要同时返回性别和学号,通过IF函数构建新的数据区域实现。

返回多个结果



当VLOOKUP遇上IF,一切困难迎刃而解的评论 (共 条)

分享到微博请遵守国家法律