Excel中实现动态累计求和有四种方法:一、用=SUM($B$2:B2)配合填充柄;二、用SCAN(0,B2:Bn,LAMBDA(a,b,a+b))一次性生成;三、用=SUBTOTAL(9,$B$2:B2)适配筛选;四、用=SUM(OFFSET($B$2,0,0,ROW()-1,1))动态定高。

如果您在Excel中需要对一列数值进行逐行累加,生成随行变化的累计和,通常需避免手动输入SUM函数范围。以下是实现动态累计求和的多种方法:
一、使用相对引用的SUM函数(起始单元格固定)
该方法通过将求和起始单元格设为绝对引用、结束单元格设为相对引用,使公式向下填充时始终从首行开始累加至当前行。
1、假设数据从B2开始,在C2单元格中输入公式:=SUM($B$2:B2)。
2、按Enter确认后,选中C2单元格,将鼠标移至右下角填充柄处,双击或拖拽至所需行末。
3、每行C列结果即为B列从第2行至当前行的累计和,例如C5显示的是B2:B5之和。
二、使用SCAN函数(Excel 365 / Excel 2021)
SCAN是动态数组函数,可一次性生成整列累计结果,无需拖拽填充,且自动溢出响应数据变化。
1、在C2单元格直接输入公式:=SCAN(0,B2:B1000,LAMBDA(a,b,a+b))。
2、确保B列数据区域连续无空行,否则SCAN会在空值处中断累加。
3、若B列实际数据仅到B50,则可将B2:B1000改为B2:B50以提升计算效率。
三、使用SUBTOTAL配合筛选兼容的累计方式
当数据区域可能启用自动筛选,且需在筛选状态下仍保持对可见行的连续序号累加时,SUBTOTAL可识别隐藏行并动态调整引用范围。
1、在C2单元格输入:=SUBTOTAL(9,$B$2:B2)。
2、向下填充至对应行;该公式在未筛选时与SUM效果一致,筛选后仅对可见单元格累加。
3、注意:SUBTOTAL函数第1参数用9代表SUM,且必须配合$B$2(绝对起始)与B2(相对终点)组合使用。
四、使用OFFSET构建动态求和范围
OFFSET可根据当前行号动态确定求和区域的行高,适用于不希望使用结构化引用或需兼容旧版Excel的场景。
1、在C2单元格输入:=SUM(OFFSET($B$2,0,0,ROW()-1,1))。
2、按下Enter后填充至目标行;ROW()-1确保从第2行起算高度,例如在C4中生成OFFSET($B$2,0,0,3,1),即B2:B4。
3、若数据从第3行开始,需将ROW()-1改为ROW()-2以匹配起始偏移量。










