一对多查找,一直是Excel查找函数很难搞定的难题,包括我们最熟悉的Vlookup。不过如果借用Countif函数+辅助列,虽然有点麻烦,还是可以实现的。
【例】如下图所示,B列是产品,C列是供应商。要求在下表中,把每个产品的供应商显示在后面列中。
分析:利用vlookup的数组公式,可以直接设置公式,但公式很复杂也容易设置错误,所以今天我们只需要添加一个辅助列,问题就可以轻松解决。
在表格前面插入辅助列和公式:
A2 =B2&COUNTIF(B$1:B2,B2)
有了辅助列,在下表中可以直接设置公式:
=IFERROR(VLOOKUP($A11&COLUMN(A1),$A:$C,3,0),"")
公式说明:
Column可以让公式向右复制时生成1,2,3..序号,和产品连接后生成产品1,产品2,产品3....。
IFERROR当vlookup查找不到时,显示为空白。
但,如果你的excel已升级到了office365最新版本,这个问题会变得超简单:不需辅助列,一个公式即可完成。
=TRANSPOSE(FILTER(C$2:C$8,B$2:B$8=A11))
公式说明:
1、公式只需要在B列设置。
2、Filter是office365新增的筛选函数
3、TRANSPOSE可以实现行列转置,把filter筛选的结果按行显示。
兰色说:excel新增的filter函数真的真很实用,它可以实现老版本很多函数组合才能完成的问题。没最新版本的同学,就用第一个方法吧。
领取专属 10元无门槛券
私享最新 技术干货