前面的章节中我们简单介绍过Filter函数的基本用法,这个函数很强大很常用,今天我们再来详细的了解下。
Filter的官方定义:基于定义的条件筛选一系列数据。也就是说从一组区域或数据中筛选出符合条件的数据。
Filter函数语法:=FILTER(筛选区域/数组,筛选条件,[如果找不到时的返回值]),返回一个或多个数据。
一般用法:筛选查找产品名称对应的单价
Filter筛选查找一般用法 |
在J6单元格中输入:=FILTER(E4:E14,D4:D14=H6)。
筛选区域选择单价,条件区域选择产品名称,条件=苹果。
下拉选择找谁,前面的结果都正常。选择黄瓜时,出现#CALC!错误,表示筛选结果数组是空,因为产品名称中没有黄瓜,这就要用到第3参数。
Filter第3参数用法 |
我们在上一步的公式后增加上第3参数,第3参数可以是文本、数字、逻辑值等。
进阶用法:根据选择的条件,筛选查找结果
上一步可以根据筛选的产品名称找到对应的结果,但我们可能还需要查找产品编码、品类、销量等,找什么不固定,也就是筛选区域不固定,今天尝试用Filter动态获取选择的字段对应的数据区域作为筛选区域。当然,方法很多种,这或许不是最优解,只是为了加深了解Filter函数。
Filter Filter嵌套用法 |
在J10单元格中输入,=FILTER(E4:E14,D4:D14=H10)。我们需要修改筛选区域,选中E4:E14,修改为FILTER(B4:F14,B3:F3=I10)。这个Filter会根据选择的找什么,返回对应的一列数据,作为外层Filter的筛选区域。
这里下拉选择任意字段,可以得到正确的返回结果。
Filter多条件筛选查找:筛选查找水果品类下西红柿的产品信息
Filter多条件筛选查找 |
在H14单元格中输入:=FILTER(B4:F14,(C4:C14="水果")*(D4:D14="西红柿"))。
筛选区域选择B4:F14,第一个筛选条件是品类=水果,第二个条件是产品名称=西红柿,两个条件是且的关系,条件与条件间用*连接。之前的视频中有介绍,多条件,“且”关系用”*”,“或”关系用” ”,感兴趣可以关注翻翻看看。
进一步加深理解,再看2个案例。
案例1:筛选查找苹果的单价、销量,返回多列值
Filter筛选查找返回多列值 |
在I6单元格中输入,=FILTER(E4:F14,D4:D14=H6)。筛选区域选择单价与销量列,筛选条件产品名称=苹果。
案例2:筛选查找销量大于900的产品信息,一对多
Filter筛选查找一对多 |
在H11单元格中输入,=FILTER(B4:F14,F4:F14>900)。筛选区域选择表中数据区域,筛选条件销量>900。
Filter是一个动态数组函数,功能十分强大,学会了可以解决工作中很多问题,多加练习吧!