再聊今天的问题之前,先来看一个效果图吧。 相信大家都看明白了,这不就是一个一对多的查询应用吗,选择部门,该部门的所有信息就被提取出来了。 要解决这类问题,通常有两个思路,如果可以使用辅助列的话,公式相对简单一些,具体可以参考之前的教程: VLOOKUP教程(连载6)——使用VLOOKUP函数一对多查找的思路 如果不想加辅助列的话,那也有一个非常经典的公式套路:INDEX-SMALL-IF-ROW组合,也就是大家常说的万金油公式,这个公式对于一些新手来说是比较有难度的了,具体可以参考之前的教程: 【Excel公式教程】Index+small+if+row组合原理深度解析 以上的两种解决方案,相对于我们今天要说的这个方法,那真的是太复杂了,对于Excel365来说,这种一对多查询只是一个函数一条公式的事情,这个函数就是FILTER,这个公式就是=FILTER(A2:D24,A2:A24=F2) 不但不烧脑,甚至都不用右拉下拉,因为在Excel365中,数组公式有个自动扩展的特性。 可以看看这个公式的输入过程,大家就知道操作有多简单了。 FILTER函数的功能就是按照指定的一组或者多组条件,在指定的数据源进行筛选,函数的基本结构是: FILTER(数据源,条件1*条件2*……*条件n,如果没有满足条件的数据时显示的内容) 在前面的例子中,A2:D24是数据源,A2:A24=F2是筛选条件,由于筛选的部门都在数据源中,所以第三参数省略了。 如果要在部门的基础上增加一个性别的条件,公式可以修改为: =FILTER(A1:D24,(A1:A24=F2)*(C1:C24=F5),"查无结果") 当查询条件为人事部、女的时候,由于没有满足条件的数据,就会显示出第三参数的内容。 如果不使用第三参数的话,公式会返回一个空数组的错误值#CALC! 可以说有了FILTER函数以后,再也不需要为各种筛选的公式犯愁烧脑了。 |
|