想要在Excel中想要实现多对多查询,不论是家喻户晓的Vlookup还是新晋王者Xlookup都没办法实现。今天跟大家分享一种解决方法,操作也不算太难,就是利用FILTER函数。我们来看下怎么做吧

一、多对多查询

所谓的多对多查询,就是通过查找多个值,来返回多个结果,我们可以利用FILTER+COUNTIF函数来实现,先来看下公式的书写规则,然后再跟大家讲解下原理,比如现在我们想要查找1班跟3班的数据

公式:=FILTER(A2:C8,COUNTIF(E4:E5,A2:A8))

这个公式的关键点是FILTER函数,它的作用是根据条件来做数据筛选,多对多查询我们可以将其看做是筛选多个值,结果是一样的,随后来看下公式的解析

打开网易新闻 查看更多图片

二、COUNTIF函数

公式:=COUNTIF(E4:E5,A2:A8)

COUNTIF是一个单条件计数函数,语法如下

语法:=COUNTIF(统计区域,统计条件)

一般而言第二参数【统计条件】都是设置一个条件的,但是在这里我们将统计的条件设置为了1列数据,它是有多个数据的,这就是一个数组的用法,

COUNTIF会分别将A2:A8中的每一个条件,带入的E4:E5这个数据区域做判断,如果当前的数据存在就会数字1,不存在就会返回数字0,在这里A2:A8是有7个条件的,所以结果也会有7个,跟第二参数是一一对应的,效果如下动图

打开网易新闻 查看更多图片

三、FILTER函数

公式=FILTER(A2:C8,D2:D8)

FILTER函数是根据条件来做数据筛选的,之前讲过它可以用来做一对多查询的,语法如下

=FILTER(返回结果的区域,筛选的条件)

在上述公式中,D2:D8就是COUNTIF的结果,
我们之前讲过,可以1看做TRUE就表示条件正确,将0看做是FALSE表示条件正确,这样的话FILTER就可以把1对应的数据筛选出来,在当前的表格中1对应的数据正好是1班本3班的,所以就能得到正确的结果了

打开网易新闻 查看更多图片

以上就是今天分享的全部内容,怎么样,你学会了吗?