首页 > Excel专区 > Excel教程 >

Vlookup、Lookup、Xlookup全走开,Excel最牛查找公式来了!

Excel教程 2022-01-10 19:05:04

Vlookup、Lookup、Xlookup是Excel查找函数中的三剑客,好象没有它们搞不定的查找难题。但,昨天小编翻到的的一用户提问,让这三个函数都傻眼了。

下图户籍表中,C列为户编号。每户有N个成员,户编号每户唯一。(如户编号275的家庭有两个成员,户主和儿子)

问题来了:根据i列户编号,从左表中查找出该编号的所有家庭成员,而且是同时查找多个户编号。

别说多个编号同时查找,就是只查找一个户编号,Vlookup、lookup、和xlookup都很实现。那么上图演示中到底用了什么公式,这么牛X?

别急,小编要一点点揭开这个最牛查找公式的谜底。

在office365中新增了 Filter函数 ,它可以很简单的实现一对多查找:

=FILTER(B2:G39,C2:C39=I2)

FILTER函数的工作原理是:

第1个参数给定一个数据表,根据第2个参数返回的true(条件成立)或Flase(条件不成立)来确定结果为True的行。

我们把=FILTER(B2:G39,C2:C39=I2)中的C2:C39=I2拆出来放在H列,来看一下筛选的过程:

所以,学会用filter函数的关键,就是构建第二个参数的条件。

本例中需要同时查找多个户编号,条件该怎么设置呢?

这样?把一个单元格换成区域。哦,出错了!

=FILTER(B2:G39,C2:C39=I2:I3)

其实,多对多的对比可以转换为多对一。我们可以用textjoin函数(office365新增)把i列的户编号连接起来。

=TEXTJOIN(“,”,,I2:I3)

然后再进行用isnumber+find函数组合逐一对比是C列的编号是否包含在合并的户编号中。

=ISNUMBER(FIND(C2,$K$2))

当然,上图中只是为了演示计算过程,在实际设置公式时是不需要辅助列的,直接用整个C列区域对比:

=FILTER(B2:G39,ISNUMBER(FIND(C2:C39,TEXTJOIN(“,”,,I2:I5))))

小编说:今天用了两个office365新增函数解决多对多查找的难题。可能有人问不用新函数可以解决吗?可以,但公式无比复杂,不是一般用户能掌握的。但大家可以试试多用辅助列,也许可以解决这个问题。


标签: Excel图表制作Excel常用函数excel数据透视表excel教程

office教程网 Copyright © 2016-2020 https://www.office9.cn. Some Rights Reserved.