xlookup可替代vlookup,支持双向、多条件、模糊及上下左右查找,无需辅助列或嵌套函数。基础语法=xlookup(查找值,查找区域,返回区域,[未找到提示],[匹配模式]),行数须一致,通配符需设第五参数为2。

要在Excel中快速定位数据、避免VLOOKUP常见的列序限制和错误中断,又不想嵌套复杂函数或手动建辅助列,就必须掌握XLOOKUP的原生能力。它不依赖列号、支持双向查找、能自定义未找到提示,且公式结构一眼可读。
基础精确匹配:三步完成查找
第一步:在目标单元格(如F2)输入你要查的值,例如“销售部”。
第二步:在结果单元格输入公式:=XLOOKUP(F2,B2:B100,A2:A100)。
第三步:按Enter——函数会在B列找“销售部”,并返回A列同一行的内容。
这一步操作起来很简单,直接把查找值、查找区域、返回区域按顺序填进去就行。注意:【查找区域和返回区域必须行数一致,否则返回#N/A】。VLOOKUP要求查找列必须在返回列左侧,而XLOOKUP完全不受此约束。
屏蔽错误值:让报表不再出现#N/A
方法一:在基础公式末尾加第四参数,例如:=XLOOKUP(F2,B2:B100,A2:A100,"未分配部门")。
方法二:若想统一用空文本代替错误,写成""即可,如=XLOOKUP(F2,B2:B100,A2:A100,"")。
VLOOKUP必须套IFERROR才能实现同样效果,XLOOKUP直接内置该能力。第四参数是可选的,但一旦省略且查无结果,就会报错中断后续计算。
反向查找:从右往左取数不用辅助列
① 确认你要查的是右侧列的值,比如用C列“工号”查A列“姓名”。
② 输入公式:=XLOOKUP(F2,C2:C100,A2:A100)。
③ 按Enter确认,结果立即返回对应姓名。
传统VLOOKUP遇到这种场景只能靠CHOOSE或INDEX+MATCH组合,极易出错。XLOOKUP天然支持任意方向映射,只要两个区域行数对齐,左右互换毫无压力。
本文档主要介绍如何通过python对office excel进行读写操作,使用了xlrd、xlwt和xlutils模块。另外还演示了如何通过Tcl tcom包对excel操作。感兴趣的朋友可以过来看看
多条件精准匹配:一次锁定两个筛选项
方法1(推荐):用&符号拼接条件与查找区域,公式为:=XLOOKUP(G2&H2,D2:D100&E2:E100,F2:F100)。
方法2:若条件较多,建议将拼接动作提前到辅助列,再用基础XLOOKUP调用。
这个写法要求G2&H2的结果必须严格等于D2&E2等单元格的拼接结果,大小写和空格都需一致。如果原始数据有空格干扰,先用TRIM处理再拼接。
通配符模糊查找:按关键词抓取姓名或产品名
在查找值中加入*或?,例如F2输入“王*”,公式写为:=XLOOKUP(F2,A2:A100,B2:B100,,2)。
第五参数必须显式写为2,否则通配符无效,会当作普通字符查找失败。
星号*代表任意数量字符,问号?代表单个字符。想查“张小_”就写“张小?”;想查“华为手机”开头的,就写“华为手机*”。【第五参数2不可省略,这是启用通配符的硬性开关】。
向上/横向查找:表格横着排、数据在上面也能查
横向查销售额:假设月份在B1:Z1,对应金额在B2:Z2,要根据E1单元格的月份查金额,公式为:=XLOOKUP(E1,B1:Z1,B2:Z2)。
向上查标题:若第1行是产品名,第2行是库存数,想根据库存数反推产品名,公式为:=XLOOKUP(E2,B2:Z2,B1:Z1)。
这两个方向VLOOKUP和HLOOKUP各自只能覆盖一种,而XLOOKUP用同一语法无缝切换。关键在于:查找区域和返回区域必须维度一致——都是行区域,或都是列区域。










