使用地址函数创建数组 excel

使用地址函数创建数组 excel

我正在尝试使用地址创建一个数组来从不同的工作表中查找最大值

=address(10,15,1,true,"othersheet")&":"&"address(11,20,true,"othersheet")

返回此othersheet!$O$10:othersheet!$T11

这将返回数组的正确地址,但不能直接使用。间接导致 #ref 错误。最大导致 #Value 错误

如果我将其复制粘贴othersheet!$O$10:othersheet!$T11到不同的单元格中作为值,然后取其最大值,=max(othersheet!$O$10:othersheet!$T11)这样就可以正常工作。

我不知道我错在哪里

答案1

您需要INDIRECT()像这样使用:

=MAX(INDIRECT(ADDRESS(10;15;1;TRUE;"othersheet")):INDIRECT(ADDRESS(11;20;1;TRUE;"othersheet")))

答案2

由于我对类似问题有不同的答案,因此我跟进了这篇 7 年前的帖子,花了一段时间才弄清楚如何使其适用于其他公式。

当我MATCH()使用ADDRESS()和任意组合来INDIRECT()创建数组时它会返回#VALUE错误

MATCH(A1,INDIRECT(ADDRESS(1,1,,,"othersheet"))&":"&INDIRECT(ADDRESS(1,10,,,"othersheet")),0)

或者

MATCH(A1,INDIRECT(ADDRESS(1,1,,,"othersheet")&":"&ADDRESS(1,10,,,"othersheet")),0)

均返回#VALUE

但如果我将它与它一起使用,INDIRECT(ARRAYTOTEXT())它似乎有效:

MATCH(A1,INDIRECT(ARRAYTOTEXT(ADDRESS(1,1,,,"othersheet")&":"&ADDRESS(1,10))),0)

希望这对别人有帮助!

相关内容