举个工作中的例子,左边是两列数据对应关系表
分别是仓库SKU和商品SKU
它们之间的关系,有的是一一对应的,但是有极少数的特殊情况,存在着一对多的关系:
需要根据仓库SKU,匹配出商品SKU信息
如果我们使用的公式是XLOOKUP查找
输入的公式是:
=XLOOKUP(D2,A:A,B:B)
一对一查找匹配的结果都出来了,但是如果原数据中,存在多个匹配结果的时候,它只会显示出第一条结果
怎么样把多个结果全部匹配出来?
Filter+textjoin组合运用首先,Filter公式,使用的用法是:
=Filter(查找列,查找条件=查找值)
它和XLOOKUP的区别,就是存在多条结果的时候,它全部会被查找出来
所以当我们输入公式:
=FILTER(B:B,A:A=D3)
它会有符合条件的2个结果全部列出来
所以,我们可以结合转置公式:
TRANSPOSE,输入的公式是:
=TRANSPOSE(FILTER(B:B,A:A=D2))
当有多条结果符合条件的时候,它就能匹配出来
因为是数组用法,所以会自动的溢出到右边的单元格中
如果说,我们不希望单元格溢出显示,让它全部显示在E列结果里面,就可以结合TEXTJOIN公式了
输入的公式是:
=TEXTJOIN(";",TRUE,FILTER(B:B,A:A=D2))
当它的结果是一条的时候,就是一对一匹配
当它的结果是多条的时候,就会用分号连接起来
从而实现混合查找匹配
关于这个小技巧,你学会了么?动手试试吧!