Excel中的数据拼图 - 重新排列列和行

Excel中的数据拼图 - 重新排列列和行

问题描述:

我在Excel中有一个海量数据集。我想重新排列行和列。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, 

我想切换单位和年份(Year1,Year2,Year3,Year4)。看起来像这样

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 

有没有办法做到这一点?

+0

不使用VBA。我认为偏移功能可能会做到这一点,但我仍然不确定。 –

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

我这样做的事情与索引匹配。

=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我在这里使用了美元符号来锁定行和列,以便我可以将公式复制到整个表格中,并且只有需要更改的部分才可以。

+0

这看起来很有趣,我会运行一些测试并回复给你。谢谢! –

+0

在有多个频道时努力做到这一点。我为我的例子添加了另一个频道。 –

+0

保持相同的基本结构,但现在您需要更多地调整行规范。只要_share,avm和ats_总是以相同的顺序出现,那并不难。只需使用match来搜索频道标签的第一个匹配项('match($ B8,$ B2 $ b4,0)'),并将结果添加到您的行规范中:您的左上角公式现在就是:'INDEX ($ D $ 2:$ G $ 4,MATCH(D $ 7,$ C $ 2:$ C $ 4,0)+比赛($ B8,$ B2 $ b4,0),比赛($ C8,$ D $ 1:$ G $ 1 ,0))'你的行为会有所不同,因为你已经将行添加到顶部表格上了。 – Adam