分享

Excel一对多查找,vlookup公式淘汰,filter公式秒杀!

 黄毓波 2024-02-04 发布于福建

老板发给你一份销售流水明细,让你制作一个查询小系统,当输入完订单号时,下面的详细信息全部显示出来

因为同一个订单号,里面包含的信息是多条,而且不确定几行数据,所以这是一个一对多查询匹配问题

Excel一对多查找,vlookup公式淘汰,filter公式秒杀!

我们用传统的vlooup公式,和新版本的filter函数公式来进行解决,看你更喜欢用哪个

1、vlookup公式

如果要用vlookup公式来查找,我们需要在原表先建立一个辅助列,然后输入的公式是:

=B2&COUNTIFS($B$2:B2,B2)

通过累计计数函数,统计每个订单号出现的次数

然后再用原文本,连接当前文本出现的次数

所以1001,分别变成了10011,10012,10013

Excel一对多查找,vlookup公式淘汰,filter公式秒杀!

这样构建的辅助列就是不重复的数据,然后我们在查询结果的位置,输入公式:

=IFERROR(VLOOKUP($H$2&ROW(A1),$A:$E,3,0),'')

row函数是返回单元格是第几行,所以row(a1)的结果就是数字1

和查找值h2单元格连接起来,其实就是查找10011,1001第一次出现的结果

当下位填充的时候,row(b1),就会变成2,查找10012的结果

从而实现了一对多查找

Excel一对多查找,vlookup公式淘汰,filter公式秒杀!

后面的数量和金额,我们只需要将原来的公式第3参数,改成第4列,第5列就可以得到结果了:

Excel一对多查找,vlookup公式淘汰,filter公式秒杀!

可以将公式多下拉几行,然后我们更新订单号时,订单数据就能自动更新出结果了:

Excel一对多查找,vlookup公式淘汰,filter公式秒杀!

vlookup公式实现一对多,还是偏复杂,需要基础知识全面组合应用

2、新公式filter

在最新的版本里面,出来了新函数公式filter,它是一个筛选函数,使用用法:

=filter(筛选的数据,筛选条件,查找不到时返回什么结果)

第3参数可省略

所以这里,我们只需要输入的公式是:

=FILTER(B:D,A:A=G2)

筛选的数据区域是b:d列,筛选条件是a列里面,查找g2单元格的值

Excel一对多查找,vlookup公式淘汰,filter公式秒杀!

通过Fliter公式,简单2个参数,就解决了如此复杂的一对多查找问题

关于这个小技巧,你学会了么?动手试试吧!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多