xlookup 替代 vlookup,最核心的变化根本不是换了个函数名,而是查找列和返回列可以分开指定。以前用 vlookup 时,不少人得先框住一整块区域,再数“要返回第几列”,表格一插列、调列位置,公式很容易跟着出错。xlookup 的写法特别直观:要找什么、去哪里找、把哪里的结果返回,三个位置分别写清楚,后续维护起来省事很多。
第一步:先看清 VLOOKUP 容易卡壳的地方
VLOOKUP 的基本逻辑是从选定区域的第一列向右查找,再按照列序号返回结果。这个规则在简单表格里够用,但一遇到返回列位置变化、需要向左查找、要一次带出多列数据的情况,就会变得特别别扭。XLOOKUP 把查找区域和返回区域拆开后,不需要再数列号,公式也不怕表格结构调整。

第二步:把查找值、查找区域、返回区域分开写
XLOOKUP 常用公式先记这一种就行:=XLOOKUP(查找值, 查找区域, 返回区域, 找不到时返回)。比如用姓名查成绩,查找值就是姓名所在单元格,查找区域选整个姓名列,返回区域选整个成绩列。这么写的好处是逻辑特别清楚,检查公式时一眼就能看出它在哪一列找、从哪一列取结果。
担心查不到数据出乱码的话,把第四个参数填上就行,例如 =XLOOKUP(E7,B7:B11,C7:C11,"未找到")。这样数据源里没有对应姓名时,单元格会直接显示“未找到”,不会蹦出一串错误值,后续做表格汇总也更干净。
第三步:一次返回多列结果
VLOOKUP 通常一次只能返回一列,想取数学、语文、英语三列成绩,要么写多条公式要么横向复制拉半天。XLOOKUP 的返回区域可以直接选多列,比如把返回区域写成 C7:E11,Excel 会把对应行里的多列结果一起带出来。做人员信息表、成绩表、库存表的时候,这个用法非常省时间。

第四步:需要向左查找时不用再调换列顺序
VLOOKUP 默认要求查找列在返回列左侧,所以“用右边的姓名返回左边存的数据”这类需求,经常要先调整数据结构,或者改用 INDEX 和 MATCH 组合。XLOOKUP 没有这个限制,只要查找区域和返回区域行对应得上,就可以从右向左返回结果。比如姓名在右侧、编号或数值在左侧,公式仍然能正常运行。

第五步:用查找模式解决重复值取最后一条
在采购记录、销售流水、考勤明细里,同一个名称可能出现多次。如果想取最新一次的记录,VLOOKUP 默认只会拿到靠前的匹配项,还要额外搭配其他函数处理。XLOOKUP 可以通过最后一个参数设置查找方向,常见写法是把搜索模式设为 -1,让公式从下往上找,优先返回最后出现的那条记录。

第六步:判断什么时候该换成 XLOOKUP
如果文件主要在 Microsoft 365、Excel 2021 或更新版本里使用,日常做查找匹配可以优先用 XLOOKUP。它能替代绝大多数需要精确匹配的 VLOOKUP 场景,尤其是需要向左查找、多列返回、查不到时自定义提示、重复值取最后一条的表格。但要是文件还要发给用旧版 Excel 的同事,得先确认对方版本是否支持 XLOOKUP;不支持的话,还是得保留 VLOOKUP 或 INDEX+MATCH 这类兼容写法。
实际换公式的时候不用一次把所有旧公式全改掉,可以先从容易出错、经常插列调结构、经常跨表查找的公式开始替换。把公式写成“查找值、查找区域、返回区域”的结构后,后续维护表格会清楚很多,别人拿到表也更容易看懂这个公式到底在查什么。











