在单独的工作表中显示表的一部分

时间:2013-06-11 00:46:53

标签: excel excel-2010

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

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

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

在工作表1(称为一般员工信息,即主表)上,在A列中,每一行都有一个唯一的编号,用于标识员工(每个员工都有自己的ID号)。

B栏保存其办公地点(城市/自治市)。 C栏保存办公室所在的州.D栏每年保存其工资金额。

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

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

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

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

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

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

2 个答案:

答案 0 :(得分:14)

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

一旦表格与主要数据一起到位,对于子集我使用data modeling capability链接回那些表格。

这些步骤

  1. 创建工作表,或者转到当前工作表中所需的表格。
  2. 点击“数据”标签,然后在“连接”部分选择“连接”。
  3. 从那里选择添加按钮上的下拉菜单,然后选择添加到数据模型.. Connections Dialog
  4. 单击表格选项卡。单击所需的表。
  5. 现在关闭对话框
  6. 在数据标签上,点击数据标签的“获取外部连接”中的现有连接
  7. 单击表格选项卡
  8. 选择您想要的表格
  9. 选择表格单选按钮
  10. 点击返回(或新表或不同的单元格,如果这是你想要的)
  11. 来自其他工作表的
  12. poof 现在会反映在当前工作表中。
  13. 此时,您可以使用数据切片进行子集,隐藏列,在表格的右边缘或左边缘插入带有新公式的新列等。

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

答案 1 :(得分:0)

您尝试在此处执行的操作有所不同:http://www.get-digital-help.com/2009/09/28/extract-all-rows-from-a-range-that-meet-criteria-in-one-column-in-excel/

如果您的所有数据都在Sheet1上,并且您定义了一个范围(CTRL F3),其中包含所有名为[tbl]的元素 在Sheet2中,在单元格A1中输入要搜索的列号1 在单元格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创建它,然后将其向下拖动。以错误的顺序执行此操作不会在函数结束时正确递增行计数器。只需按照本文开头链接中的说明操作即可获得。