12

在工作簿中的第一个工作表上,我有一个包含多列和多行(大约 1000 行和 20 列)的大表。

我想知道是否可以根据主表中某一列的标准在工作簿的另一个工作表中显示该表的一部分。

为了帮助解释这一点,我将使用实际工作簿中的一个示例。

在工作表 1(称为General Employee Info,它是主表)上,在 A 列中,每一行都有一个唯一编号,用于标识员工(每个员工都有自己的 ID 号)。

B 列包含他们的办公地点(城市/直辖市)。C 列包含办公室所在的州。D 列包含他们每年的工资金额。

此类员工信息还有多个列,无需进一步解释。

我的问题是,我可以在工作簿中标记工作表 2"New York State"并让该工作表显示与工作表 1 相同的所有信息(所有相同的列),但只显示在纽约州工作的员工吗?

然后在另一张表上标上标签"California",并且只有在加利福尼亚工作的员工在该表上等等......换句话说,每个州都有一张单独的表。

它本质上就像使用 State 列过滤主表以仅显示一个状态,但我希望将结果放在单独的工作表中,而不是过滤包含所有信息的主表。

我正在考虑在每个新工作表中使用数据透视表,但不确定这是正确的方法。

这可能吗?我希望我清楚地解释了这个问题。

4

2 回答 2

22

如果您使用 Excel 2013 或更高版本作为起点,我真的建议您使用 excel 表格功能。表格之所以摇摆不定的原因有很多,包括使您的工作表对用户更具可读性,以及使诸如 INDEX/MATCH 之类的公式更不容易出错。

一旦表与主要数据一起到位,我使用数据建模功能链接回这些表的子集。

Excel 2013 中的这些步骤 - 2018 年左右激活的版本。它在 Office 365 中发生了变化(见下文)

  1. 创建工作表,或转到当前工作表中所需的表格位置。
  2. 单击“数据”选项卡并在连接部分中选择“连接”。
  3. 从那里选择添加按钮上的下拉菜单,然后选择添加到数据模型.. 连接对话框
  4. 单击表格选项卡。单击所需的表。
  5. 现在关闭对话框
  6. 在数据选项卡上,单击数据选项卡的“获取外部连接”中的现有连接
  7. 单击表格选项卡
  8. 选择你想要的表
  9. 选择表格单选按钮
  10. 点击返回(或新工作表或其他单元格,如果这是你想要的)
  11. 从另一张表中删除您的表现在反映在当前工作表中

此时,您可以使用数据切片进行子集化、隐藏列、在表格的右侧或左侧插入带有新公式的新列等。

您必须使用工具栏上的“全部刷新”按钮单独刷新它。

截至 2019 年 10 月,在 Excel 中(感谢 Josh 指出这一点!)它变得更好,因为它们在 excel 中包含了一些“强大”工具,并制作了一个工具栏项来获取这些功能。具体来说:

  1. 通过选择工作表中的数据并使用插入表来创建包含源数据的表。

  2. 选择表格

  3. 在“数据”选项卡上,单击中间下方的小图标,工具提示为“来自表/范围”

  4. 这将打开 Power Query 编辑器。 微软有教程;但现在看起来有点不同

  5. 建立查询后;在编辑器中按“关闭并加载”。如果没有选项,它将创建一个新工作表。如果您选择带有省略号的选项,您还有其他一些选项。
于 2016-06-25T00:00:45.887 回答
0

您在这里尝试做的事情有所不同:http ://www.get-digital-help.com/2009/09/28/extract-all-rows-from-a-range-that-meet-criteria -Excel 中的一列/

如果您的所有数据都在 Sheet1 上,并且您定义了一个范围 (CTRL F3),其中包含称为 [tbl] 的所有元素在 Sheet2 在单元格 A1 中输入您正在搜索的列号 Sheet1 在单元格 B1 中的 Sheet2 中输入搜索条件(即,您要过滤的状态)从单元格A2到Z1000(例如)输入以下数组公式(因此使用CTRL SHIFT RETURN输入)

=INDEX(tbl, SMALL(IF((INDEX(tbl, , $A$1, 1)=$B$1), ROW(tbl)-MIN(ROW(tbl))+1, ""), ROWS(A2:$A$2)), , 1)

执行此操作时要注意的一个关键点是首先为第一行创建数组,CTRL SHIFT RETURN 创建它,然后将其向下拖动。以错误的顺序执行此操作不会正确增加函数末尾的行计数器。只需按照本文开头链接中的说明进行操作,您就应该得到它。

于 2013-06-11T01:51:13.070 回答