一般情况下,用户通过Vlookup、Hlookup、Index等函数,只能返回一个符合条件的记录。

在Office 365中,新增了一个函数Filter,此函数是一个数组函数,可以获取(筛选)符合条件的所有记录。


=FILTER(array,include,[if_empty])

参数

描述

array

必需

要筛选的数组或区域

include

必需

布尔值数组,其高度或宽度与数组相同

[if_empty]

可选

所含数组中的所有值都为空(筛选器不返回任何内容)时返回的值

应用实例

下图返回所以班级1所有学习的信息

Excel for Office 365函数之Filter_Office 365 filter

下图返回所有班级1或语文成绩大于80分的所有学生信息。

当有多个条件时,用“+”表示条件或,;用“*”表示条件与。

Excel for Office 365函数之Filter_Office 365 filter_02

下图返回所有班级1且语文成绩大于80分的所有学生信息。

Excel for Office 365函数之Filter_Office 365 filter_03

无数据时,显示第三个参数的信息。

Excel for Office 365函数之Filter_Office 365 filter_04

通过使用此函数,用户可以很文件制作多级菜单。(如下图)

首先在辅助单元列获取班级唯一值,并排序。

Excel for Office 365函数之Filter_Office 365 filter_05

通过“数据验证”设置序列。可以用一个简单的符号「#」,动态获取信息,即假设我们将原表格信息中某一学生的班级修改为一个新的班级,如班级4,辅助列会动态扩展,同时下列菜单也会动态扩展。

Excel for Office 365函数之Filter_Office 365 filter_06

同样设置姓名辅助列,公式如下

Excel for Office 365函数之Filter_Office 365 filter_07

设置数据验证,选择序列。


Excel for Office 365函数之Filter_Office 365 filter_08

输入公式如下图:

Excel for Office 365函数之Filter_Office 365 filter_09

班级1中有两个姓名为”姓名2“的学生。

Excel for Office 365函数之Filter_Office 365 filter_10


Excel for Office 365函数之Filter_Office 365 filter_11