导语:把表头内容转成一列,是数据规范处理中经常遇到的一个问题,这个问题本身并不复杂,如果没有处理好,却有可能把问题复杂化。
上周,领导给了我一份数据,要做个汇总分析,我打开其中一个excel,大概长这样:
显然,要进行数据分析,首先得把这个表给处理成规范的明细表,其中比较关键的是里面有很多个细分表,而每个细分表内容发生的时间是在每个表的前面单独记录,就像一个独立的表头的内容。
- 01 -
单表处理
这个问题稍显复杂,我们先来看一个简单一点也可能是大家更常见的,即一个工作表里只有一个独立表的情况。
这个处理起来比较简单,比如说我们把数据接入power query后,可以直接写一个公式:
这个公式里面同时把列名和日期都给放到了合适的位置,后面只要再把表头的几行内容去掉:
然后,再提升一下标题行就搞定了:
- 02 -
多表处理
但是如果我们回到一张工作表里面有很多个细分表的情况,那这个方法就有点儿问题。
因为每个细分表所需要取的日期不一样,我们无法直接将某一个日期赋值到整列,所以只能根据日期的标志先把日期提到并列位置:
然后再进行向下填充:
这个时候,有的朋友可能就会按照前面单表的处理方式,删除前几行,然后提升标题……
但是,这样操作就会发现,有一列的列名是动态的日期!
在这里,如果直接改列名为“日期”,那当碰到新的表,开始日期不一样的时候,这个处理过程就不适用了,而想要做到适应这个动态日期进行列名的更改,问题就会变得更加复杂——单表操作的“套路”似乎不灵了。
为了避开这个问题,我们考虑换一种方式,即在提升标题前,先想办法把列名搞定,其实也很简单,我们再添加一个条件列即可:
即基于我们前面填充号的日期列,再进行判断,如果是各细分表的标题行,就直接赋值“日期”,用以将来做列名,而对于不是标题行的位置,就取填充好的日期。
这样,我们就可以把原来填充的日期列删掉,然后继续按单表的思路进行处理了。
具体的处理过程可下载数据文件参考。
数据下载链接:https://t.zsxq.com/05UrZzjm2
学习没有用,除非你真的去用!
- 03 -
关于套路
表头日期转成一列是数据规范处理时的典型问题,其他还有单号或者填表人等等,也经常单独放在表头或表尾,但请不要把某一种解法视作“套路”!
虽然很多问题可能都是类似的,但是,一些细微的变化,可能就需要换一种处理方式,此时,千万不要陷在某些“套路”里跳不出来。
这里的关键其实还是熟练掌握和综合应用各项基础知识,从而在思考问题的原因之时,可以多尝试相应的解决方法——多动手,多尝试,自然就更熟练,也就能在遇到各种问题时,随机应变!
因为,“套路”,其实也是记不住的!
但是,你可以把“套路”,练成“思路”!
本文分享自 Excel到PowerBI 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!