我正在尝试使用地址创建一个数组来从不同的工作表中查找最大值
=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)
希望这对别人有帮助!