多列多行查找,我们用的最多就是Vlookup+match组合,Match查找位置作为Vlookup的第3个参数。但这有一个前题,查找值必须在第一列。否则这个组合也搞不定了。如下图所示,在右表中要求根据姓名查找工资、工号、部门。
小编以前也分享过用filter、Xlookup、match+index等函数解决这个问题,都比较麻烦。
给同学们介绍一个新函数Plookup,它可以只需一个公式轻松搞定此类查找难题。
一、功能介绍
1、只需一个公式就可以完成整个表多行多列的查找
2、行、列自动扩展查找。行或列增长新内容后,公式也会自动扩展。
3、你不需要考虑查找的值在原表第几列(如本列的姓名),只需要最后一个参选查找的标题即可。
二、如何添加
公式-定义名称,在名称中输入plookup,在引用位置中输入以下公式:(需要WPS或OFFICE365版本支持)
=LAMBDA(值区域,查找区域,查找标题,原表标题,查找列标题,FILTER(CHOOSECOLS(查找区域,MATCH(TOCOL(查找标题,1),原表标题,0)),COUNTIF(值区域,CHOOSECOLS(查找区域,MATCH(查找列标题,原表标题,0)))>0))
三、如何使用
语法:
=Plookup(值区域,查找区域,查找标题,原表标题,查找列标题)
值区域: 要查找的多行值
查找区域:原表区域不包括标题
查找标题:查找返回列的标题区域
原表标题:原表的标题行区域
查找列标题:查找的列标题,如下图中的姓名
注:选取查找值或列标题时要多选一些行和列,这样才可以自动扩展。
小编说:WPS和EXCEL新版的LAMBDA函数可以实现函数自定义功能,把很多复杂的公式封装成简单易用的函数。