如何在Google Sheets中用单元格值作为行号构造范围计算平均值?
解决Google Sheets动态范围平均值计算问题
问题背景
需要从「Data Sheet」工作表的H列中,基于当前工作表C2、C3存储的行号,计算对应范围的平均值,且支持调整行号改变时间范围。尝试的公式 =average('Data Sheet'!H(C2):H(C3)) 无法生效。
解决方案
Google Sheets不支持直接用H(C2)这种方式动态引用行号,需用INDIRECT函数将文本格式的范围转换为有效引用,正确公式如下:
=AVERAGE(INDIRECT("'Data Sheet'!H"&C2&":H"&C3))
公式解释
"Data Sheet'!H"固定指向目标工作表的H列&C2拼接C2单元格中的起始行号,&C3拼接C3中的结束行号,最终组合成完整的范围文本(例如C2=5、C3=10时,会生成'Data Sheet'!H5:H10)INDIRECT函数将上述文本转换为Google Sheets可识别的单元格范围引用,再通过AVERAGE计算平均值
进阶优化(可选)
如果需要处理行号为空、非数字或起始行大于结束行的情况,可以添加判断逻辑:
=IF(AND(ISNUMBER(C2), ISNUMBER(C3), C2<=C3), AVERAGE(INDIRECT("'Data Sheet'!H"&C2&":H"&C3)), "无效行号")
内容的提问来源于stack exchange,提问作者EdwardM
相关产品推荐
相关产品推荐

