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时,数组会自动更改: