不借助任何辅助列,VLOOKUP函数实现一对多查询技巧

举一个一对多查询匹配的工作实例,左边是原始数据,一个部分有对应多个员工,我们现在需要根据部门把这个部门的员工姓名找出来

借助辅助列的方法

VLOOKUP函数是一对一查询的,查询区域B列如果不是唯一的,那么插入一个辅助列,输入的公式是:

=C2&COUNTIFS($C$2:C2,C2)

这样做目的是让A列是保持唯一的,将每个部门后面加上了累计出现的次数

然后使用VLOOKUP公式进行一对多查询,使用的公式是:

=IFERROR(VLOOKUP($F2&COLUMN(A1),$A:$D,4,0),'')

VLOOKUP函数第1个参数使用F2&COLUMN(A1),表示市场1,向右填充,就是查找市场2,市场3....

用IFERROR来屏蔽错误值,当有错误值时显示为空白。

不借助辅助列

如果制表不允许使用辅助列,要一气呵成的话,就可以使用公式:

在F2中输入公式:

=IFERROR(VLOOKUP($E2&COLUMN(A1),IF({1,0},$B$1:$B$100&COUNTIF(INDIRECT('b1:b'&ROW($1:$100)),$E2),$C$1:$C$100),2,0),'')

输入完按CTRL+shift+enter键

上面的公式看起来很复杂,可以用通用的公式来理解:

=IFERROR(VLOOKUP(查找值&COLUMN(a1),IF({1,0},查找列&COUNTIF(INDIRECT('查找值列标1:查找值列标'&ROW($1:$100)),查找值),结果列),2,0),'')

那么这个不用辅助列的一对多查询,和前面构建辅助列数据思路是一样的,这里使用IF函数构建一个虚拟的辅助列数组。

下次碰到一对多查询的时候,就不用慌了,今天的技巧用起来即可,你学会了么?动手研究一下吧~

(0)

相关推荐