VLOOKUP功成身退!XLOOKUP将取而代之

什么是 XLOOKUP 函数?
IT之家获悉,它是一个结合众多函数优势而生的高效「查询函数」,拥有更优秀的垂直、水平查找能力。它的语法结构如下图所示,共有六个参数,前三项我们常用于一般基础查找,后三项则可在特定场景下使用。

一般基础查找

假设我们拿到一张员工信息表,想要知道员工编号为 A005 的真名是什么。

那你只需在表格内输入“=XLOOKUP”,填入对应的内容:查找值是 A005 所在“H3”单元格,查找数组则是 A005 所在的编号列“B3:B12”,而返回数组就是姓名列“D3:D12”。

最后按下「Enter」键,就能得出结果 A005 员工的真名叫:凯文。

公式:=XLOOKUP (H3,B3:B12,D3:D12)

反向查找

还是用前面的例子,假设我们想要知道员工达叔的部门。

按照公式进行操作:我们依次输入:

1)查找值:达叔所在的单元格“H3”;

2)查找数组:姓名列“D3:D12”

3)返回数组:部门列“C3:C12”,即可得出结果「策划部」

公式:=XLOOKUP (H3,D3:D12,C3:C12)

从例子上看,我们的查找数组“姓名”列在返回数组“部门”列的右边。也就是说 XLOOKUP 函数完成了 VLOOKUP 函数不能做到的反向查找。

多列查找

通过 XLOOKUP 函数,我们还可以轻松完成多个结果的查找。

比如当知道员工编号,我们想一次性知道他的部门、姓名、性别等信息时:

先选中所有输入结果的区域,输入公式。注意!返回数组须直接框选所有区域,最后按下 「Ctrl+Shift+Enter」 即可得出结果。

公式:=XLOOKUP (H3,B3:B12,C3:F12)

多条件查找

当数据信息量变多,单个条件无法满足查询需求时,我们可以进行「多条件查找」。

假设已知编号 A005 的员工真名叫凯文,想查找他在什么部门。

那公式的第 1、2 个参数就可以用“&”符号联结多个值和范围,即:编号 A005 单元格 & 姓名凯文单元格、姓名区域 & 编号区域。

公式:=XLOOKUP (H3&I3,B3:B12&D3:D12,C3:C12)

搜索模式

接着,再来看看 XLOOKUP 函数的搜索模式,它有 4 个参数:

1:表示从上往下查找

-1:表示从下往上查找

2:表示升序排序的二进制文件搜索

-2:表示降序排序的二进制文件搜索

拿实际例子试试看:比如现在有一份员工出门的打卡记录(顺序是从早到晚),如果想知道员工凯文最后一次出门时间,该怎么做?

只须框选查找值、查找数值、返回数值后,加个-1 的参数,就能快速从下至上查找得出结果了。

公式:=XLOOKUP (E3,C3:C12,B3:B12,,,-1)

匹配模式

XLOOKUP 函数还有一大特点是:它可以设置匹配模式,同样也是 4 个参数:

0:表示精确匹配,若未找到所查找内容返回#N/A

2:表示可使用通配符匹配

-1:表示精确匹配,若未找到所查找内容返回较小项

1:表示精确匹配,若未找到所查找内容返回较大项

举个例子:比如,我们需要根据下图右侧表格中的规则,给每个员工进行绩效评价,评价有 4 个,不同分数段对应不同评价。

那么,我们需要框选绩效评价区域,填写 XLOOKUP 函数,查找值:员工的绩效,查找数组:表格右侧 4 个绩效分数,返回数组:4 个评价,未找到值不用写,可空或 0。

因为未达到指定绩效分数,就会自动匹配下一个「较小」评价,故匹配模式选择 -1。

公式:=XLOOKUP (F3:F12,J3:J6,L3:L6,0,-1)

未找到值时返回指定内容

查询一个不存在的值,表格通常会返回一个错误乱码,让人迷惑。此时可以在 XLOOKUP 函数添加一个语法,叫 [未找到值],它的作用是在我们查找不存在的值时,能够返回指定内容。

比如,我想查找王大野,但此人不存在,那我可以在 [未找到值] 语法处填上“查无此人”的内容(内容需要在英文双引号内)。

公式:=XLOOKUP (H3,D3:D12,C3:C12,”查无此人”)

这样一来,输入姓名正确时,单元格会显示正常查找到的结果;如果未找到,XLOOKUP 函数就会弹出设定好的信息。

转自:https://www.ithome.com/0/583/132.htm