标签:2021.01.22,陕西。
在使用Excel分析数据过程中,我们时常会遇到一些表格,看着挺直观的,但是想对数据进行进一步的加工分析时,却发现无从下手。
例如下面这张表:
商品 | 一店 | 二店 | 三店 |
---|---|---|---|
薯条 | 95 | 80 | 30 |
方便面 | 160 | 91 | 92 |
火腿肠 | 10 | 50 | 85 |
辣条 | 95 | 95 | 98 |
可乐 | 96 | 66 | 96 |
这个表挺直观的吧,不用介绍,大家也都能看出来这是门店的商品销量表。
但是如果我们知道每个商品的单价,需要计算每个门店的销售收入,该怎么计算呢?
有人说可以添加几个辅助列,不就计算出来了。
当然,这个表数据比较少,这么处理没啥问题。但是如果有很多商品,很多门店,而且还要对计算出的销售收入进一步分析计算,那还能一个个添加辅助列计算吗?
显然,不太好,效率太低。
这就是这个表的结构问题,比较适合人的阅读,但是并不适合机器自动化处理。
那么适合机器自动化如何处理的表格应该应该是什么样呢?
应该是下面这个样子:
商品 | 门店 | 销量 |
---|---|---|
薯条 | 一店 | 95 |
薯条 | 二店 | 80 |
薯条 | 三店 | 30 |
方便面 | 一店 | 160 |
方便面 | 二店 | 91 |
方便面 | 三店 | 92 |
火腿肠 | 一店 | 10 |
火腿肠 | 二店 | 50 |
火腿肠 | 三店 | 85 |
辣条 | 一店 | 95 |
辣条 | 二店 | 95 |
辣条 | 三店 | 98 |
可乐 | 一店 | 96 |
可乐 | 二店 | 66 |
可乐 | 三店 | 96 |
对比两个表,可以看出上面的表是二维的,行和列都是有意义的,每一个数据的意义都是由行和列共同定义的;而下面的表是一维的,每一行都遵循 键:值
的规律,每一个数据只由当前行的说明字段标明意义。
在使用电子表格 处理数据 过程中,很多场景下,并不适合使用二维表结构存放数据源,因为行和列的数量很多时候是不可控的,还容易引起录入错误的情形发生;最好用一维表的结构数据源,可以非常方便的使用筛选、函数或者数据透视表进行分析。
什么时候用二维表结构比较好呢? 当然是分析报告适合二维表结构了,因为这是最终的数据处理结果,不涉及再次数据处理的问题;而且更适合人的阅读。 我们日常处理数据时,最好遵循
源数据
→数据加工
→报告
的处理过程,3个过程对于表格结构的要求各不相同,而且处理数据的步骤进行规范分隔后,也方便源数据变化后再次快速出具报告。
那么如果取得的数据就是这种二维表,如何转换成一维表呢?
Excel或者WPS都没有专门的功能,但是我们可以通过数据透视表的功能变通实现转换。
如果使用Excel2013及以前版本,可以使用Excel的 数据透视表向导
功能。
具体操作:excel2013怎么将二维表转换成一维表 - 学习啦
如果使用Excel2016及以后版本,既可以使用Excel的 数据透视表向导
功能,还能使用新版Excel自带的 PowerQuery
功能来实现转换。
具体操作:Excel:三步搞定二维表转一维表 - 博客园
如果使用WPS,当然自带的 数据透视表向导
功能也能实现转换。
具体操作方式和Excel一样:①按 Alt
+ D
键,然后再按 P
键,唤出 数据透视表
向导,②选择 多重合并计算区域
,并且选择源数据区域,③在生成的透视表中,仅保留 值
的字段,然后双击 值
列下的数据,BINGO!一维表生成好了!
-end-