手机版

所有的Vlookup lookup和Xlookup都消失了 Excel是找公式最好的方法!

时间:2021-09-27 来源:互联网 编辑:宝哥软件园 浏览:

Vlookup、lookup、Xlookup是Excel搜索功能中的三剑客,似乎没有他们处理不了的搜索问题。然而,边肖昨天翻出来的一个用户问题让三个功能都傻眼了。

在下面的户籍表中,C栏是户口数。每个家庭有n个成员,每个家庭的户数是唯一的。(例如,275号住户有两个成员,户主和一个儿子)。

问题是这样的:根据第一栏的账号,从左表找出这个号码的所有家庭成员,同时找到多个账号。

不要说同时搜索多个号码,就是只搜索一个账号。Vlookup、lookup和xlookup都实现了。那么上面演示用的是什么公式,这么牛逼?

别担心,一点一点,边肖想要解开这个最棒的搜索公式的秘密。

office365增加了过滤功能,可以轻松实现一对多搜索:

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

过滤器功能的工作原理是:

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

让我们取C2:C39=I2 in=filter(b 2:g 39,c 2: c 39=I2)放在h列,看看筛选过程:

因此,学习使用滤波器函数的关键是构造第二个参数的条件。

在这种情况下,我们需要同时找到多个账号。如何设置条件?

像这样?将单元格更改为区域。哦,出问题了!

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

事实上,多对多比较可以转化为多对一比较。我们可以使用textjoin函数(office365中新添加的)来连接第一列中的帐号。

=TEXTJOIN(",",I2:I3)

然后结合isnumber find函数,逐一比较c列的数字是否包含在合并后的账号中。

=ISNUMBER(FIND(C2,2千美元))

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

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

边肖说:今天,两个新的office365功能被用来解决多对多搜索的问题。有人可能会问,没有新功能能不能解决。是的,但是公式极其复杂,超出了普通用户的掌握。但是你可以尝试使用更多的辅助列,这可能会解决这个问题。

版权声明:所有的Vlookup lookup和Xlookup都消失了 Excel是找公式最好的方法!是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。