韩老师自己的书,纳入国家十三五与十四五规划教材:

【问题】

在Excel2019及以前的版本中,如果用函数实现一对多查找,不是一个简单的函数能实现的。而在Excel2021版本中新增的FILTER函数可以轻而易举的实现多项记录查找。

【函数简介】

功能:基于定义的条件筛选一系列数据

语法:=FILTER(array,include,[if_empty])。

中文语法:= FILTER(数组或区域,包含,条件,未找到返回值)。

  • array:必需,要筛选的数组或区域。

  • include:必需,与查找条件相对比得到的布尔值数组,其高度或宽度与数组相同。

  • if_empty:可选,当返回值数组都为空时返回的值。

【应用举例】

1) 多记录查询

在E4单元格输入公式“=FILTER(A2:C20,B2:B20=F1)”,按Enter键,完成运算,即可完成指定商品的多条进货记录查询,如图B-9所示。

2) 多条件与查询

在G5单元格输入公式“=FILTER(A3:E19,(B3:B19=G3)*(E3:E19=H3)=1,"")”,按Enter键,完成运算,即可完成指定部门与指定职称的多条记录查询,如图B-10所示。

【公式解析】

  • (B3:B19=G3)*(E3:E19=H3)=1:表示两个条件同时满足。因为只有两个表达式同时成立,其相乘的结果才是1。

  • FILTER(A3:E19,(B3:B19=G3)*(E3:E19=H3)=1,"") : 如果同时满足两个条件,公式返回满足条件的记录,否则返回空值。

3) 多条件或查询

在G5单元格输入公式“=FILTER(A3:E19,(B3:B19=G3)+(B3:B19=H3)=1,"")”,按Enter键,完成运算,即可完成两个部门的多条记录查询,如图B-11所示。

【公式解析】

  • (B3:B19=G3)+(B3:B19=H3)=1:表示两个比较表达式只要有一个成立即可。

  • FILTER(A3:E19,(B3:B19=G3)+(B3:B19=H3)=1,""):如果满足其中一个条件,公式返回查询记录,否则返回空值。