在Excel中查找数据,过去我们习惯用VLOOKUP,但它的局限性让人头疼:只能向右查找、需要数第几列、插入列会导致公式失效……随着Excel 2021和Office 365的普及,微软推出了XLOOKUP,一个更现代、更灵活、更易用的查找函数,正在逐步取代VLOOKUP的地位。
XLOOKUP 是Excel中的新一代查找函数,它可以在任何方向(左、右、上、下)查找数据,并返回对应的值。它集成了VLOOKUP、HLOOKUP、INDEX+MATCH等多种查找方式的优点,语法简洁,功能强大。
核心优势:
默认精确匹配:无需再输入FALSE或0
支持向左查找:不再受“查找列必须在第一列”的限制
返回多列数据:一次公式可以返回整行或多列信息
灵活处理未找到值:自定义错误提示,避免#N/A
支持垂直和水平查找:无需区分VLOOKUP和HLOOKUP
支持通配符和近似匹配:功能更全面
=XLOOKUP(查找值, 查找数组, 返回数组, [未找到时], [匹配模式], [搜索模式])
参数详解:
| 查找值 | ||
| 查找数组 | ||
| 返回数组 | ||
| 未找到时 | ||
| 匹配模式 | ||
| 搜索模式 |
场景:根据员工ID查找对应的姓名。
公式:
=XLOOKUP("E002", A:A, B:B)
结果:李四
解析:
在A列中查找"E002"
找到后返回同一行B列的值
无需关心查找列在左边还是右边
当查找值不存在时,XLOOKUP可以返回自定义提示,避免出现#N/A。
=XLOOKUP("E005", A:A, B:B, "未找到该员工")
如果E005不存在,显示"未找到该员工"。
VLOOKUP只能向右查找,而XLOOKUP可以轻松返回左侧列的值。
场景:根据姓名查找员工ID(查找列在右侧,返回列在左侧)。
=XLOOKUP("张三", B:B, A:A)
结果:E001
XLOOKUP可以返回多列,只需将返回数组设置为多列区域。
=XLOOKUP("E002", A:A, B:C)结果:返回李四所在行的B列和C列(姓名和部门),会自动溢出到相邻单元格。
如果只需要返回某几列,可以使用CHOOSECOLS函数组合,或直接引用多列。
XLOOKUP既可以垂直查找(列方向),也可以水平查找(行方向),无需区分VLOOKUP和HLOOKUP。
水平查找示例:
查找3月的销售额:
=XLOOKUP("3月", 第一行区域, 第二行区域)
最常用,查找完全相等的值。
当找不到精确匹配时,返回小于查找值的最大值。适用于查找等级、税率区间。
场景:根据分数评定等级。
公式(查找75分):
=XLOOKUP(75, 分数下限列, 等级列, , -1)
结果:C(因为75在60-79之间,返回60对应的等级)
返回大于查找值的最小值。适用于查找下一个区间。
支持使用*(任意多个字符)和?(单个字符)进行模糊查找。
=XLOOKUP("张*", A:A, B:B, , 2)
查找以"张"开头的第一个员工,返回其姓名。
返回第一个匹配项。
返回最后一个匹配项。适用于查找最新记录。
场景:查找某个员工最后一次的销售记录。
=XLOOKUP("张三", 员工列, 销售额列, , 0, -1)
当数据已排序时,使用二分查找可以大幅提升性能,但要求查找数组必须按升序或降序排列。通常不常用,适用于大数据量场景。
XLOOKUP本身不支持直接多条件,但可以通过拼接条件实现。
场景:根据“部门”和“姓名”查找工资。
公式:
=XLOOKUP("销售部"&"张三", A:A&B:B, C:C)
注意:在Excel中,A:A&B:B会创建一个辅助数组,将部门与姓名合并。此公式需要按Ctrl+Shift+Enter(旧版)或直接回车(新版动态数组)。
结合SEQUENCE或COLUMNS函数,可以返回匹配行的所有列。
=XLOOKUP("E002", A:A, A:D)
返回E002所在行的A到D列所有数据。
XLOOKUP返回单个匹配项,FILTER返回所有匹配项。两者可结合使用。
=FILTER(数据区域, XLOOKUP(条件, 查找列, 返回列)="某值")
可以在查找值或返回数组中使用其他函数。
=XLOOKUP(MAX(B:B), B:B, A:A)
查找最高销售额对应的员工姓名。
假设有一张税率表(起征点、税率),需要根据收入计算税率。
收入7200元的税率:
=XLOOKUP(7200, 收入下限列, 税率列, , -1)
返回3%(因为7200在5000-7999之间,匹配5000对应的税率)。
| 查找方向 | ||
| 查找列位置 | ||
| 返回列指定 | ||
| 插入列影响 | ||
| 默认匹配 | ||
| 未找到处理 | ||
| 返回多列 | ||
| 性能 | ||
| 版本要求 |
一句话总结:如果你使用的是新版Excel,XLOOKUP可以完全替代VLOOKUP,并且更简单、更可靠。
#N/A | "未找到" | |
#VALUE! | ||
#NAME? | ||
XLOOKUP是Excel查找函数的重大革新,它解决了VLOOKUP长期存在的诸多痛点,让公式更简洁、更易读、更可靠。
核心要点:
语法:=XLOOKUP(找什么, 在哪找, 返回什么, [如果找不到], [匹配方式], [搜索方式])
默认精确匹配,无需再写0
可以向左、向右、向上、向下任意查找
返回多列时自动溢出
用第4参数优雅处理未找到的情况
用匹配模式-1/1实现区间查找,用2实现通配符查找
用搜索模式-1实现从后向前查找
建议所有使用Office 365或Excel 2021的用户,尽快掌握XLOOKUP,它将极大提升你的工作效率。即使你仍在使用旧版Excel,也可以将XLOOKUP作为未来升级时的新技能储备