如何在Google Sheets中快速实现逐列累加替换并批量处理行
Google Sheets 批量逐列累加替换的公式实现
需求说明
每行从E列开始,依次执行:
- E列值 = D列值 + 原E列值
- F列值 = 更新后的E列值 + 原F列值
- 后续列按此逻辑递推,批量应用到所有行
解决方案:用SCAN + BYROW 实现动态批量计算
直接在E2单元格输入以下公式,回车后会自动扩展到所有目标行和列:
=BYROW(D2:Z, LAMBDA(row, SCAN(INDEX(row,1), INDEX(row,2):INDEX(row,COLUMNS(row)), LAMBDA(acc, curr, acc + curr))))
公式解释
BYROW(D2:Z, ...):遍历指定范围(D列到Z列)的每一行,对每行单独计算SCAN(初始值, 目标列范围, 累加逻辑):- 初始值取每行的D列值(
INDEX(row,1)) - 目标列范围是每行的E列到最后一列(
INDEX(row,2):INDEX(row,COLUMNS(row))) - 累加逻辑
LAMBDA(acc, curr, acc + curr):用当前累积值(acc)加上当前列的原始值(curr),生成下一个累积值,也就是更新后的列值
- 初始值取每行的D列值(
使用注意事项
- 调整
D2:Z为你实际的数据列范围(比如如果数据到AA列,就改成D2:AA) - 公式会生成动态数组,无需手动下拉复制,Google Sheets会自动填充所有行和后续列
- 若要保留原始数据,建议将公式输入到另一组空白列(比如从G列开始),避免覆盖原数据引发循环引用
内容的提问来源于stack exchange,提问作者FearlessNite345
相关产品推荐
相关产品推荐

