这是一年多以前被否掉的稿子,当时的文笔有点稚嫩哈哈,后面开始负责审稿现在一看,怎么可以写得这么垃圾。。今天趁着自己突然心血来潮,打开了一年没打开过的公众号,修改一下整理成文,因为Xlookup函数更新了一个参数了嘛,所以前面好多内容得删并重新修改,既然打开了,那就干吧。
vlookup 函数一直是我们学习函数的必经之路,掐指一算,它今年已经 35 岁了!
35 岁的它正面临着“中年危机”——即将被新人 xlookup 取代。
没错,就在今(去)年八月底,微软新推出了一个超级函数——xlookup。
我做了一张图,帮大家先简单了解一下 xlookup 的神奇之处~
也就是说——
我们之前学的 vlookup 函数各种用法,到后面可能都不用学了(比如逆向查找if(1,0),还有其他各种各样奇葩的做法……);
我们可以少学一些很难的数组公式经典用法;
跟着 Office 一起出生的 vlookup 可能面临退休的风险!
目前该函数只有部分 Office 365 预览版用户才能使用(没错就是我)。
不过很快,相信我们大家都能用上 xlookup 这个神仙函数!
小贴士:
xlookup函数与filter函数,lookup函数有一个缺陷,就是查找列/行,与返回列/行,必须一致大小,但是,vlookup和match函数由于没有这个参数限制,所以可以用在两表之间的对比上,从侧面也可以反映出vlookup和match还不会过时。
一、 xlookup的函数解析
下面我们就来说说XLOOKUP函数的语法规则~
打开公式对话框,输入=xlookup()
对应的下面就有一个参数语法:
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found],[match_mode], [search_mode])
= XLOOKUP (查找值,查找值的列,返回值的列,[如果找不到返回的值],[匹配方式],[查询方式])
❶ 第一参数:查找值
❷ 第二参数:查找值的列
❸ 第三参数:返回值的列
❹ 第四参数:如果 找不到返回的值
❺ 第五参数:匹配方式
❻ 第六参数:查询方式
下面是官方网站的对应解析。
其中“指定匹配类型”和“指定要使用的搜索模式”均为可选参数。
不填参数的话,“指定匹配类型”默认为完全匹配(即精确匹配);
“指定要使用的搜索模式”默认从第一个项目开始搜索;
“指定匹配类型”中的通配符匹配,一般用在模糊查找中,通配符 ?* ~ 所指代的意思如下表所示:
看到这里,很多同学可能会缓缓打出一个“?”……
纳尼??究竟在说啥??这是人话嘛?
不要方,机智的我又做了个图,方便大家来理解~
是不是还感觉一头雾水?
不怕,下面借助几个实际案例,帮大家进一步了解 xlookup 函数的强大之处!
二、 xlookup 纵向查找
01 单条件匹配案例:查找秋叶 Excel 的次数
❶ vlookup
常规的做法是利用 vlookup 查找:
输入公式:
=VLOOKUP(D2,A1:B5,2,FALSE)
PS:快速复习一下 vlookup 函数。
基本语法:
=VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
❷ xlookup
通过前面的讲解,我们可以很快地写出公式:
=XLOOKUP(D2,A1:A5,B1:B5)
是不是比 vlookup 函数更简单?
02 多条件匹配:查找秋叶 Excel 的部门、次数
❶ vlookup
输入公式:
=VLOOKUP(E2&F2,IF({1,0},A1:A6&B1:B6,C1:C6),2,FALSE)
PS:这里 vlookup 利用 if({1,0} 来达到多条件查询的目的,本身是个数组公式,需要按住【Ctrl+Shift+Enter】进行数组运算;
Office 365 预览版用户直接按【Enter】就可以~
❷ xlookup
输入公式:
=XLOOKUP(E2&F2,A1:A6&B1:B6,C1:C6)
跟上面的公式原理一样,找啥,找的区域,返回的区域,其中多条件可以直接使用连字符&。
03 逆向匹配:查找秋叶 Excel 的编号
❶ vlookup
输入公式:
=VLOOKUP(E2,IF({1,0},B1:B5,A1:A5),2,FALSE)
vlookup 函数第二参数查找的区域,第一行必须为第一参数所在的区域,存在一定局限性,利用 if({1,0} 的目的,是将列与列之间的位置相互转换。
❸ index 和 match
输入公式:
=INDEX(A1:A5,MATCH(E2,B1:B5,0))
利用 match 函数匹配位置,再用 index 函数返回对应的区域。
❸ xlookup
输入公式:
=XLOOKUP(E2,B1:B5,A1:A5)
vlookup 第二参数有找的必须在查找的区域第一行的限制,而 xlookup 函数已经完全没用这个限制;
所以逆向匹配跟前面的原理一样,还是找啥,找的区域,返回的区域组成。
讲完了纵向查找,相信你已经发现 xlookup 相较于 vlookup、index 和 match 函数的强大之处啦!
下面我们再来见识见识 xlookup 在横向查找中如何大显身手~
三、 xlookup 横向查找
这里我们需要单条件匹配案例:查找秋叶 Excel 的次数。
❶ hlookup
PS:vlookup 是纵向查找函数,hlookup 则是横向查找。
输入公式:
=HLOOKUP(B4,A1:E2,2,FALSE)
❷ xlookup
输入公式:
=XLOOKUP(B4,A1:E1,A2:E2)
四、xlookup 交叉查找
这里我们需要:查找秋叶 Excel 运营部的次数。
❶ match 和 vlookup
输入公式:
=VLOOKUP(B9,A1:E6,MATCH(A9,A1:E1,0),FALSE)
match 函数主要是为 vlookup 第三参数获取位置。
❷ xlookup
输入公式:
=XLOOKUP(B9,A2:A6,XLOOKUP(A9,B1:E1,B2:E6))
通过两次 xlookup 即可获取交叉值的内容。
公式“XLOOKUP(A9,B1:E1,B2:E6) ”内部嵌套的目的在于:
先在行方向上找出秋叶 Excel 对应的数组区域,这个数组区域接下来用作返回运营部对应的区域(第三参数)。
五、xlookup 就近匹配
这里我们需要就近匹配,查找分数对应的等级。
❶ vlookup
输入公式:
=VLOOKUP(B9,A1:B5,2,TRUE)
❷ xlookup
输入公式:
=XLOOKUP(B9,A1:A5,B1:B5,,-1)
其中第四参数为可选参数,指定匹配方式,由于需要匹配到下一个较小的值,所以第四参数输入-1。
六、xlookup 模糊匹配
这里需要模糊匹配,找出包含秋叶的次数。
❶ vlookup
输入公式:
=VLOOKUP(D2&"*",A1:B5,2,FALSE)
❷ xlookup
输入公式:
=XLOOKUP(D2&"*",A1:A5,B1:B5,,2)
其中第四个参数为可选参数:指定匹配的方式,由于模糊匹配需要使用通配符匹配,所以第四参数为 2。
最后小节一下,上文我们介绍了:
xlookup 函数的基本语法;
xlookup 函数与 vlookup/hlookup 函数的实际用法差异。
一共举了 5 个例子:
纵向查找、横向查找、交叉查找、就近匹配、模糊匹配。
通过这些实例的对比的讲解,相信机智的同学们对 xlookup 函数有了进一步的理解!
有关 xlookup 函数的应用其实远不止这些~
函数就像工具一样,只有先理解,知道它是什么、能干嘛、有什么功能,才能灵活应用~这也是能否学好函数的首要条件。
关于XLOOKUP函数的优点,我之前还写过一篇,感兴趣的可以戳下问:
XLOOKUP和VLOOKUP函数的比拼
https://mp.weixin.qq.com/s/_IX18jro1I7p7iPj4ittkw