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

如何在Google Sheets中用ArrayFormula实现每行库存余额计算

在Google Sheets中用ARRAYFORMULA计算每行库存余额

假设你的表格包含以下列:

  • 商品:记录商品名称(如a、b)
  • 操作:记录买卖类型(如「买入」「卖出」)
  • 数量:记录操作对应的数量
  • 余额:需要自动计算的实时库存余额列

核心公式

在余额列的第一个数据单元格(比如D2)输入以下公式:

=ARRAYFORMULA(IF(A2:A="",,MMULT(--(ROW(A2:A)>=TRANSPOSE(ROW(A2:A)))*(A2:A=TRANSPOSE(A2:A)),IF(B2:B="买入",C2:C,-C2:C))))

公式逻辑说明

  • IF(A2:A="",, ...):跳过空白行,避免无效计算
  • --(ROW(A2:A)>=TRANSPOSE(ROW(A2:A))):生成矩阵标记当前行及之前的所有行,用于累加历史数据
  • *(A2:A=TRANSPOSE(A2:A)):筛选出与当前行商品相同的历史记录
  • IF(B2:B="买入",C2:C,-C2:C):将买入数量设为正,卖出数量设为负
  • MMULT(...):通过矩阵乘法,对符合条件的数量进行累加,得到每行的实时库存余额

示例效果

商品操作数量余额
a买入1010
a卖出37
b买入55
a买入411
b卖出23

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 08:20:25