You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel:如何按文本类别创建动态累计求和?

实现同类别行前累计总和的Excel方案

嘿,你的需求用SUMIF函数会比你设想的VLOOKUP方案更直接高效,咱们一步步来搞定:

  • 先明确数据结构:假设你的类别列是A列(从A2到A14182),对应数值列是B列(B2到B14182),咱们要在C列生成每个行的「当前行之前同类别累计值」。

  • 核心公式(通用版,适合所有Excel版本)
    在C2单元格输入以下公式,然后按住填充柄往下拖动到最后一行:

    =SUMIF($A$2:A2, A2, $B$2:B2)-B2
    

    这里的逻辑很清晰:

    • $A$2:A2是混合引用,下拉时会自动扩展为$A$2:A3、$A$2:A4……始终包含从第一行数据到当前行的所有类别
    • 第一个A2指定要匹配的当前行类别,SUMIF会把这个范围内所有同类别对应的数值加起来
    • 最后减B2是因为SUMIF会包含当前行的数值,而你需要的是当前行之前的总和,所以要剔除当前值
  • 为什么VLOOKUP不合适?
    你提到的VLOOKUP($A$2:B2,2,FALSE)其实只能返回范围内最后一个匹配类别的数值,没法实现累计求和,所以这个思路走不通哦。

  • 性能优化(适合Excel 365/2021)
    因为你有14000+行数据,下拉填充可能会有点卡顿,要是用的是支持动态数组的Excel版本,直接用下面的公式就能自动生成所有行的结果,不用手动下拉,效率更高:

    =SCAN(0, A2:A14182, LAMBDA(acc, curr, acc + XLOOKUP(curr, A2:INDEX(A:A, ROW()-1), B2:INDEX(B:B, ROW()-1), 0, 0)))
    

    这个公式用SCAN逐个遍历每行数据,结合XLOOKUP查找当前行之前的同类别数值并累计。

内容的提问来源于stack exchange,提问作者user2020088

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:23:47