首页 > 解决方案 > Excel:2列最小值的累积总和,无需创建额外的列

问题描述

我有两列需要找到最小值,然后创建它们的累积总和。我可以通过创建一个额外的列来保存最小值然后对它们进行累积求和来做到这一点,例如:

Col1 Col2 min(Col1, Col2) Cumulative Sum of Mins
   1    3               1                      1
   4    2               2                      3
   3    5               3                      6

有没有办法在不创建额外列的情况下做到这一点?

我已经尝试过从sum(if(A$2:A2 < B$2:B2, A$2:A2, B$2:B2))另一个相似但不够相似的问题中找到(并修改)了它,但这似乎只是找到了整个范围内的最小值并将其输出到单个单元格中;将公式复制并粘贴到其他字段会导致:

公式中使用的值的数据类型错误

标签: excelexcel-2016cumulative-sum

解决方案


把它放在C2并复制下来:

=IFERROR(--C1,0)+MIN(A2:B2)

在此处输入图像描述


另一种方法是使用 SUMPRODUCT

=SUMPRODUCT(($A$2:A2<$B$2:B2)*($A$2:A2)+($A$2:A2>$B$2:B2)*($B$2:B2))

但这是一个数组类型的公式,因此复制的每一行都会以指数方式增加计算次数。如果使用了太多行,用户将在计算中看到时间延迟。

在此处输入图像描述


推荐阅读