标签:Power Query,Filter函数
问题:需要整理一个有数千条数据的列表,Excel可以很方便地搜索并显示需要的条目,然而,想把经过提炼的结果列表移到一个新的电子表格中,不知道有什么好方法?
下面介绍两种方法。
为简化起见,我们使用少量的数据来进行演示,示例数据如下图1所示。
图1
示例数据位于名为“表1”的表中,我们想获取“产地”列为“宜昌”的数据。
方法1:使用Power Query
在新工作簿中,单击功能区“数据”选项卡中的“获取数据——来自文件——从工作簿”命令,找到“表1”所在的工作簿,单击“导入”,在弹出的导航器中选择工作簿文件中的“表1”,单击“加载”。
单击功能区新出现的“查询”选项卡中的“编辑”命令,打开Power Query编辑器,在“产地”列中,选取“宜昌”,如下图2所示。
图2
单击“确定”。然而,单击Power Query编辑器中的“关闭并上载”命令,结果如下图3所示。
图3
方法2:使用FILTER函数
新建一个工作表,在合适的位置输入公式:
=FILTER(表1,表1[产地]="宜昌")
结果如下图4所示。
图4
可以看到,虽然FILTER函数很方便地返回了要筛选的数据,但没有标题行。下面插入标题行,在最上方插入一行,输入公式:
=表1[#标题]
结果如下图5所示。
图5
FILTER函数简介
FILTER函数是一个动态数组函数,其语法为:
=FILTER(array, include, [if_empty])
其中,参数array,想要筛选的数据,单元格区域或数组。参数include,筛选的条件,语句应返回为TRUE,以便将其包含在查询中。参数if_empty,如果没有满足筛选条件的结果,则在这里指定返回的内容,可选。