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

Populate empty table with data from other tables based on dropdown list selection

我在一个选项卡中有几个 table,我分别命名了它们。在另一个选项卡中,我有一个 table,我希望根据下拉选择使用所选 table 的相同信息填充它。所有 table 的大小都相同。下拉列表也是一个命名范围。

下拉列表中的列表是每个 table 的名称。 以下是我的方法,但我连续离开了。 'PRCoverage' 是下拉列表的名称。

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

问题是 table 并非都从同一行开始。我正在尝试找出在每个 table.

中引用第一行的方法

我们可以得到其中的特定条目以如下内容开头:

=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)

首先,我将所有内容都放在一个 sheet 上作为屏幕截图,这将适用于多个页面。

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

传播样本sheet:Click Here