INDIRECT函数无法识别单元格区域仅返回首个值问题求助
问题本质
你写的INDIRECT函数本身没有问题,已经正确识别到了D5:H5区域,你可以用=COUNTA(INDIRECT("D"&ROW(A5)&":H"&ROW(A5)))验证,返回结果为5,说明区域拼接和识别完全正常。
只返回第一个单元格值的原因是单单元格默认只能承载数组的首个元素,和INDIRECT的使用规则无关。
对应解决方案
如果你使用的是Excel 365/2021及以上版本(支持动态数组特性)
直接去掉手动添加的数组公式大括号,输入普通公式即可:
=INDIRECT("D"&ROW(A5)&":H"&ROW(A5))
公式会自动溢出到右侧相邻的4个单元格,完整返回D5到H5的所有值。如果需要把结果转为内存数组供其他函数调用,外层套TOROW即可:
=TOROW(INDIRECT("D"&ROW(A5)&":H"&ROW(A5)))
如果你使用的是Excel 2019及更早版本(无动态数组特性)
先选中你要输出结果的5个横向连续单元格(比如要输出到J5:N5,就先框选J5到N5),再在编辑栏输入你的原公式,按下Ctrl+Shift+Enter三键完成数组公式录入,5个单元格就会分别返回D5到H5的对应数值。
如果只是要把这个区域作为参数嵌套进其他函数(比如求和、求最大值),不需要额外处理,直接嵌套即可正常计算,比如=SUM(INDIRECT("D"&ROW(A5)&":H"&ROW(A5)))可以正确返回D5到H5的总和,不会只计算D5。
内容的提问来源于stack exchange,提问作者vk26
相关产品推荐
相关产品推荐

