带有variables标准的Excel COUNTIF,然后将所有结果添加到它们上面的单元格

各种公式被用来创build几列数字。

列B和列C的总和值在列D中创build了值。列B的编号从B2到B58按降序排列。 因为C中的那些不下降,所以一些D值不是很好。

样品:
BCD
79.3 2.5 81.8
76.7 1.5 78.2
75.3 2.1 77.4
73.2 6.3 79.5 *
66.9 1.6 68.5
65.2 0.6 65.8
64.6 1.7 66.3 *
62.9 2.2 65.1

在这个例子中,D中的两个值比它们上面的单元格大。

在列E中,我想在D列中find像这样的所有单元格,其中D(n + 1)> D(n)。 无论发生什么事,我都想把相邻的C(n + 1)加到D $ 2:D(n + 1)单元的整个范围内。

简单地说,如果D34> D33,那么我想将C34添加到上面的所有单元格中,在D $ 2:D33中。 想法?

我认为这将做到这一点: –

=D2+SUM((D3:D$9>D2:D$8)*C3:C$9) 

假定原始数据从第2行开始,使用Ctrl Shift Enter input并下拉。

这个想法是,列C中当前单元格下方的相应值出现乱序的所有值的总和被加到列D中的当前值上。

在这里输入图像说明

编辑

如果列D中的最后一对数字不合格(因为它试图在示例中比较D $ 9:D10与D8:D $ 9),则该公式将在E列的最后一行中给出不正确的结果。 如果我们可以假设数据后面是一个空行,这可以很容易地修复

 =D2+IF(D3<>"",SUM((D3:D$9>D2:D$8)*C3:C$9)) 

另一方面,如果我们只能假定D $ 2:D $ 9是一个固定的范围,则公式应该是

 =D2+IF(ROWS(D$2:D2)<ROWS(D$2:D$9),SUM((D3:D$9>D2:D$8)*C3:C$9)) 

感谢@Dave M指出这一点。