SUMIF最小 - 迄今为止的条件

时间:2017-03-15 19:55:46

标签: excel function sum

我正在尝试在Excel中设置智能条件求和。但是可用的功能范围似乎并没有提供我想要的功能。

我有两列数字。在A中,我有我们称之为缩进级别的内容。在B中,我有价值观。

对于具有子缩进的任何特定行,我想在B中使用一个公式,该公式将计算B中从下一行到该行的下一个实例的值的总和 if A中相应的值是到目前为止的最小值

e.g。

row |  A   |  B   | calc'd
--------------------
  1 |  0   |    9 |  y
  2 |    2 |    2 | 
  3 |   1  |    7 |  y
  4 |    2 |    3 | 
  5 |    2 |    4 | 
  6 |  0   |    5 |  y
  7 |   1  |    5 | 

因此,对于第1行,总和范围将是第2行到第5行。这部分,我可以使用OFFSET MATCH

SUMIF应包含第2行,因为A2是A2中的最小值:A2。

同样,它应包括第3行,因为A3是A2中的最小值:A3。

但它不应该在总和中包含第4行或第5行,因为它们的A列值不是最小的“到目前为止”。 (这些值已经“累加”到第3行。)

如何使用这个“最小 - 迄今为止”的条件创建远程sumif?

1 个答案:

答案 0 :(得分:0)

我找到了解决方法。不像我想要的那么干净,但它可以解决问题:

向C列添加一个辅助值,即“父行”将汇总到。

例如,C5 {=MAX(ROW($9:5)*(A$1:A4<A5))}(注意:数组函数)。

制作B1 =SUMIF(C2:Cn,"="&ROW(),B2:Bn)的最终等式(其中n是工作范围的上限)。

正如这里所写的那样,插入行会让事情变得混乱,但是可以使用OFFSET扩展行以插入行。