FIC-Excel 篇七:多种方法逆向透视表 - Excel Unpivot
工作中经常遇到这种看上去像透视表一样的表格,我们可能需要‘还原’它。那么怎么做呢?一条一条的复制过去?今天教大家几种方法来逆向透视表:
我们需要把这张表格调整成这样,也就是宽表变成长表,non-tidy 变成 Tidy data, UNPIVOT
第一种方法,直接使用 透视表工具 来达成。
快捷键 ALT + D + P 调出透视表向导,如果记不住快捷键的同学,我们以后讲快速工具栏的时候会告诉大家在哪里可以添加透视表向导的按钮。
然后,选择【多重合并计算数据区域】
下一步,选择【自定义字段】
然后,按步骤选择我们的数据区域,并且添加到【所有区域】中
最后我们选择输出到当前工作表的 B16 位置并且点击【完成】
这个时候我们就会得到一个根据我们原数据来创建的真正的数据透视表,我们双击右下的总计数字就可以得到结果了
双击以后得到的值, 我们只需要修改掉【行】 + 【列】 + 【值】 的名称就可以得到我们想要的结果了
修改名称以后
好了, 这就是第一种方法。
第二种方法是利用 Power Query 来做
首先我们选中我们的元数据,并利用【数据】-【从表格】这个选项把我们的数据注入Power Query 后台。
注意选项,需要表包含标题
导入以后,我们选中【产品】这一列
然后点击【转换】-【逆透视列】-【逆透视其他列】
逆透视的结果就出来了。
然后重名名字段名称并上载到工作表。
这个时候就直接得到我们想要的结果了,非常方便吧!
这是第二种方法啦,也是我们最常用的方法。
第三种方法就要借助一下外部的工具了。
这里我们选择 Python Pandas 来帮助我们达成目标,首先我们复制原数据到剪切板
随后写一小段程序逆透视一下数据,并且返还到剪切板,具体步骤如下
其实只有4行
最后我们把剪切板中的内容黏贴到Excel的工作表中,就结束了。
细心的朋友可能之前发现我们excel 的工具栏还有xlwings, 所以,不借助剪切板我们也可以直接操作Excel 里面的数据:
这样就可以直接逆透视 Excel 中的数据了。xlwings 代码执行效果如下
好啦,这就是介绍的几种方法来逆透视你的数据,当然我们还可以用 VBA, SQL 或者其他编程语言来实现。本文只是讲解一下我们常用的方法。
上面说到第二种方法, 利用Power Query 的方法是我们最常用的,那么为什么呢? 因为它是接入了一个TABLE类型到Power Query 中, 当原数据在表范围内发生变化时,只要我们刷新一下Power Query ,我们就自然得到了变化后的结果,例如我们在原数据中分别增加一行和一列数据:
只需要ALT + F5 刷新数据,我们就可以看到增加了数据以后再逆透视的结果。
所以说Power Query 这个方法是一个更方便更高效的方法。
今天的分享就到这里了,如果想要了解更多内容,请关注我们Funincode。谢谢!
青冰白龙
校验提示文案
royalhost
校验提示文案
Ted_Y
校验提示文案
ZY知鱼
校验提示文案
boseidon
校验提示文案
whsally
校验提示文案
值友8386363284
校验提示文案
出席你得未来
校验提示文案
出席你得未来
校验提示文案
值友8386363284
校验提示文案
whsally
校验提示文案
royalhost
校验提示文案
boseidon
校验提示文案
青冰白龙
校验提示文案
ZY知鱼
校验提示文案
Ted_Y
校验提示文案