多条件查找的神,Excel这个函数太牛了!
- 2026-11-01 01:13:38
在实际工作中,我们经常遇到这样的需求:在Excel中,我们需要根据多个条件来查找数据,而且还要找到符合这些条件的“最后一条记录”。
比如下面这个场景,如果我们要查找指定店铺在指定日期最后销售的指定品类的颜色,公式该怎么写?

条件1:重庆大足店 (K2单元格)
条件2:2024-12-5 (K3单元格)
条件3:大衣 (K4单元格)
附件条件:最后一件(最后一条销售记录)
终极解决方案:XLOOKUP多条件查找公式
=XLOOKUP(K2&K3&K4,A:A&G:G&D:D,E:F,"无销售“,,-1)

精髓在于 & 这个连接符。它把分散在不同的单元格的3个条件,拼接成一个唯一的查找字符串:重庆大足店2024-12-5大衣; 为什么这么做?因为XLOOKUP默认一次只查找一个值,我们利用“&”手动制造了一个“身份证”,确保查找条件的唯一性和准确性。
用同样的
&连接符,把数据源中对应的三列也“捆”在一起,形成一个虚拟的、拼接好的查找列。(VLOOKUP的查找区别不能这么写,只能利用辅助列)这样,公式就在用“重庆大足店2024-12-5大衣”这个身份证,去匹配数据源中每一行生成的“身份证”序列。
性能提示:实际使用时,建议将整列引用(如
A:A)改为精确的数据区域(如A2:A1000),能显著提升计算速度。
3、返回数组 E:F(找到后返回什么结果?)
这是XLOOKUP碾压旧函数的核心亮点之一:可以一次返回多列!
D:E表示“返回从D列到E列这个区域”。当公式在查找数组中找到匹配行时,会自动把该行对应的D列和E列值一起“抱回来”。
旧函数想返回多列?你得重复写N遍公式。现在?一步到位。
4、未找到值: "无销售" (如果没找到怎么办?)
意味着“如果没找到,就显示“无销售”。
5、匹配模式:(怎么匹配)
匹配这里留空了,意味着默认使用精确匹配
6、搜索模式 -1(从哪边开始找?)
-1是精华中的精华! 它代表“从后往前搜索”。这有什么用?想象一下:同一个品类“大衣”在数据表里有多次记录。
-1能确保你找到的是他最新的一次记录!这对于查找最新薪资、最新状态等场景,是革命性的便利。如果你想找最早的一次,就用
1(从前往后)。默认是1。
进阶:查找“重庆大足店在2024-12-5销售的所有大衣的款式明细”
=FILTER(C:F,(A:A=K2)*(G:G=K3)*(D:D=K4))
XLOOKUP 和 FILTER 函数的区别:
FILTER 负责“找到所有符合条件的”,XLOOKUP 负责“找到我要的那个”。
FILTER: 把销售部的人都给我列出来。
XLOOKUP: 帮我找一下工号是‘A001’的那个人。
实际应用场景
XLOOKUP这个公式技巧适用于多种工作场景:
销售分析:查找某客户最后一次购买的产品信息
库存管理:查找某商品最后一次入库的记录
人事管理:查找员工最后一次调薪的详细信息
客户服务:查找客户最后一次咨询的处理情况
XLOOKUP函数基本语法和常用场景:
那些年,被VLOOKUP折磨的时光,是时候用XLOOKUP翻盘了!!
提醒:
如果你的Excel版本没有XLOOKUP函数(限定OFFICE365/2021+ 和 WPS),可以考虑使用INDEX+MATCH组合公式,但会复杂很多
当数据量很大时,建议将整列引用改为具体范围,如A2:A1000,提高计算效率
可以结合条件格式,对查找到的结果进行高亮显示,让数据更加直观