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

基于FIFO的Google Sheets库存计算求助:多品类SUMIFs函数实现

解决多品类FIFO库存出库计算问题

看起来你已经搞定了同品类连续批次的FIFO出库计算,但多品类混排时,确实需要用SUMIFS来按品类分组统计,而不是简单的连续区域求和。下面是针对你需求的具体解决方案:

核心思路

我们需要按品类单独分组计算FIFO:

  1. 先匹配当前行所属品类的总销量
  2. 统计该品类在当前行之前的累计出库数量
  3. 用总销量减去累计出库,得到还需从后续批次出库的数量,再和当前入库批次的数量取最小值(同时避免负数)

具体公式(针对F列黄色单元格)

假设你的表格结构是:

  • A列:品类名称(比如「绿色苹果」「黄色苹果」)
  • C列:入库数量
  • 另外有一个单独的区域(比如J:K列)用来记录各品类的总销量:J列是品类名,K列是对应累计销量(比如J1=「绿色苹果」,K1=550)

把原来的公式替换成下面这个(以F4单元格为例,下拉应用到所有黄色单元格):

=MAX(0, MIN(C4, XLOOKUP(A4, $J:$J, $K:$K, 0) - SUMIFS($F$3:F3, $A$3:A3, A4)))

公式拆解

  • XLOOKUP(A4, $J:$J, $K:$K, 0):精准匹配当前行的品类(A4)对应的总销量,找不到时返回0(避免报错)
  • SUMIFS($F$3:F3, $A$3:A3, A4):只统计当前品类在当前行之前的累计出库数量(不会把其他品类的出库算进来)
  • MIN(C4, 总销量-累计出库):确保当前批次最多出库自身的入库数量,不会超发
  • MAX(0, ...):防止当总销量已经被之前的批次完全覆盖时,出现负数出库量

适配你的总销量单元格(如果G1是单一品类的总销量)

如果你的G1只是当前选中品类的总销量(比如只处理苹果时用G1),可以简化公式为:

=MAX(0, MIN(C4, $G$1 - SUMIFS($F$3:F3, $A$3:A3, A4)))

这样只要A列的品类和你要统计的品类一致,就会自动计算该品类的FIFO出库,其他品类会返回0(因为SUMIFS会过滤掉不同品类的行)

关于售价动态计算

如果你的售价是基于采购价(D列)的,比如售价=采购价×加价比例,那在对应的单元格(比如I列)可以用:

=F4*D4*1.2  # 这里1.2代表加价20%,你可以根据自己的定价规则调整

这样当F列的出库数量变化时,售价会自动关联采购价更新。

注意事项

  • 确保A列的品类名称完全一致(比如不要出现「绿苹果」和「绿色苹果」两种写法),否则SUMIFS和XLOOKUP会匹配失败
  • 如果你的总销量区域(J:K)有新增品类,公式会自动匹配,不需要修改
  • 下拉公式时,注意绝对引用和相对引用的正确性:$J:$J和$A$3:A3的绝对引用是为了固定范围,F3:F3是相对引用,会随着行号自动扩展

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 14:27:38