Google Sheets如何用index()实现sum()公式按行自动批量计算
实现方案
你之前的INDEX写法本质是利用动态数组的溢出特性,将逐行计算得到的数组结果自动填充到对应行。要搭配SUM实现相同效果,核心是让SUM按行迭代计算,再通过INDEX返回整组结果触发自动溢出,具体写法如下:
方案1:适配你原有INDEX用法的写法(支持Excel 365/2021、Google Sheets)
=INDEX(BYROW(A1:C5, LAMBDA(row, SUM(row))))
直接在F1单元格输入上述公式即可,会自动向下溢出填充F1到F5的所有行求和结果,和你之前的使用逻辑完全一致。
- 原理说明:
BYROW函数会遍历A1:C5的每一行,对每一行调用SUM计算求和,生成一个5行1列的结果数组,外层的INDEX直接返回整个数组触发自动填充。
方案2:无需INDEX的简化写法(效果完全相同)
如果你不需要强制搭配INDEX,可以直接写为:
=BYROW(A1:C5, LAMBDA(row, SUM(row)))
直接输入F1即可得到相同的自动填充效果。
旧版Excel(无LAMBDA功能)兼容写法
如果使用不支持LAMBDA的旧版Excel,可以用如下写法实现:
=INDEX(MMULT(A1:C5,{1;1;1}),)
同样输入F1即可自动批量生成所有行的求和结果。
内容的提问来源于stack exchange,提问作者andio
相关产品推荐
相关产品推荐

