按行位置筛选表

Power Query 具有多个选项,可通过保留或删除这些行来根据表行的位置筛选表。 本文介绍所有可用的方法。

保留行

保留行集函数将从表中选择一组行,并删除不符合条件的任何其他行。

在以下两个位置可以找到 “保留行 ”按钮:

  • 在“ 开始 ”选项卡上的 “减少行 ”组中。

    “开始”选项卡上的“保留行”按钮。

  • 在表菜单上。

    在表菜单上保留行按钮。

注释

在 Power Query 窗口中间的数据预览部分中,可以看到表左侧行的位置。 每个行位置都由一个数字表示。 顶部行以位置 1 开头。

保留最前面几行

假设下表来自具有固定布局的系统。

初始示例表,其中列标题全部为文本数据类型,包含 7 行数据,然后是注释部分。

此报告始终包含七行数据,并且数据下方有一个包含未知行数的注释部分。 在此示例中,你只想保留前七行数据。 为此,请从表菜单中选择 “保留前几行 ”。 在“保留前几行”对话框中,在“行数”框中输入 7。

“保留前几行”对话框。

此更改结果将生成您所需的输出表。 为列设置数据类型后,表将如下图所示。

用于保留顶部行的最终示例表,其中保留了七行数据,并将单位列设置为“Number”数据类型。

保留底部行

假设下表来自具有固定布局的系统。

用于“保留底行操作”的初始示例表。

初始示例表,其中 Column1、Column2 和 Column3 作为列标题,全部设置为 Text 数据类型,底部七行为数据行,以上为列标题行和未知数量的注释行。

此报表始终包含报表页末尾的七行数据。 在数据上方,报表包含一个包含未知行数的注释部分。 在此示例中,你只想保留最后七行数据和标题行。

为此,请从表菜单中选择 “保留底部行 ”。 在“保留底部行”对话框中,在“行数”框中输入 8。

“保留底部行”对话框。

该操作的结果会生成 8 行,但是现在标题行也成为表格的一部分。

执行“保留底部行”作后的示例表,其中列标题行作为数据的一部分,然后是七行数据。

需要从表的第一行提升列标题。 为此,请从表菜单中选择“ 使用第一行”作为标题 。 为列定义数据类型后,将创建如下图所示的表。

“保留底部行”的最后一个示例表。

将第一行提升为列标题并保留七行数据后,保留底部行的最终示例表,然后将“单位”设置为数字数据类型。

详细信息: 提升或降级列标题

保留行范围

假设下表来自具有固定布局的系统。

“保留一段行”操作的初始示例表。

最初的示例表包含列(Column1、Column2 和 Column3),所有列都被设置为文本数据类型,并且表中包含列标题和七行数据。

此报表始终包含五行标题、标题下方的一行列标题、列标题下方的七行数据,以及其注释部分下方的不确定行数。 在此示例中,你想要在报表的标题部分之后获取八行,并且只获取这八行。

为此,请从表菜单中选择“ 保留行范围 ”。 在“保留行范围”对话框中,在“第一行”框中输入 6,在“行数”框中输入 8。

“保留行范围”对话框。

与上一个用于保留底部行的示例类似,此作的结果提供了八行,其中列标题是表的一部分。 将删除定义的 第一行 上方的任何行(第 6 行)。

执行“保留行范围”作后的示例表,其中列标题行作为数据的一部分,然后是七行数据。

可以执行与“保留底部行”所述相同的操作,以提升表格第一行的列标题。 为列设置数据类型后,表将如下图所示。

用于保留行范围的最终示例表。

最终示例表,用于在将第一行提升为列标题后保留特定行范围,将“单位”列设置为“数字”数据类型,并保留七行数据。

删除行

此函数集将从表中选择一组行,将其删除,并保留表中的其余行。

在以下两个位置可以找到 “删除行 ”按钮:

  • 在“ 开始 ”选项卡上的 “减少行 ”组中。

    “开始”选项卡上的“删除行”按钮。

  • 在表菜单上。

    在表菜单上执行删除行操作。

删除前几行

假设下表来自具有固定布局的系统。

用于“删除前几行”的初始示例表。

用于删除包含列(Column1、Column2 和 Column3)的前几行的初始示例表都设置为“文本”数据类型、顶部标题行和底部的列标题行和 7 个数据行。

此报表始终包含表第 1 行到第 5 行的固定标题。 在此示例中,需要删除前五行并保留其余数据。

为此,请从表菜单中选择 “删除顶部行 ”。 在“删除前几行”对话框中,在“行数”框中输入 5。

“删除前几行”对话框。

与前面的“保留底部行”和“保留行范围”的示例相同,此操作的结果是表格中包含列标题在内的八行。

执行“删除前几行”作后的示例表,其中列标题行作为数据的一部分,然后是七行数据。

可以执行与前面示例中所述相同的操作,将表的第一行设为列标题。 为列设置数据类型后,表将如下图所示。

删除前几行的最后一个示例表。

将第一行提升为列标题并将“单位”列设置为数字数据类型并保留七行数据后,删除前几行的最后一个示例表。

删除底部行

假设下表来自具有固定布局的系统。

删除底部行的初始示例表。

“删除底部行”的初始示例表,其中标题列全部设置为“文本”数据类型、7 行数据,然后是底部固定长度的页脚。

此报表始终包含一个固定部分或页脚,位于表的最后五行。 在此示例中,需要删除最后五行,并保留其余数据。

为此,请从表菜单中选择“ 删除底部行 ”。 在“删除前几行”对话框中,在“行数”框中输入 5。

“删除底部行”对话框。

该更改的结果将生成您要查找的输出表。 为列设置数据类型后,表将如下图所示。

最终的示例表用于去除底部行,其中“单元”列设置为“数字”数据类型,并保留七行数据。

删除交替行

假设下表来自具有动态布局的系统。

移除交替行操作的初始示例表。

包含列标题并全部设置为文本数据类型的初始示例表,以及每一个其他数据行都包含关于其上方数据行的注释。

此报表的结构化方式是,你有一对行中的元素。 每个奇数行(1、3、5...)都包含所需的数据。 每一个偶数行,紧邻每个奇数行,包含有关每个记录的注释。 不需要批注,并且想要删除所有这些注释。

为此,请从“表格”菜单中选择删除备用行。 在 “删除备用行 ”对话框中,输入以下值:

  • 在 要删除的第一行 中,输入 2。

    你想要从第二行开始计数。 将保留此 要删除的第一行 上方的任何行。

  • 在 要删除的行数 框中,输入 1。

    在这里,开始定义用于删除行的模式。 找到第二行后,只想删除该特定行,因此指定只需删除一行。

  • 在 要保留的行数 框中,输入 1。

    删除一行后,将保留下一行。 然后为下一行重新启动该过程。

删除备用行对话框。

该选择的结果将为您提供您正在寻找的输出表。 将数据类型设置为列后,表将如下图所示。

“删除交替行”操作的最终示例表,其中“单位”列设置为“数字”数据类型,并保留七行数据。