Google Sheets中按条件实现垂直向下自动减法的方法
Google Sheets中按条件实现垂直向下自动减法的方法
嘿,我来帮你搞定这个自动减法的需求!先看你给出的表格,核心就是同一SKU分组内,从初始库存(SKU BALANCE)开始,逐行扣除对应客户订单(CUST ORDER),得到实时剩余库存对吧?
先把你的示例表格整理得更清晰:
| SKU | SKU BALANCE | ID CUST | CUST ORDER | DESIRE FORMULA |
|---|---|---|---|---|
| 10100 | 100 | 115501 | 90 | 10 |
| 10100 | 100 | 115502 | 10 | 0 |
| 10036 | 100 | 115503 | 25 | 75 |
| 10036 | 100 | 115504 | 25 | 50 |
| 10036 | 100 | 115505 | 5 | 45 |
| 10040 | 100 | 115506 | 50 | 50 |
| 10040 | 100 | 115507 | 25 | 25 |
| 10040 | 100 | 115508 | ... | ... |
实现方法
我给你一个简洁的公式,直接就能实现需求:
假设你的「DESIRE FORMULA」列是E列,在E2单元格输入以下公式:
=IF(A2="","",$B2-SUMIF($A$2:A2,A2,$D$2:D2))
公式说明
IF(A2="","",...):如果当前行的SKU是空的,就返回空值,避免出现无效的计算结果$B2:锁定B列,确保始终引用当前行的SKU初始库存(毕竟同一SKU的初始库存都是一样的)SUMIF($A$2:A2,A2,$D$2:D2):这是核心部分,计算从A2到当前行中,所有和当前SKU相同的行的「CUST ORDER」累计总和。这里用了混合引用$A$2:A2,下拉时起始行固定在A2,结束行会自动跟着当前行变化,完美实现分组累计扣除。
操作步骤
- 把上面的公式输入到E2单元格
- 选中E2,鼠标移到单元格右下角,等光标变成十字形(填充柄),按住左键向下拖动,公式会自动适配每一行
你可以验证一下:比如SKU10100的第二行,公式计算的是100 - (90+10)=0,和你的预期完全一致;SKU10036的第三行是100 - (25+25+5)=45,完全匹配需求~
备注:内容来源于stack exchange,提问作者Davidson
相关产品推荐
相关产品推荐

