在随后的非空白行中跳过空白行并进行数学运算

时间:2017-06-14 15:12:03

标签: excel

所以我有兴趣使用excel来分析数据的布局,类似于下面的数据

@permission_required(Permission.ADMINISTER)

然后我想找到所获得的重量,例如蓝色初始值1000最终值3000变化2000.而对于红色5750-3000 = 2750的变化,我知道如何找到颜色变化发生时,例如。如果(A1<> A2,A1,0)。这样做会给我一个像

这样的输出
Color  | WEIGHT  
------ | ------  
Blue   | 1000  
Blue   | 2000  
Blue   | 3000  
Red    | 4225  
Red    | 5000  
Red    | 5750  
Yellow | 6250  
Red    | 7220
Red    | 9280
Blue   | 9720
Blue   | 11000
Blue   | 12000

我想制作一张显示颜色和重量变化的新表。  输出类似于以下

我使用以下公式获取输出

Color  | WEIGHT  
------ | ------  
Blue   | 1000  | 1000
Blue   | 2000  |
Blue   | 4225  | 
Red    | 4225  | 4225
Red    | 5000  | 
Red    | 5750  |
Yellow | 5750  | 5750
Yellow | 7220  |
Red    | 7220  | 7220
Red    | 9280  |
Blue   | 9280  | 9280
Blue   | 11000 |
Blue   | 12000 | 1200

归功于@XOR LX上述公式 我的颜色选择在G2中,我的数据在A和B中

使用这个公式,我可以得到像

这样的输出
=IFERROR(MMULT(AGGREGATE({14,15},6,$B$1:$B$78/($A$1:$A$78=G2),1),{1;-1}),"")

相反,我希望获得如下输出。

Color|Change  
Blue  | 11000   
Red   | 5055
Yellow| 970

1 个答案:

答案 0 :(得分:0)

数组公式**

=MMULT(INDEX(B:B,N(IF(1,SMALL(IF(MMULT(COUNTIF(E2,CHOOSE({1,2},A$1:A$14,A$2:A$15)),{1;1})=1,LOOKUP(ROW(A$2:A$15),ROW(A$2:A$14))),2*COUNTIF(E$2:E2,E2)-{1,0})))),{-1;1})

假设:

1)您有Excel 2010或更晚

2)您的表位于A1:B14(第1行中包含标题)

3)您选择的颜色,例如“蓝色”,位于E2

向下复制,为E3E4等中的颜色提供类似的结果。

此致

**数组公式的输入方式与“标准”公式的输入方式不同。您只需按住CTRL和SHIFT键,然后按ENTER键,而不是按ENTER键。如果你已经正确地完成了它,你会注意到Excel在公式周围放置了大括号{}(虽然不要尝试自己手动插入这些)。