从单元格中减去一个金额,直到达到0,然后移动并减去下一个金额

时间:2016-04-24 18:08:04

标签: excel excel-vba loops if-statement excel-formula vba

你能帮我解决下面的问题吗?我的excel项目的目标是,每次在A列中找到B时,减去A的数量直到达到数量。

只有A值才会减去数量。 下次找到下一个B时,它将检查上面A的任何剩余数量等等。

enter image description here

我尝试过以下但是没有成功。

=IF(A2="B",MAX(SUM($B$2:B2)-OFFSET(A2,0,1),0),"")

我在考虑选择vba代码。

例如:

第一个“B”是上面的序列,剩余余额为零(0),因为300 -100留下零数量。 剩余200 将被取消250,余下 50

B上的剩余余额将始终为零

1 个答案:

答案 0 :(得分:0)

根据上述评论,似乎答案是将以下公式放入单元格C2,然后将其复制到C列的其余部分:

=MAX(SUMIF($A$2:A2,"A",$B$2:B2)-SUMIF($A$2:$A$8,"B",$B$2:$B$8),0)

为了计算“A”的“当前”余额,可以在单独的列中使用以下公式。例如,在单元格D2中:

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

(然后再次向下复制D列)