筛选数据 (Power Query)

应用对象
Microsoft 365 专属 Excel Excel 2024 Excel 2021 Excel 2019 Excel 2016

在 Power Query 中,可以基于列值包括或排除行。 已筛选的列包含一个小筛选器图标 ( 列标题中的“ 已应用筛选器”图标 ) 。 若要删除列筛选器,请选择列旁边的向下箭头“筛选器”箭头,然后选择清除筛选器。

使用自动筛选进行筛选

使用自动筛选功能查找、显示或隐藏值,并更轻松地指定筛选条件。 默认情况下,只能看到前 1,000 个不同的值。 如果消息指出筛选器列表可能不完整,请选择加载更多。 根据数据量,你可能会多次看到此消息。

  1. 若要打开查询,请找到之前从 Power Query 编辑器加载的查询,在数据中选择一个单元格,然后选择“查询编辑>。 有关详细信息,请参阅 在 Excel 中创建、加载或编辑查询
  2. 选择要筛选的列旁边的向下 箭头筛选箭头
  3. 清除“ (全选) ”复选框以取消选择所有列。
  4. 选中要作为筛选依据的列值的检查框,然后选择“确定”

选择列

使用文本筛选器进行筛选

您可以使用 “文本筛选器” 子菜单按特定文本值进行筛选。

  1. 若要打开查询,请找到之前从 Power Query 编辑器加载的查询,在数据中选择一个单元格,然后选择“查询编辑>。 有关详细信息,请参阅 在 Excel 中创建、加载或编辑查询

  2. 选择包含要按其筛选的文本值的列旁边的向下 箭头“筛选器”箭头

  3. 选择“文本筛选器”,然后选择相等类型名称:等D oes 不等于开头为、开头不为结尾为、结尾为、包含不包含

  4. “筛选行 ”对话框中:

    • 使用 基本模式 最多输入或更新两个运算符和值。
    • 使用 高级模式 输入或更新两个以上的子句、比较、列、运算符和值。
  5. 选择“确定”。

使用数字筛选器进行筛选

您可以使用 数字过滤器 子菜单按数字值进行过滤。

  1. 若要打开查询,请找到之前从 Power Query 编辑器加载的查询,在数据中选择一个单元格,然后选择“查询编辑>。 有关详细信息,请参阅 在 Excel 中创建、加载或编辑查询

  2. 选择包含要按其筛选的数字值的列的向下箭头筛选箭 头

  3. 选择“数字筛选器”,然后选择相等类型名称“等于”、“不等于”、“大于”、“大于或等于”、“”、“小于或等于”或“介于”。

  4. “筛选行 ”对话框中:

    • 使用 基本模式 最多输入或更新两个运算符和值。
    • 使用 高级模式 输入或更新两个以上的子句、比较、列、运算符和值。
  5. 选择“确定”。

使用日期/时间筛选器进行筛选

您可以使用“ 日期/时间筛选器” 子菜单按日期/时间值进行筛选。

  1. 若要打开查询,请找到之前从 Power Query 编辑器加载的查询,在数据中选择一个单元格,然后选择“查询编辑>。 有关详细信息,请参阅 在 Excel 中创建、加载或编辑查询

  2. 选择包含要筛选的日期/时间值的列的向下箭头筛选 箭头

  3. 选择“日期/时间筛选器”,然后选择相等类型名称,即“于”、“之前”、“之后”、“介于”、“下一步”、“上一个”、“最早”、“最新”、“非最早”、“非最新”和“自定义筛选器”。

    提示 您可能会发现通过选择 “年”、“ ”、“ ”、“ ”、“ ”、“ 小时”、“ 分钟”和 “秒”来更轻松地使用预定义的过滤器。 这些命令立即生效。

  4. “筛选行”对话框中:

    • 使用 基本模式 最多输入或更新两个运算符和值。
    • 使用 高级模式 输入或更新两个以上的子句、比较、列、运算符和值。
  5. 选择“确定”。

筛选多列

若要筛选多个列,请筛选第一个列,然后对其他每个列重复列筛选。

在下面的编辑栏示例中,函数 Table.SelectRows 返回按 / 筛选的查询。

筛选结果

按 Null 或空白值筛选

单元格中没有任何内容时,会出现 null 或空白值。 删除 Null 值或空白值的方法有两种:

使用自动筛选

  1. 若要打开查询,请找到之前从 Power Query 编辑器加载的查询,在数据中选择一个单元格,然后选择“查询编辑>。 有关详细信息,请参阅 在 Excel 中创建、加载或编辑查询
  2. 选择要筛选的列旁边的向下 箭头筛选箭头
  3. 清除“ (全选) ”复选框以取消选择所有列。
  4. 选择 “删除空白” ,然后选择“ 确定”

