在Excel中,FILTER函数是实现高效数据筛选的重要工具。以下介绍四种常见且实用的查询方式,所有公式均严格保持原始参数不变。
第一种是一对多查询。当需要根据某一单元格的条件提取所有匹配项时,可使用该方法。例如,依据E2单元格中指定的品牌名称,在A2:A13区域中提取该品牌对应的所有商品名称。所用公式为:
=FILTER(A2:A13,B2:B13=E2)
其中,A2:A13为待输出的数据范围;B2:B13=E2构成筛选逻辑,仅当B列对应行的值等于E2内容时,该行A列的数据才会被返回。
第二种是多条件同时匹配查询。适用于需满足两个或以上条件的情形,各条件之间以星号(*)连接,表示并且关系。例如,筛选品牌为松下且库存数量大于20的商品名称。公式如下:
=FILTER(A2:A13,(B2:B13=E2)*(C2:C13>20))
每个子条件各自生成由TRUE与FALSE组成的逻辑数组,只有当所有条件结果均为TRUE时,乘积才为TRUE,对应行的数据才会被保留。
第三种是模糊筛选,用于提取包含特定关键词的条目。例如,在A2:A13中查找含有E2所输入关键字的全部商品名称。公式为:
=FILTER(A2:A13,ISNUMBER(FIND(E2,A2:A13)))
FIND函数尝试定位关键词位置,成功则返回数字,失败则返回错误;ISNUMBER将数字转为TRUE、错误转为FALSE;FILTER据此布尔数组决定是否保留对应行。
第四种是差异对比查询,用于找出某组数据中未出现在另一组中的项目。例如,A2:A13为全部商品清单,C2:C5为已售出商品列表,需筛选尚未售出的商品。公式为:
=FILTER(A2:A13,COUNTIF(C2:C5,A2:A13)=0)
COUNTIF统计A列每项在C列中出现的次数,结果为0即表示该项未在已售清单中出现,从而完成筛选。