计算行之间的差异之和,但前提是前一个单元格大于当前单元格
Calculate sum of differences between rows but only if the previous cell is bigger than the current one
我开始为我的问题感到头疼,因为我的爱我无法弄清楚。
如果有任何差异,则有未知数量的列,但基本上每一行都需要与前一行进行比较,并且只有当前一个值更大时,它们之间的差异才会被添加到总和中。
例如我有这个 table
| A |
--|-----|
1 | 100 |
2 | 90 |
3 | 80 |
4 | 100 |
5 | 70 |
6 | 20 |
7 | 100 |
...
预期结果:100,源自 ((100-90) + (90-80) + (100-70) + (70-20))
我花了一整天的时间浏览每个 excel 教程页面,但找不到一个有用的答案。请帮助:(
单元格 B2 的公式:(下拉浏览各行)。
=IF(A1>B1;A1-B1;0)+B1
逻辑:如果前一个值大于当前值,则将差值添加到总数中。
如果你想在一个公式中完成,一个基本的方法是两个使用一个单元格偏移的两个范围:
=SUMPRODUCT((A1:A6-A2:A7)*(A1:A6>A2:A7))
如果你想更动态一点(假设数据中没有间隙),你可以尝试
=SUMPRODUCT((A1:INDEX(A:A,COUNT(A:A)-1)-A2:INDEX(A:A,COUNT(A:A)))*(A1:INDEX(A:A,COUNT(A:A)-1)>A2:INDEX(A:A,COUNT(A:A))))
如果数字之间有空格,这将不起作用,您可能需要返回到更简单的下拉公式
我开始为我的问题感到头疼,因为我的爱我无法弄清楚。 如果有任何差异,则有未知数量的列,但基本上每一行都需要与前一行进行比较,并且只有当前一个值更大时,它们之间的差异才会被添加到总和中。
例如我有这个 table
| A |
--|-----|
1 | 100 |
2 | 90 |
3 | 80 |
4 | 100 |
5 | 70 |
6 | 20 |
7 | 100 |
...
预期结果:100,源自 ((100-90) + (90-80) + (100-70) + (70-20))
我花了一整天的时间浏览每个 excel 教程页面,但找不到一个有用的答案。请帮助:(
单元格 B2 的公式:(下拉浏览各行)。
=IF(A1>B1;A1-B1;0)+B1
逻辑:如果前一个值大于当前值,则将差值添加到总数中。
如果你想在一个公式中完成,一个基本的方法是两个使用一个单元格偏移的两个范围:
=SUMPRODUCT((A1:A6-A2:A7)*(A1:A6>A2:A7))
如果你想更动态一点(假设数据中没有间隙),你可以尝试
=SUMPRODUCT((A1:INDEX(A:A,COUNT(A:A)-1)-A2:INDEX(A:A,COUNT(A:A)))*(A1:INDEX(A:A,COUNT(A:A)-1)>A2:INDEX(A:A,COUNT(A:A))))
如果数字之间有空格,这将不起作用,您可能需要返回到更简单的下拉公式