根据下拉列表选择,使用其他表中的数据填充空表

时间:2018-09-27 15:58:19

标签: excel indexing excel-formula excel-indirect

我在一个选项卡中有几个表,这些表已分别命名。在另一个选项卡中,我有一个表格,该表格希望基于下拉选择与所选表格的信息相同。所有表的大小均相同。下拉列表也是一个命名范围。

下拉列表中的列表是每个表的名称。 以下是我的方法,但我已经连续离开了。 “ PRCoverage”是下拉菜单的名称。

=INDEX(INDIRECT(PRCoverage),ROW()-ROW($B$7),COLUMN()-COLUMN($B$7))

问题在于表并非都在同一行中开始。我正在尝试找出引用每个表中第一行的方法。

2 个答案:

答案 0 :(得分:1)

我们可以获得特定条目以以下内容开头的信息:

=ROW(INDIRECT(MyDropDown))

然后我用OFFSET来填充我的TABLE

=OFFSET(INDIRECT("Sheet2!A" & ROW(INDIRECT(MyDropDown))),ROW()-2,COLUMN()-1)

但是您可以轻松地将OFFSET换成INDEX

=INDEX(INDIRECT("Sheet2!A" & ROW(INDIRECT(MyDropDown))),ROW()-2,COLUMN()-1)

enter image description here

enter image description here

答案 1 :(得分:1)

首先,我将所有内容都放到一张纸上进行截图,这将适用于多个页面。

enter image description here

  1. 我首先在单元格F1中有一个可用于下拉列表的列表。这是D2:D3中名为TableList的命名范围。一旦有了这个名字,单元格F1便会进行验证。
  2. 接下来,您将在F1的公式中看到我有两个命名范围。这些是 dynamic 命名范围。要创建它们:选择单元格F1,然后选择 CTRL + F3 打开名称管理器。然后选择“新建”按钮。在此演示中,我将其命名为Male_Characters。对于我使用的公式:=Sheet1!A3 请注意,我没有使用绝对引用(没有“ $”)。对要显示的每个表的起始角重复此操作。
  3. 最后,创建一个嵌套的if语句,该语句适用于每个表,如您在屏幕快照中所见。 =IF($F$1=$A$1,Male_Characters,IF($F$1=$A$12,Female_Characters,""))是我的显示表所有单元格中的相同代码。

示例电子表格:Click Here