SQL专栏
SQL数据库基础知识汇总
SQL数据库高级知识汇总
昨天被朋友圈的一则推文刷屏了,没错就是伴随我们34年的VLOOKUP函数即将退役,未来取而代之的是新的搜索函数XLOOKUP。
了解VLOOKUP的人想必都知道,第一次使用起来非常困难。如果你会VLOOKUP函数,周围的人一定会称你为大神。我们先来了解一下VLOOKUP的用法。
VLOOKUP函数语法
该函数的语法规则如下:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
VLOOKUP函数示例
我们使用一个简单的例子,告诉大家他的使用原理。
示例解读
VLOOKUP(C2,A:B,1,FALSE)
C2:是我们要查找的值,我们要查找这个值是否存在查找的区域中。
A:B:是查找的区域,C列中的值通过这个区域来进行匹配。
1:是查找区域中的第一列,就是A列,如果改成2那就是B列
FALSE:是精确匹配的意思,也可以使用0来表示。
此外VLOOKUP还可以跨Sheet进行查找,甚至跨Excel文件查找。如下图:
跨Sheet匹配
跨Excel文件匹配
VLOOKUP函数的局限性
虽然VLOOKUP在查找数据是非常好用的一个函数,但是也有一些局限性,比如:
1、默认为“近似”匹配:
大多数情况下用户想要完全匹配,但这不是VLOOKUP的默认行为。
要执行完全匹配,您需要将第4个参数设置为FALSE。
如果你忘了(这很容易),你可能会得到错误的答案。
2、不支持列插入/删除:
VLOOKUP的第3个参数是您要返回的列号。
因为这是一个数字,如果插入或删除列,则需要递增或递减VLOOKUP中的列号。
3、无法向左看:
VLOOKUP始终搜索第1列,然后返回右侧的列。
无法从列向左返回值,强制用户重新排列其数据。
4、无法从后面搜索:
如果要查找最后一次出现,则需要反转数据的顺序。
5、无法搜索下一个较大的项目:
执行“近似”匹配时,只有正确排序后才能返回下一个较小的项目。
6、引用更多不必要的单元格:
VLOOKUP第二个参数table_array需要从查阅列延伸到结果列。
因此,它通常会引用比真正依赖的更多的单元格。
这可能会导致不必要的计算,从而降低电子表格的性能。
XLOOKUP函数上线
8月28日,微软发布了重要更新,XLOOKUP函数上线,其主要目的就是在未来取代有局限性的VLOOKUP函数。
XLOOKUP相关具体信息见如下链接:
XLOOKUP函数语法
XLOOKUP函数示例
示例1
使用一个简单的 XLOOKUP 查找国家/地区名称, 并返回其电话国家/地区代码。它仅包括 lookup_value (单元格 F2)、lookup_array (range B2: B11) 和 return_array (range D2: D11) 参数。它不包含 match_mode 参数, 因为它默认为精确匹配。
示例1
注意: XLOOKUP 与 VLOOKUP 的不同之处是它使用单独的查找和返回数组, 其中 VLOOKUP 使用一个表数组, 后跟一个列索引号。在此情况下, 等效的 VLOOKUP 公式为: = VLOOKUP (F2, B2: D11, 3, FALSE)
示例 2
以下示例在列 C 中查找在单元格 E2 中输入的个人收入, 并在列 B 中查找匹配的税率费率。它使用 match_mode 参数设置为 1, 这意味着该函数将查找精确匹配, 如果找不到它, 它将返回下一个较大的项。
示例2
注意: 与 VLOOKUP 不同, lookup_array 列位于 return_array 列的右侧, 而 VLOOKUP 只能从左到右查看。
示例3
接下来, 我们将使用嵌套的 XLOOKUP 函数同时执行垂直和水平匹配。在这种情况下, 它将首先在列 B 中查找毛利润, 然后在表的首行中查找 "第 1季度" (区域 C5: F5), 并返回二者相交处的值。这类似于结合使用INDEX和MATCH函数。
示例3
单元格 D3 中的公式: F3 为: = XLOOKUP (D2, $B6: $B17, XLOOKUP ($C 3, $C5: $G5, $C6: $G17))。
示例4
使用SUM 函数和两个 XLOOKUP 函数嵌套在一起, 对两个区域之间的所有值求和。在这种情况下, 我们希望对葡萄、香蕉和梨的值进行求和, 这些值位于两个值之间。
示例4
单元格 E3 中的公式为: = SUM (XLOOKUP (C3, C6: C10, F6: F10): XLOOKUP (D3,C6: C10,F6: F10))
它如何工作?XLOOKUP 返回一个区域, 因此当它计算时, 该公式最后看起来如下所示: = SUM ($F $7: $F $9)。你可以通过选择带有类似 XLOOKUP 公式的单元格来查看它的工作方式, 然后转到公式>公式审核>计算公式, 然后按 "求值" 按钮逐句通过计算。
从以上示例我们可以看到,针对VLOOKUP函数的一些局限性,XLOOKUP都做了优化,使搜索匹配数据使更加方便好用,可能在不久的将来XLOOKUP就会成为职场人士必会的一个Excel函数了。
结语
用惯了VLOOKUP函数的同学也不用着急,XLOOKUP 当前只是一个 beta 功能, 并且目前仅适用于Office 预览体验成员的一部分。还有待持续优化,等真正普及到所以的Excel版本估计还得等几年。但是不妨碍大家先了解XLOOKUP的使用,毕竟谁先掌握了某种工具,那么他的价值可想而知了。
觉得不错,请转发分享给更多人,让有需要的人也看到。