夜雨聆风学习资料网

ARTICLE · 1273721

Excel办公技巧之XLOOKUP:

Excel办公技巧之XLOOKUP:

先说一个90%的人都踩过的坑,你用VLOOKUP做过查找吗?

是不是每次写完公式,心里都要默念一遍,第四参数必须写FALSE,不然就给你返回一个莫名其妙的近似值

查找值必须在前边列,不然就报错

返回列数要数清楚,列插了一列,公式直接崩

更崩溃的是你如果想从右往左查。

比如:A列是门店名称,B列是门店编码。你拿着编码想反查名称。

VLOOKUP:做不到,它只能从左往右查。

你只能用INDEX+MATCH组合套,写半天还容易错。

今天给你介绍XLOOKUP,VLOOKUP的终极替代,上面说的所有问题,它一招全解决。

一、XLOOKUP是什么?

一句话:新一代的查找函数,VLOOKUP能做的它都能做,VLOOKUP做不到的它也能做。

语法比VLOOKUP还简单:

XLOOKUP(找什么,在哪一列找,找到后返回哪一列,[找不到时返回什么])

对比一下VLOOKUP:

VLOOKUP(找什么,从哪开始找,返回第几列,匹配方式)

看出区别了吗?

XLOOKUP把"查找列"和"返回列"分开写了,不用再数第几列

第四参数不是"匹配方式",而是"找不到时返回什么"

默认就是精确匹配不用每次都写FALSE了

就这两点改进,已经把VLOOKUP的80%痛点解决了。

二、基础用法:和VLOOKUP对比着看

举个例子:

A列是门店编码,B列是门店名称,C列是销售额。

你拿着门店编码,想查对应的门店名称。

VLOOKUP的写法:

VLOOKUP(F1,A:C,2,FALSE)

四个参数,还得写FALSE,还得数"返回第2列"。

XLOOKUP的写法:

=XLOOKUP(F1,A:A,B:B)

第一个参数:找什么(F1里的编码)

第二个参数:在哪一列找(A列)

第三个参数:返回哪一列(B列)

没有第四参数也没关系,默认精确匹配。

是不是感觉清爽多了

三、核心场景1:反向查找,VLOOKUP永远的痛,现在回到开头那个崩溃场景:

A列是门店名称,B列是门店编码。

你拿着编码(B列),想反查名称(A列)。

VLOOKUP:做不到。查找值必须在最左边那一列。

你只能写:

=INDEX(A:A,MATCH(F1,B:B,0))

INDEX+MATCH组合套,新手看了直接劝退。

用XLOOKUP吧

=XLOOKUP(F1,B:B,A:A)

查找列是B列(编码),返回列是A列(名称)。从右往左随便查。

XLOOKUP根本不在乎谁在左谁在右,你告诉它在哪列找、返回哪列就行,方向无所谓。

这是XLOOKUP对VLOOKUP的降维打击。

四、核心场景2:找不到时,返回你想要的

VLOOKUP找不到的时候,返回什么?#N/A。

满屏的#N/A好不好看?显然不好看。

所以你每次都得套一层IFERROR:

=IFERROR(VLOOKUP(F1,A:C,2,FALSE),"查无此店")

写一次还行,写100个公式呢?每次都要加IFERROR,烦不烦?

XLOOKUP?

第四参数直接写:

=XLOOKUP(F1,B:B,A:A,"查无此店")

找不到的时候,直接显示"查无此店"。

不用套IFERROR,不用包一层。一个函数搞定。

五、进阶:按列名查找,再也不用数列了

VLOOKUP最容易崩的地方是什么?数列数。

比如你的表有A到Z共26列,你想返回第15列。

=VLOOKUP(F1,A:Z,15,FALSE)

问题来了:如果有人在中间插了一列,你的"第15列"就变了公式直接返回错误的数据,还不报错。

XLOOKUP怎么写?=XLOOKUP(F1,A:A,B:B)

查找列是A:A,返回列是B:B。按列引用,不是按列号。

插一列没关系,A列还是A列,B列还是B列,公式该返回什么还返回什么。

永远不会因为插列删列而崩。

这就是为什么说XLOOKUP是"新一代"它从设计上就解决了VLOOKUP的结构性缺陷。

六、常见坑

1.版本要求:老版本没有XLOOKUP

XLOOKUP是Excel 365/Excel 2021及以上才有的函数。

Excel2019及更早的版本?输入=XLOOKUP同样会提示"未知函数"。

老版本怎么办?继续用VLOOKUP+IFERROR吧,或者升级到365。

2.默认精确匹配,别再写第四参数了

很多人用惯了VLOOKUP,写XLOOKUP的时候还习惯性加个FALSE。

XLOOKUP不需要,默认就是精确匹配。

你要是真的想近似匹配,才需要加第五参数:

=XLOOKUP(F1,A:A,B:B,"查无此店",-1)

第五参数写-1是近似匹配,写1是精确匹配(默认)。

3.查找列和返回列,大小要一致

XLOOKUP要求:查找列和返回列的行数必须一样多。

比如你查找列写A1:A100,返回列写B1:B50它会报错。

养成习惯:整列引用(A:A、B:B),或者范围对齐(A2:A100、B2:B100)。

七、四种查找方法对比

|方法|反向查找|找不到时自定义|插列不崩|公式简洁度|

结合前三篇形成了:求和、筛选、合并、查找,四大天王凑齐了

XLOOKUP这个函数,不是VLOOKUP的升级版,它是重新设计的查找函数。

VLOOKUP是1985年设计的,那时候的电脑屏幕小、列数少,所以设计成了从左往右查的模式。

三十多年过去了,Excel早就不是当年的样子了。XLOOKUP就是来收拾这个烂摊子的。

如果你还在用VLOOKUP,真的建议试一试XLOOKUP。

相关学习资料