在没有xlookup函数之前,大家基本用的都是vlookup居多,vlookup强大,但是对于新手来说还是相对复杂,并且vlookup有它的不方便之处,比如,一般的查找只能是顺向(从左往右查找),逆向查找,公式中经常会看包含{0,1}这样的数组公式,再者,针对查找结果不存在的,会显示#N/A,如果想显示空白或者其他字符,还需要加if函数来判断。
而xlookup函数则不存在上述的问题,下面我们来看看xlookup函数的功能。
xlookup函数表达式:
=XLOOKUP(lookup_value,lookup_array,return_array,[if_not_found],[match_mode],[search_mode])
各个参数解释如下:
应用举例:
一、普通查找:
根据编码,查找对应的名称:=XLOOKUP(A12,A2:A9,B2:B9,"",0,1)
二、批量查找:
2.1、根据给定的几个编码,查找对应的名称:=XLOOKUP(A12:A14,A2:A9,B2:B9,"",0,1)
如下图,查找的是005、003、008这三个编码对应的名称,只需要在第一个单元格(对应下图的B12)输入公式即可。
2.2、根据给定的编码,查找对应的其他内容:=XLOOKUP(A12,A2:A9,B2:C9,"",0,1)
如下图,根据编码,查找对应的名称与架构,只需要在第一个查找的单元格(对应下图的B12)输入公式即可。
三、查找不到返回指定的内容:=XLOOKUP(A12,A2:A9,B2:B9,"找不到")
上面两个例子中已经用到,xlookup的第四个参数:if_not_found,为这个参数输入相应的文本,如果查找不到,则显示对应的文本,直接输入"" 则显示空。
四、逆向查找:
根据给定的名称,查找对应的编码:=XLOOKUP(A12,B2:B9,A2:A9,"",0,1)
五、多列条件查找:
根据编码和名称查找架构:=XLOOKUP(A12&B12,A2:A9&B2:B9,C2:C9,"",0,1)
参数1和参数2可以使用&来实现多列联合查找。
六、从后向前查找
如下图,根据给定的名称,查找对应的最新版本:=XLOOKUP(A14,A2:A11,B2:B11,"",0,-1)
注:前提要求是B列是按照历史发版顺序排列的。
以上只是列举了常见的用法,实际应用中还有很多用法,欢迎百度自行学习。
xlookup函数在最新的Office365或者是Office2021中可以使用,早期的Office版本不支持。