动态过滤一个 Excel 工作表中的数据以显示在另一个工作表中

动态过滤一个 Excel 工作表中的数据以显示在另一个工作表中

有没有一种直接的方法可以让存储在一个工作表中的数据自动过滤并显示在另一个电子表格上。我希望能够更新一个工作表中的数据,并让另一个工作表上的过滤视图自动更新。

答案1

使用数据表的另一种方法

使用相同的 Sheet1 数据

sheet1数据

在 Sheet3 上选择单元格 A5,然后按 Ctrl + T 创建数据表,并选择我的表格有标题,然后单击确定。

选择单元格 A5 和 A6,然后拖动以跨过所需列数

并编辑列标题的文本

Sheet3 标题

在单元格 A6 中添加以下公式

=IF(Sheet1!A2="","",Sheet1!A2)

并将 A6 拖至所需列,然后向下拖至所需行

在此处输入图片描述

然后根据需要使用过滤器。

答案2

不确定您所说的直接是什么意思,但您可以按照下面的示例所示使用公式来过滤并返回匹配的行:

从 Sheet1 中的数据中,我可以筛选出列中带有特定文本的数据

工作表1

在 Sheet2 上添加标题并在 B1 中输入您想要过滤的文本。

Sheet2 标题

在 A5 中添加以下数组公式

=IFERROR(INDEX(Sheet1!$A$2:$C$7,SMALL(IF(Sheet1!$B$2:$B$7=$B$1,ROW(Sheet1!$B$2:$B$7)-ROW(Sheet1!$B$2)+1),ROWS(Sheet1!A$2:Sheet1!A2)),1), "")

按 Ctrl + Shift + Enter 将公式作为数组输入,您将看到公式将被括在花括号 {} 中

将 A5 中的公式拖到 B5 至 C5 之间,以填充所需数据列数的行。

修改公式以增加索引列号。

请记住按 Ctrl + Shift + Enter 将公式重新输入为数组公式。

B5 现在应显示索引列号 2

{=IFERROR(INDEX(Sheet1!$A$2:$C$7,SMALL(IF(Sheet1!$B$2:$B$7=$B$1,ROW(Sheet1!$B$2:$B$7)-ROW(Sheet1!$B$2)+1),ROWS(Sheet1!B$2:Sheet1!B2)),2), "")}

以及 C5 的列索引为 3,如下所示

{=IFERROR(INDEX(Sheet1!$A$2:$C$7,SMALL(IF(Sheet1!$B$2:$B$7=$B$1,ROW(Sheet1!$B$2:$B$7)-ROW(Sheet1!$B$2)+1),ROWS(Sheet1!C$2:Sheet1!C2)),3), "")}

将这些公式向下拖动以获得预期的最大数据行数

在 Sheet2 单元格 B1 中输入动物、蔬菜或矿物质,表格就会自动过滤。

Sheet2 已完成

这对 Excel 2010 来说已经测试成功

您可以通过为单元格 B1 添加数据验证列表来进一步实现自动化。

相关内容