你好,我是刘卓。欢迎来到我的公号,excel函数解析。今天来展示下XLOOKUP的用法,它的功能实在是强大,不仅结合了之前多个函数的用法,还新增了像XMATCH的乱序匹配和倒序搜索的功能,以及可以返回引用的功能。 XLOOKUP功能展示 先来简单看下XLOOKUP的语法: XLOOKUP(lookupvalue,lookuparray,returnarray,〔ifnotfound〕,〔matchmode〕,〔searchmode〕) 有6个参数,中文形式为 XLOOKUP(查找的值,查找的区域,返回结果的区域,〔如果找不到,让它返回的值〕,〔匹配的模式〕,〔搜索的方式〕) 有关参数的详细说明,请参考帮助。今天主要来展示它的功能,不讲用法,以后再详细说用法。 1)普通查找 根据编号查找姓名,公式为XLOOKUP(E4,A3:A13,B3:B13),可以看到它的第2,3参数是分开写的,有点像LOOKUP的写法,但它又是精确匹配。2)逆向查找根据姓名查找编号,公式为XLOOKUP(E19,B18:B28,A18:A28)。由于第2,3参数是分开写的,所以可以灵活选择,自然能实现逆向查找。不像VLOOKUP那么“死板”。 3)返回多个结果 根据编号查找姓名和部门,公式为XLOOKUP(E34,A33:A43,B33:C43)。它的第3参数B33:C43是个两列的区域,从这个区域中同时返回相应的姓名和部门。当然也可以用FILTER,公式为FILTER(B33:C43,A33:A43E34)。但FILTER返回的结果不是引用,而XLOOKUP返回的结果可以是引用。 4)同时返回第一次和最后一次的结果 同时查找“生产部”第一次和最后一次的姓名,公式为XLOOKUP(E49,C48:C58,B48:B58,,,{1,1})。这里用到了它的第6参数搜索方式,顺序搜索和倒序搜索同时使用。 5)通配符匹配,同时返回第一次和最后一次的结果 查找姓名中包含“春”字的第一个和最后一个姓名,公式为XLOOKUP(E64,B63:B73,B63:B73,,2,{1,1})。第5参数使用2,表示使用通配符匹配模式。 6)用第4参数容错处理 在A列的编号中找不到编号1000,默认会返回错误值。这时可以用第4参数来处理找不到查找值的情况。公式为XLOOKUP(E79,A78:A88,B78:B88,找不到),找不到时让它返回找不到,相当于用了一个IFERROR。 7)交叉查询 使用XLOOKUP的嵌套,可以实现交叉查询。公式为XLOOKUP(C93,B95:E95,XLOOKUP(B93,A96:A102,B96:E102))。 由于XLOOKUP返回的结果是引用,也可以使用下图的公式。就是2个XLOOKUP返回的引用取交集。 8)模糊匹配 根据收入查找税率,公式为XLOOKUP(D108,B107:B112,A107:A112,0,1)。第5参数使用1,表示使用模糊匹配,匹配等于D108或比D108小一级的收入,并返回对应的税率。 9)有条件的提取不重复值 提取A商店不重复的水果种类,在F119单元格输入下面的公式,下拉填充。 XLOOKUP(1,(COUNTIF(F118:F118,B117:B128)0)(A117:A128E119),B117:B128,)