此方法使用以下公式 (针对列“名称”检查列中的每个值 ) :

Table.SelectRows(#"Changed Type", each ([Name] <> null and [Name] <> ""))

使用“删除空白行”命令

  1. 若要打开查询,请找到之前从 Power Query 编辑器加载的查询,在数据中选择一个单元格,然后选择“查询编辑>。 有关详细信息,请参阅 在 Excel 中创建、加载或编辑查询
  2. 选择“开始>”,“删除行”,>“删除空白行”

若要清除此筛选器,请删除查询设置已应用步骤下的相应步骤。

此方法使用以下公式将整行作为记录进行检查:

Table.SelectRows(#"Changed Type", each not List.IsEmpty(List.RemoveMatchingItems(Record.FieldValues(_), {"", null})))

按行位筛选

按位置筛选行类似于按值筛选行,不同之处在于根据行在查询数据中的位置(而不是按值)包含或排除行。

注意

指定区域或模式时,表中的第一个数据行是行 0 (0) ,而不是第一行 (1) 。 您可以创建索引列以在指定行之前显示行的位置。 有关详细信息,请参阅 添加索引列。

保留最前几行

  1. 若要打开查询,请找到之前从 Power Query 编辑器加载的查询,在数据中选择一个单元格,然后选择“查询编辑>。 有关详细信息,请参阅 在 Excel 中创建、加载或编辑查询
  2. 选择“开始>”,保留行,>保留前几行
  3. 在“ 保留前几行” 对话框中,在 “行数”中输入数字。
  4. 选择“确定”。

保留最后几行

  1. 若要打开查询,请找到之前从 Power Query 编辑器加载的查询,在数据中选择一个单元格,然后选择“查询编辑>。 有关详细信息,请参阅 在 Excel 中创建、加载或编辑查询
  2. 选择“开始>”,保留行,>保留最后几行
  3. 在“ 保留最后几行” 对话框中,在 “行数”中输入数字。
  4. 选择“确定”。

保留行范围

有时,数据表派生自具有固定布局的报表。 例如,前五行是报表标题,后面是七行数据,然后是包含注释的各种行。 但你只想保留数据行。

  1. 若要打开查询,请找到之前从 Power Query 编辑器加载的查询,在数据中选择一个单元格,然后选择“查询编辑>。 有关详细信息,请参阅 在 Excel 中创建、加载或编辑查询
  2. 选择“开始>”,“保留行”,>“保留行”
  3. 在“ 保留行的范围 ”对话框中,在 “第一行 ”和 “行数”中输入数字。 若要遵循示例,请输入 6 作为第一行,输入 7 作为行数。
  4. 选择“确定”。

删除最前几行

  1. 若要打开查询,请找到之前从 Power Query 编辑器加载的查询,在数据中选择一个单元格,然后选择“查询编辑>。 有关详细信息,请参阅 在 Excel 中创建、加载或编辑查询
  2. 选择“开始>”,“删除行”,>“删除最前几行”
  3. “删除最前几行” 对话框中,在 “行数”中输入数字。
  4. 选择“确定”。

删除最后几行

  1. 若要打开查询,请找到之前从 Power Query 编辑器加载的查询,在数据中选择一个单元格,然后选择“查询编辑>。 有关详细信息,请参阅 在 Excel 中创建、加载或编辑查询
  2. 选择“开始>”,“删除行”,>“删除最后几行”
  3. 在“ 删除最后几行 ”对话框中,在 “行数”中输入数字。
  4. 选择“确定”。

通过删除替代行进行筛选

可以按交替行进行筛选,甚至可以定义交替行模式。 例如,表的每个数据行后都有一个注释行。 要保留 1、3、5 等 (奇数行) ,但) 删除 2、4、6 等 (偶数行。

  1. 若要打开查询,请找到之前从 Power Query 编辑器加载的查询,在数据中选择一个单元格,然后选择“查询编辑>。 有关详细信息,请参阅 在 Excel 中创建、加载或编辑查询

  2. 选择“开始>”,“删除行”,>“删除间隔行”

  3. “删除间隔行” 对话框中,输入下列信息:

    • 要删除的第一行 从这一行开始计数。 如果输入 2,将保留第一行,但删除第二行。
    •   要删除的行数 定义模式的开头。 如果输入 1,则一次删除一行。
    •   要保留的行数 定义模式的结尾。 如果输入 1,请继续下一行(即第三行)的模式。
  4. 选择“确定”。

结果

Power Query 具有适用于所有行的模式。 在本示例中,删除奇数行并保留偶数行。

另请参阅

Microsoft Power Query for Excel 帮助

删除或保留有错误的行

保留或删除重复行

按行位置筛选 (docs.com)

按值筛选 (docs.com)