因此,我对使用excel来分析数据集很感兴趣--数据布局如下所示
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然后,我想找出所获得的重量,例如蓝色初始值1000,最后值3000,2000年的变化。对于红色5750-3000 = 2750的变化,我知道如何找出什么时候发生颜色变化。If(A1<>A2,A1,0)。这样做给了我一个输出,比如
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我想做一张新桌子,显示颜色和重量的变化。的输出类似于以下内容
我使用下面的公式来获得输出
=IFERROR(MMULT(AGGREGATE({14,15},6,$B$1:$B$78/($A$1:$A$78=G2),1),{1;-1}),"")请记在@XOR LX上,在上面的公式中,我选择的颜色是G2,数据是A和B。
使用这个公式,我可以得到如下的输出
Color|Change
Blue | 11000
Red | 5055
Yellow| 970相反,我想得到如下的输出。
Color|Change
Blue | 3225 eg (4225-1000)
Red | 1525
Yellow| 1570
Red | 2060
Blue | 2720发布于 2017-06-14 15:38:41
阵列公式**
=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
复制下来给出类似的结果,在E3,E4等颜色。
问候
**数组公式的输入方式与“标准”公式不同。首先按住CTRL和SHIFT,然后按ENTER键,而不是只按ENTER键。如果您做得正确,您会注意到Excel在公式周围放置了花括号{} (尽管不要自己尝试手动插入这些括号)。
https://stackoverflow.com/questions/44548564
复制相似问题