7.8 提前终止的累计
有如下库存数据:
已知今天卖出此种商品数量 50,计算新的库存数据 (按照表中的顺序,依次清除库存数量,累计清除 50 为止,最后只保留库存数量大于 0 的行):
A | |
---|---|
1 | =E(‘A1:D18’) |
2 | =A1.iterate((a=min(Quantity,~~),Quantity-=a,~~-a),50,~~==0) |
3 | return A1.select(Quantity>0) |
A2 进行 iterate 循环迭代处理,循环中 ~~ 代表上次迭代运行的结果,它的初始值设为 50。取当前行的 Quantity 与 ~~ 的最小值赋给变量 a,将当前行的数量减去 a,用 ~~-a 作为本次迭代的结果;当迭代结果 ~~ 为 0 时,结束迭代。
A3 选出迭代处理后的 A1 中 Quantity>0 的行