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

如何用ARRAYFORMULA实现支持买卖操作的累计求和(RUNNING TOTAL)

Google Sheets 按操作类型计算累计总额

需求说明

需要在表格中计算累计总额:当A列为“buy”时累加B列数量,为“sell”时扣除B列数量,示例如下:

A(操作)B(数量)C(总额)计算说明
buy1010累加10
buy1020累加10
sell515扣除5
buy2035累加20
sell1025扣除10

当前使用的公式(sell部分未完成):

={"Total", ARRAYFORMULA(IF(LEN(A2:A),IF(A2:A="buy",SUMIF(ROW(B2:B),"<="&ROW(B2:B),B2:B), "NEED CODE FOR SELL" ),))}

要求:不修改B列原始数值(B列需用于其他公式),实现累计总额计算。

解决方案

可以通过分别计算累计买入总额和累计卖出总额,再做差值的方式实现,公式如下:

={"Total", ARRAYFORMULA(IF(LEN(A2:A), 
  SUMIF(ROW(A2:A), "<="&ROW(A2:A), IF(A2:A="buy", B2:B, 0)) - 
  SUMIF(ROW(A2:A), "<="&ROW(A2:A), IF(A2:A="sell", B2:B, 0)), 
""))}

公式逻辑

  • 第一个SUMIF:计算当前行及之前所有行中,操作类型为buy的B列数值累计和
  • 第二个SUMIF:计算当前行及之前所有行中,操作类型为sell的B列数值累计和
  • 用累计买入额减去累计卖出额,得到当前行的累计总额
  • IF(LEN(A2:A))用于过滤空行,避免无操作的行显示0值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 02:45:14