如何在Google Sheets中达到MOQ时重置累计求和?需数组公式
Google Sheets 累计求和达到MOQ后重置的数组公式
我们需要在Google Sheets中使用数组公式,实现累计求和达到或超过最小起订量(MOQ=15)时自动重置求和,即每次累计值≥15后,下一行开始从当前数值重新累计。
示例数据
| 日期 | 数值 | 预期结果 |
|---|---|---|
| 12/2022 | 6 | 6 |
| 01/2023 | 5 | 11 |
| 02/2023 | 4 | 15 |
| 03/2023 | 3 | 3 |
| 04/2023 | 9 | 12 |
| 05/2023 | 2 | 14 |
| 06/2023 | 6 | 20 |
| 07/2023 | 1 | 1 |
| 08/2023 | 6 | 7 |
| 09/2023 | 1 | 8 |
| 10/2023 | 8 | 16 |
| 11/2023 | 9 | 9 |
| 12/2023 | 3 | 12 |
数组公式实现
假设需要累计的数值在B列(从B2开始),将以下公式放入结果列的第一个单元格(如C2):
LET( values, B2:B, moq, 15, running_total, SCAN(0, values, LAMBDA(acc, val, IF(acc >= moq, val, acc + val))), running_total )
公式逻辑说明
LET函数:定义变量简化公式结构,方便后续调整参数values:指定待累计的数值范围moq:设置最小起订量阈值为15
SCAN函数:逐行迭代计算累计值,通过LAMBDA定义核心规则:- 若上一行的累计结果
acc≥15,则当前行直接以当前数值val作为新的累计起点 - 若未达到阈值,当前累计值为上一行累计值加上当前数值
- 若上一行的累计结果
内容的提问来源于stack exchange,提问作者Ejaz Elahi
相关产品推荐
相关产品推荐

