Excel 具有不同长度的命名范围

Excel 具有不同长度的命名范围,excel,Excel,我有两个命名范围,每一个都是一个列(但我以后必须将它们转换为数组),但长度不同,第一个长度为5,第二个长度为3。假设第一个位于A1:A5,而第二个位于B1:B3 在C1中,我将输入一个值,0或1。如果是0,我希望在D列中有第一个范围(A列中的范围),而在C1中有1,我希望在D列中有第二个范围(B列中的范围) 有没有办法完成这项任务?非常感谢。您可以在至少与最大命名范围相同的范围内使用以下公式: =INDEX(INDIRECT(IF($C$1=0, "range1","range2")),ROW(

我有两个命名范围,每一个都是一个列(但我以后必须将它们转换为数组),但长度不同,第一个长度为5,第二个长度为3。假设第一个位于A1:A5,而第二个位于B1:B3

在C1中,我将输入一个值,0或1。如果是0,我希望在D列中有第一个范围(A列中的范围),而在C1中有1,我希望在D列中有第二个范围(B列中的范围)


有没有办法完成这项任务?非常感谢。

您可以在至少与最大命名范围相同的范围内使用以下公式:

=INDEX(INDIRECT(IF($C$1=0, "range1","range2")),ROW(D1))
按指定范围的名称更改
range1
range2


如果数组的大小不相同,您将得到一个#REF错误,您可以使用
IfError({the formula},“””)来管理它

您所说的“在D列中有第一(或第二)个范围”是什么意思?你在D栏的什么位置?什么东西回来了?表示范围引用的文本字符串,例如“A1:A5”?它可以工作,非常感谢!另外,Iferror功能非常有用,我不知道,谢谢!