Vlookup是最常用到的查找函数,但它有很大的局限性。比如:无法反向查找、多条件查找、一对多查找等。于是,兰色用昨天介绍的lambda函数编写了一个功能强大的Dlookup函数。不但吊打Vlookup,批量查找时它比lookup、Xlookup还要强大,可以实现:
一般查找
多条件查找
反向查找
一对多查找
注:该函数只适用于最新的office365。
一、用法介绍
=Dlookup(查找内容,查找区域,返回值区域,查找模式)
语法说明:
查找内容:查找的值
查找区域:在该行/列查找
返回值的区域:查找结果所在行/列
查找模式:值为1为一对一查找,值为2为一对多查找,可以把多个结果用逗号连接起来
二、功能演示
1、普通查找
如下图所示,查找吴一几的语文成绩
=Dlookup(A11,A2:A7,C2:C7,1)
2、多条件查找
查找学号为A005张飞的语文成绩
=Dlookup(A11&B11,A2:A7&B2:B7,C2:C7,1)
注:&连接多个区域即可实现多条件查找
3、反向查找
根据姓名查找学号
=Dlookup(A11,B2:B7,A2:A7,1)
4、实现一对多。
=Dlookup(A11,B2:B7,C2:C7,2)
注:最后一个参数为2时把所有符合条件结果用逗号连接起来
三、如何自定义Dlookup函数
不用VBA,只需要用Lambda函数即可。公式 - 定义名称,打开定义名称窗口,在窗口中输入:
名称:Dlookup
引用位置中输入公式:
=LAMBDA(x,data1,data2,y,IF(y=1,INDEX(data2,MATCH(x,data1,0)),TEXTJOIN(",",TRUE,FILTER(data2,data1=x))))
兰色说:如果有时间,兰色还可以让Dlookup有更多更查找功能。由此可见Lambda函数有多强大,它不再是一个函数,而是一个在可以自定义函数的语言。
本周六将更新第23集客户收付款管理模板。想听课的同学可以提前预约了
领取专属 10元无门槛券
私享最新 技术干货