如何用数据透视表将二维表转成一维…

来源:互联网 发布:软件安全测试 编辑:程序博客网 时间:2024/06/05 23:42

首先,我们科普一下很多人一直都很困惑的名词:一维表 VS 二维表

其实这两种形式的表也没有一个很官方的定义,但所谓一维表,就是表头字段名不存在同性质的类型,而是能独立表示数据某种性质的描述,而二维表则是表头字段名会含有同性质的描述。

 

这个可能说不清楚也不好理解,我们看下面左右两个表格,就会比较明了……

表1的表头是“地区”、“品种”、“数量”三个互相独立的字段名,而表2,除了“地区”外,其余的是品种名称,是同性质的,因此区别是比较明显的。

 

如果从维度上来解释,我们假如想获得'湖南省' -'草莓'的数量,我们只需要一维的坐标就可以从表1上查询得到,而表2则需要两维的坐标,交叉点才是我们要查询的数据,如下黄色区域所示。

 

如何用数据透视表将二维表转成一维表?

----------------------------------------------------------
那为什么有人需要将二维的表格转化成一维的格式呢?

从上面我们也可以看到,二维表格有点“报表”的样式,查询数据不方便,而一维表属于原始流水帐类别的数据,但在Excel或者其他数据库中,查询数据却非常简单,尤其是普通情况下的透视表,我们都是需要一维的数据表作为数据源,这样制作出来的透视表,要统计分析的内容和对象才可以得心应手、随心所欲。

 

下面回到正题,以下表为示例,如果快速转化为一维表呢?

(除“名称”、“批次”、“货号”外,其余的均属于“尺寸”类别的字段)

如何用数据透视表将二维表转成一维表?

 

这文章的标题就已经告诉我们,转换的方法就是使用透视表,但上面我们又强调过,透视表一般处理的是一维表格的数据,现在怎么反过来将二维的转成一维的呢?先来说一下原理:

 

首先,其实用的是数据透视表另外一个功能“多重合并计算数据区域”,用过03版的对这个并不陌生,对于07版以后的用户来说,就接触的比较少,因为透视表功能把“向导”对话框给省略了,所以我们使用的时候,要按Alt+  D  → P  才能把数据透视表透视图向导对话框调出来。

 

其次,借助的是透视表另外一个特质功能,就是当开启了透视表的“挖掘”功能后(默认开启),我们双击某个透视表的字段或者数据项,就可以显示出该项的所有明细,而明细列表就是以标准一维表的方式显示的。

 

这里又有必要再科普一点,那就是“多重合并计算数据区域”跟“合并计算”功能类似,只能识别最右侧一列作为汇总字段名称,那我们怎么办?

这里作了一个小变通,就是当字段名称有多个时,我们可以在辅助列,用&和某些特殊符号将字段名称串接起来构造一个唯一的字段名,比如说=A2&"|"&B2&"|"&C2,这样取得数据之后,再“分列”即可。

如果你不想添加辅助列,那只得使用SQL语句,用UnionAll的方式才能维持原有字段……

而如果你要转换的表格本身只有一列字段名,那就完全可以省却这个步骤。

 

 

详细操作步骤如下,请先看一遍再观看动画演示:

1. 使用公式 =A2&"|"&B2&"|"&C2 添加辅助列,作为透视表数据源;

2. 按Alt + D  → P  打开数据透视表透视图向导对话框;

3.按要求选择数据区域(这里用了自定义页字段数量为0,主要是避免后面生成明细时多一页字段)

4. 在生成的透视表中,找到最右下角的合计总量,双击生成明细表;

5. 对明细的字段名作“分列”操作,并调整格式即可完成。 

 

 

如何用数据透视表将二维表转成一维表?

 

 




--------------------------

Excel难题需要付费处理,请联系:

http://excelstudio.taobao.com

如何用数据透视表将二维表转成一维表?

 

0 0
原创粉丝点击