Excel INDEX()函数在引用与字面数组间的异常行为
Excel INDEX()函数引用与字面数组的行为差异问题
本文涉及Excel的INDEX()函数。
假设Excel中有A1:B2区域:
| A | B |
|---|---|
| 1 | 2 |
| 3 | 4 |
使用公式
=INDEX(A1:B2, 0, 0)
时,会返回整个区域的动态数组,符合文档描述;
若省略最后一个参数col_num但保留逗号,即
=INDEX(A1:B2, 0, )
结果相同,也符合文档;
但直接省略col_num,即
=INDEX(A1:B2, 0)
会返回#REF!错误。
然而,当第一个参数从区域引用改为等效的字面数组,即
=INDEX({1, 2; 3, 4}, 0)
则会再次返回完整数组。
(补充说明:只要row_num参数有效,上述行为均会出现,包括取0或省略该参数的情况。)
仅当col_num被省略且输入引用为二维区域(多行多列)时,才会出现#REF!错误;若引用为单行或单列,行为则与字面数组一致,返回完整区域。
我未找到该异常行为的相关文档,且这是INDEX()函数在引用与字面数组作为首个参数时的唯一差异,其他场景下二者行为完全一致。
请问该差异是故意设计的吗?是否存在我遗漏的相关文档?
内容的提问来源于stack exchange,提问作者Neil T
相关产品推荐
相关产品推荐

