筛选

筛选

我有一个包含大量姓名列表详细信息的范围。我在该范围内有一个名为“包含”的列。我试图创建一系列摘要,这些摘要将放在不同的工作表上,并从主工作表中提取。每张工作表都会填充包含列中标有“x”的所有姓名。

在此处输入图片描述

这会发生很大变化,所以我在考虑某种数组函数。我也尝试使用高级过滤器,但我只想包含名称,而不是所有过滤的数据,因为新工作表可能只是标记为包含的名称列表和位置(作为示例)

答案1

筛选

自 2018 年以来筛选函数已引入 Excel 365,并将出现在 Excel 2021 中。从文档中可以很直观地看出该应用程序的外观。

=FILTER(A2:E5,F2:F5="x")

A2:E5是您想要在结果中包含的单元格范围,F2:F5即您想要过滤的行。

匹配

我最好的预过滤函数方法有点乱,但我会尝试一下MATCH。假设我有以下设置

Excel 中的两个表尝试互相镜像。OP 表来自 A1:F5,结果应出现在 I1:M5 中

在列中,H我想获取 x 出现的行。获取第一个 x 非常简单,只需一次MATCH调用即可。H2我有以下内容。

=MATCH("x",$F:$F,0)

但是,对于我想MATCH再次使用的下一行,列范围必须从找到的最后一个 x 之后的一行开始。我将使用 执行此操作,INDIRECT这将为我提供以下结果H3

=H2+MATCH("x",INDIRECT("F"&(H2+1)&":F"&ROWS(F:F)),0)

H3可以将所有内容拖到表格的最后一行。请注意,#NV错误暂时不会困扰我们。

那么 H 列中应该显示的内容如下。

<empty>
3
5
#NV
#NV

或者,写为单元格公式:

<empty>
=MATCH("x",$F:$F,0)
=H2+MATCH("x",INDIRECT("F"&(H2+1)&":F"&ROWS(F:F)),0)
=H3+MATCH("x",INDIRECT("F"&(H3+1)&":F"&ROWS(F:F)),0)
=H4+MATCH("x",INDIRECT("F"&(H4+1)&":F"&ROWS(F:F)),0)

从那里我们可以使用矩阵公式I2从原始表中复制数据。

=IFERROR(INDIRECT("A"&H2&":E"&H2),"")

您可以使用 ctrl+shift+enter 输入矩阵公式,或者更好的是,看看是否只需按 Enter 即可数组公式。之后,您应该能够将该单元格拖到表格下方以获得类似这样的结果。H之后,您可以随意隐藏该列,这样它们#NV就不可见了。

与之前相同的两个表格,这次填写了正确的表格

编辑:我必须手动将公式翻译成英文,希望不会出现任何意外错误

相关内容