语法:filter(查询区域,条件,查不到结果返回的值)
注意条件是布尔表达式,这个条件为true,filter才返回结果,否则查不到结果。
一、单条件查询,返回多行多列记录
我们要查询“苹果”这个水果,使用公式:
=FILTER(A2:E14,D2:D14=H1,"")
A2:E14为数据区域,D2:D14=H1为查询条件,第三参数“”为查不到值返回空。
二、多条件查询,或者(or)关系,返回多行多列
=FILTER(A2:E14,(D2:D14=H1)+(A2:A14=H2),"")
(D2:D14=H1)+(A2:A14=H2)这个参数是两个布尔表达式相加,但任意一个成立,结果就返回1,如果没有一个成立,结果返回0,所以用+连接。
三、多条件查询,并且(and)关系,返回多行多列
=FILTER(A2:E14,(D2:D14=H1)*(A2:A14=H2),"")
查询某个水果品种和地区的数据,(D2:D14=H1)*(A2:A14=H2),这是两个布尔表达式,如果都成立,结果为1,如果有一个不成立,结果返回0
四、查询一列在另外一列中不存在的数据
=FILTER(B2:B14,COUNTIF(D2:D6,B2:B14)=0,"")
COUNTIF(D2:D6,B2:B14)=0,是判断名单中不存在的,这样组合就查询到了未签到的人员。
五、在有重复值的列中提取唯一值
=UNIQUE(FILTER(D2:D14,A2:A14=G2,""))
先使用filter获取查询值,然后unique提取唯一的记录。
六、实现逆向查询
=FILTER(B2:B14,C2:C14=G2,"")