在Microsoft Excel中引用交替单元格的方法咨询
解决Excel引用交替单元格的方法
针对Excel 365/2021及以上版本(支持动态数组)
直接用INDEX结合SEQUENCE就能生成你要的交替单元格数组,完全适配AVERAGE、LINEST这类函数:
- 引用A列的A1、A3、A5:
=INDEX(A:A,SEQUENCE(3,,1,2))
解释:SEQUENCE(3,,1,2)会生成1、3、5的行号序列,INDEX提取A列对应行的单元格,返回的是真正的单元格数组,可以直接嵌套进其他函数。
示例:求平均值用=AVERAGE(INDEX(A:A,SEQUENCE(3,,1,2)));用于LINEST用=LINEST(INDEX(B:B,SEQUENCE(3,,1,2)),INDEX(A:A,SEQUENCE(3,,1,2)))
兼容旧版本Excel(2019及更早)
用INDEX配合ROW生成行号,需要按Ctrl+Shift+Enter作为数组公式输入:
- 引用A列的A1、A3、A5:
=INDEX(A:A,ROW(1:3)*2-1)
同样可以直接嵌套进函数,比如=AVERAGE(INDEX(A:A,ROW(1:3)*2-1)),输入后按三键确认生效。
为什么你之前的INDIRECT公式会出错?
INDIRECT生成的是文本格式的单元格地址,作为数组使用时,多数函数无法将其识别为有效的单元格引用,所以会返回#VALUE!错误。用INDEX的方式是直接返回单元格引用,兼容性和稳定性都更好。
如果是引用同一行的交替单元格(比如A1、C1、E1)
调整公式即可:
- 365版本:
=INDEX(1:1,SEQUENCE(3,,1,2)) - 旧版本:
=INDEX(1:1,COLUMN(A:C)*2-1)(按三键输入)
内容的提问来源于stack exchange,提问作者trigress09
相关产品推荐
相关产品推荐

