Excel中的数据处理 - 重新排列列和行

时间:2017-03-07 15:34:35

标签: excel pivot transpose

我在excel中有一个庞大的数据集。我想重新排列行和列。

这是一个数据片段,它看起来像什么以及我希望它看起来像什么。

Area, Channel, Unit,  Year1, Year2, Year3, Year4
bel,  dc,      share, 25,    36,    56,    45   
bel,  dc,      avm,   23,    45,    65,    47,
bel,  dc,      ats,   45,    2,     3,     4,
bel,  tl,      share, 25,    36,    56,    45   
bel,  tl,      avm,   23,    45,    65,    47,
bel,  tl,      ats,   45,    2,     3,     4,

我想切换单位和年份(第1年,第2年,第3年,第4年)。看起来像这样

Area, Chennel, Year, Share, avm, ats
bel,  dc,      Year1, 25,    23,  45
bel,  dc,      Year2, 36,    45,  2
bel,  dc,      Year3, 56,    65,  3
bel,  dc,      Year4, 45,    47,  4
bel,  tl,      Year1, 25,    23,  45
bel,  tl,      Year2, 36,    45,  2
bel,  tl,      Year3, 56,    65,  3
bel,  tl,      Year4, 45,    47,  4 

有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:1)

有很多方法可以做这种事情 - 我通常使用索引匹配。

我使用索引匹配来做这件事。

=INDEX($D$2:$G$4,MATCH(D$7,$C$2:$C$4,0),MATCH($C8,$D$1:$G$1,0))

首先,我构建了我要转置数据的位置: enter image description here

然后我加入了正确的公式: enter image description here

以下是它的工作原理:

在这种用法中,Index有三个参数:一系列数字,我想要从中获取的行以及我想要从中获取的列。

范围永远不会改变,所以我用美元符号锁定(点击f4 INDEX( $D$2:$G$4

下一个参数是我要从中获取的行。我使用match来查找它。 Match(还有三个参数:我想要找到的值,我要找到它的范围,以及0让excel知道我的范围不合适,并且它需要找到完全匹配。

所以我的索引行是MATCH(D$7,$C$2:$C$4,0)"Year1"范围内查找$D$1 -> $G$1我在这里使用美元符号来锁定行和列,所以我可以将公式复制到整个表中,只有需要更改的部分才会。