Excel公式:SUMIF流程中不必要的额外步骤

时间:2017-05-19 17:40:56

标签: excel math

似乎我从一开始就忽略了一个非常简单的数学公式(理想情况下没有“if's”)。

不是在一个单元格中寻找编程或电子表格解决方案,以多个步骤解决这个问题 - 我可以自己组合所有这些。也许我错了,但似乎我正在将一个非常简单的数学/代数解决方案分解为许多不必要的步骤。

A    | B      | C    | D    | E        | F |  
:- - | :----- | :--- | :--- | :----    | :----------- |  
Rank | Col B | Col C | B+C  | Formula1 | B+C+Formula2 |  
1    |  700  |  20   |  720 |          |  849  |  
2    |  680  |  1    |  681 |          |  810  |  
3    |  679  |  1    |  680 |       5  |  809  |  
4    |  678  |  5    |  683 |       7  |  807  |  
5    |  673  |  7    |  680 |      11  |  797  |  
6    |  666  |  11   |  677 |      30  |  783  |  
7    |  655  |  30   |  685 |          |  761  |  
8    |  625  |  5    |  630 |          |  706  |  
9    |  620  |  1    |  621 |       2  |  697  |  
10   |  619  |  2    |  621 |       3  |  695  |  
11   |  617  |  3    |  620 |       8  |  691  |  
12   |  614  |  8    |  622 |          |  685  |  
13   |  606  |  1    |  607 |       5  |  670  |  
14   |  605  |  5    |  610 |      40  |  668  |  
15   |  600  |  40   |  640 |          |  658  |  
16   |  560  |  1    |  561 |       2  |  579  |  
17   |  559  |  2    |  561 |       6  |  577  |  
18   |  557  |  6    |  563 |      10  |  573  |  
19   |  551  |  10   |  561 |          |  561  |  
20   |  541  |  1    |  542 |          |  542  |  

嗨,对于这张桌子,我采取了几个步骤 1)在C栏中,

=SUM($b2,-$b3)   

2)在D栏中,

=SUM($b2,$c2)  

3)在E栏中,

=IF(SUM($d2,-$d3)<SUM($b2,-$b3),$c3,"")

在此步骤中,我确保所有D列记录(“B + C”)保持至少与下一记录相同的距离,就像它们最初在B列中所做的那样。 < / p>

4)在F栏中,

=SUM($d2,$e2:$e$21)  

现在将每个E列数字添加到其上方的所有数字。

1 个答案:

答案 0 :(得分:0)

所以我们有

C2 = B2 - B3, 
C3 = B3 - B4, .....
D2 = B2 + C2 = 2 * B2 - B3, 
D3 = B3 + C3 = 2 * B3 - B4, ....

E2 = if( D2 - D3 < B2 - B3 , C3 , 0 )
E2 = if( (2 * B2 - B3) - (2 * B3 - B4) < (B2 - B3), B3 - B4, 0)
E2 = if( 2 * B2 - B3 - 2 * B3 + B4) < B2 - B3, B3 - B4, 0)
E2 = if( 2 * B2 - 3 * B3 + B4 < B2 - B3, B3 - B4, 0)
E2 = if( B2 - 2 * B3 + B4 < 0 , B3 - B4, 0)
E2 = if( B2 + B4 < 2 * B3, B3 - B4, 0)
E2 = if( (B2 + B4)/2 < B3, B3 - B4, 0)

因此E2基本上是看B3是否大于B2 + B4的平均值。

我无法轻易简化F列公式。它可以用SUMIF编写,但你可能需要一个额外的列,其中包含2 * B3 - B2 - B4。

这似乎有点不寻常,因为更常见的是累积金额而不是底部的累积金额。

相关问题