我有 3 个表,Tab1
包含Tab2
数据Tab3
和一个空表,用户Tab
可以在下拉列表中选择option1
。option2
option3
根据用户的选择,空表Tab
将用相应的表填充。
例如,当用户选择时option2
,Tab
将使用来自的数据填充Tab2
;所有表都有相同的大小。
我可以设法INDIRECT
为一个单元格添加值,但不能为整个表格添加值。您有什么想法吗?有没有适用于 Excel 2007 的简单公式。我没有使用 VBA。
答案1
如果可能的话,我会将下拉值设为表格的名称。并为包含结果下拉值的单元格分配一个命名范围,例如OptionPicked
。在与三个表格尺寸相同的空范围内,将此公式放入每个单元格中。
INDEX(INDIRECT(OptionPicked &"[#All]"),ROW()-ROW($A$1),COLUMN()-COLUMN($A$1))
如果空表Tab
不是实际的 Excel 表,则此方法将起作用,因为 Excel 表的标题中不允许使用公式。
如果您不想使用表格名称作为下拉选项,您可以构建两个列表,分别包含您的TableNames
和您的DropDownChoices
,并让您的下拉框引用该列表=DropDownChoices
,并且包含该下拉列表的单元格仍将被命名为OptionPicked
。然后在“表格”中的每个单元格中Tab
输入此公式
=INDEX(INDIRECT(INDEX(TableNames,MATCH(OptionPicked,DropDownChoices,0)) &"[#All]"),ROW()-ROW($A$1),COLUMN()-COLUMN($A$1))