Excel – 将数组传递给函数

在我的文件中的一张纸上,我有一些定义为命名范围的数组。 另一张表我想使用一个下拉菜单,或类似的select名称范围之一的名称,并具有该名称范围的数据/内容填充第二张纸上的范围。 这可能没有 VBA? 有数组公式可以做到这一点吗?

我想到的一种不是完全优雅的方法是使用index函数,并将其复制到与最大命名范围的大小等效的单元格范围内。 就像是:

 =INDEX(range_1,ROW(),COLUMN()) 

这需要我能够将一个命名区域的名称传递给一个函数。 这可能吗?

任何一个或这两个问题的答案将不胜感激。

没有这个,我唯一能想到的就是使用暴力, offset抬头,我不想这样做。

谢谢你的帮助。

Indirect可以做你想要的。

在Sheet1中,我创build了3个命名范围:

在这里输入图像说明

然后在Sheet2中,我

1)将这些名称放在A列中

2)使用链接到列A的数据validation列表在单元格(C2)中放置名称

3)在我想要保存数组的单元格(C4:E5)中使用数组公式{=INDIRECT(C2)} (用Ctrl+Shift+Enter接受)

在这里输入图像说明

当通过下拉菜单更改C2时,数组会自动更改:

在这里输入图像说明