Excel最常用的功能就是记录数据,把数据按照行列记录下来。这部分数据是源数据,是业务活动中最原始的流水账,作为后续操作的依据。为了从源数据中得出一定的结论,需要对源数据进行分析得出报表数据。在分析数据的过程中,除了用到根据实际情况变化的源数据,还存在不变的数据,例如各种比例、基数、基础信息,这里把这一类数据叫做基础数据。其实在业务系统中的数据也可以按这三种数据分类,只不过业务系统能提供友好的用户界面,Excel则完全面向数据。虽然Excel在用户界面上没法和业务系统相比,但对于数据的分类和处理方式和业务系统是一致的,遵循相同的规范会让数据处理起来更高效。
 
1、基础数据
    基础数据是指最基础的配置数据和基本信息数据,一般创建之后不会经常改动。例如组织架构、员工信息、产品分类、产品信息这些都属于基础数据。
基础数据又可以分为两类,单个基础数据和列表基础数据。单个基础数据一般是独立存在的单个值,例如各种基数。这种数据可以使用命名单元格的方式使用,后面做报表的时候只需要通过名称引用即可。列表基础数据是一类数据的集合,有多行或多列,例如组织架构信息、产品信息。对于列表基础数据可以用命名表格的方式使用。
    在命名表格中介绍了COLUMN函数,指定某个表格的列名,COLUMN函数就会返回该列的从1开始对应的序号。但是这个序号是从A列开始计算的,而VLOOKUP函数中第三个函数是指定从当前表格中的第1列开始计算的。如果在一行中存在多个表格,那么对于第二个表格使用COLUMN函数就会得到错误的列序号。所以建议基础数据纵向排列,不要在一行中存在多个表格。纵向排列还有一个好处,可以随意的添加和删除行,而不用担心删除其他表格的数据。纵向排列有一个弊端,定位数据会比较麻烦,需要较大幅度操作滚动条。但是这个弊端可以很容易避免,可以通过添加链接的方式。添加链接的方式会在后面的文章中介绍。
    实际维护基础数据时,建议对于较少量基础数据,可以把多个表格放在一个Sheet中。如果某一类基础数据的行数非常多,建议放到单独的Sheet中。
 
2、源数据
    源数据通常是手工输入,或者是从其他业务系统中导出的。如果是手工输入的,尽量减少录入的数据量,可以通过引用基础数据来实现自动填充一部分数据。另外为了避免手工输入数据发生错误,对于有一定限制的数据,建议使用设定数据类型和设定数据有效性(下拉列表)的方式进行限制。
    在设定源数据表格的列时,需要注意不要在一列中包含复合信息。服装有尺码和版型之分,例如衬衫36A表示36码A版。如果混合在一起,要分析出ABCY这四种版型中哪一个卖的最多,就没法直接用数据透视表分析出来了。为了给数据透视表提供正确的数据,源数据必须有列标题,不能有合并单元格,不能有空行。
    在设计源数据结构的时候,最需要注意的是不要使用维度项作为列,特别是把多个维度做成多表头的形式,如下图:
    这个是我看过的一个真实例子的缩减版(真实情况更复杂),把多个尺码和颜色做成列,导致后续分析的时候根本没法使用数据透视表。例如需要统计产品A的每个尺码各卖了多少件,或者按颜色统计,这个格式只能手工计算。正确的做法应该是这样:
    虽然这样导致数据行增多了,但后续分析起来更方便。
 
3、报表数据
    Excel提供了很强大的数据分析工具——数据透视表。以下面的数据作为源数据进行分析(使用命名表格,名称为销售源数据),要求得出每种产品按尺码统计的销售数量:
    切换到插入菜单,点击数据透视表。
    在弹出的对话框中输入命名表格的名称,如果没有使用命名表格,则使用鼠标选择要分析的数据区域,注意需要包含列标题。数据透视表的位置一般建议放在新工作表,避免对源数据所在的Sheet做修改。
    点击确定按钮之后,在新工作表中会展示如下提示信息:
    在工作表的右边会显示数据透视表的操作界面:
    通过拖动的方式将产品拖放到行区域,将尺码拖放到列区域,将梳理拖放到值区域。
    在工作表中会自动生成如下报表:
    可以把列标签和行标签修改为码数和产品。如果需要分析的是颜色,就把颜色拖到列区域,如果颜色和尺码都要分析,就可以同时把两个字段都拖到列区域。这个报表的格式就是前面提到的错误的源数据格式。
    在列区域中调整尺码和颜色的顺序,报表也会跟着改变。
    有了规范的源数据,就可以使用数据透视表通过拖拉的方式灵活得到想要的报表,根本不需要手工做报表。当然这里只是简单介绍数据透视表的用法,实际它的功能更强大。
 

Excel应该这么玩——5、三种数据:Excel也是系统的更多相关文章

  1. .Net MVC 导入导出Excel总结(三种导出Excel方法,一种导入Excel方法) 通过MVC控制器导出导入Excel文件(可用于java SSH架构)

    .Net MVC  导入导出Excel总结(三种导出Excel方法,一种导入Excel方法) [原文地址] 通过MVC控制器导出导入Excel文件(可用于java SSH架构)   public cl ...

  2. JSON三种数据解析方法(转)

    原 JSON三种数据解析方法 2018年01月15日 13:05:01 zhoujiang2012 阅读数:7896    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blo ...

  3. Hibernate中的三种数据状态

    Hibernate中的三种数据状态(临时.持久.游离) 1.临时态(瞬时态) 不存在于session中,也不存在于数据库中的数据,被称为临时态. 比如:刚刚使用new关键字创建出的对象. 2.持久态 ...

  4. Docker 数据管理-三种数据mount方式

    可以在Container可写层存储数据,但是有三个缺点: 当Container销毁时,数据不能持久保存. Container的可写层和Container所在的主机紧耦合,不容易将数据移动到其他地方. ...

  5. 浅谈Hibernate中的三种数据状态

    Hibernate中的三种数据状态:临时.持久.游离 1.临时态(瞬时态) 不存在于session中,也不存在于数据库中的数据,被称为临时态. 数据库中没有数据与之对应,超过作用域会被JVM垃圾回收器 ...

  6. Unity常见的三种数据本地持久化方案

    做游戏的时候常常会有数据配置或者存读档的需求,本文整理了常用的几种解决方案,分别是Unity自带的PlayerPrefs类,XML文件和Json文件. 一. PlayerPrefs 这是Unity自带 ...

  7. Java三大框架之——Hibernate中的三种数据持久状态和缓存机制

    Hibernate中的三种状态   瞬时状态:刚创建的对象还没有被Session持久化.缓存中不存在这个对象的数据并且数据库中没有这个对象对应的数据为瞬时状态这个时候是没有OID. 持久状态:对象经过 ...

  8. mssql sqlserver 三种数据表数据去重方法分享

    摘要: 下文将分享三种不同的数据去重方法数据去重:需根据某一字段来界定,当此字段出现大于一行记录时,我们就界定为此行数据存在重复. 数据去重方法1: 当表中最在最大流水号时候,我们可以通过关联的方式为 ...

  9. .net中三种数据类型转换区别((int),Int32.Parse() 和 Convert.toInt32() )

    (typename)valuename,是通用方法: Convert类提供了灵活的类型转换封装: Parse方法,适用于向数字类型的转换. 例如,(int),Int32.Parse() 和 Conve ...

随机推荐

  1. 实现倒计时功能js

    <p>系统将会在<strong id="endtime"></strong>秒后跳转到登录页!</p> [原生js实现] <s ...

  2. cocos2d-x初步了解

    1.渲染 2.帧率(FPS) 超过75一般就不容易察觉到有明显的流畅度提升 >50 非常好! 30~40  一般, 20~30  及格,有点勉强. 3.渲染驱动游戏 事件驱动游戏 4.cocos ...

  3. Weblogic部署项目三种方式

    在weblogic中部署项目通常有三种方式:第一,在控制台中安装部署:第二,将部署包放在domain域中autodeploy目录下部署:第三,使用域中配置文件config.xml 进行项目的部署. 控 ...

  4. Spring中Bean的作用域

    1.在Spring的早期版本中,仅有两个作用域:singleton和prototype,前者表示Bean以单例的方式存在:后者表示每次从容器中调用Bean时,都会返回一个新的实例 2.Spring 2 ...

  5. CLR:基元类型、引用类型和值类型

    最新更新请访问: http://denghejun.github.io   前言 今天重新看了下关于CLR基元类型的东西,觉得还是有必要将其记录下来,毕竟这是理解CLR成功 之路上的重要一步,希望你也 ...

  6. C语言2

    今天总结数组和数据类型,数组就是按一定顺序排列,具有某种相同性质的同类型变量的集合,这些变量具有相同的名字和数据类型(int  char long 等),在内存中顺序排列,并通过下标区分(下标从0开始 ...

  7. Nginx 和 Apache 开启目录浏览功能

    1.Nginx 在相应项目的 Server 段中的 location 段中,添加 autoindex on.例如: server { listen ; server_name www.dee.prac ...

  8. 简单快速部署samba服务器

    samba是一种在linux环境运行的免费软件,可以为局域网内的不同计算机系统之间提供文件以及打印机等资源的共享服务. samba服务安装和配置: 1.安装gcc编译器以及samba服务和samba依 ...

  9. UE4实现风格化渲染(一):UserNormalTranslator工具的使用

    最近会在UE4上实现风格化渲染的需求,所以也借机写一下相关的制作教程.对应日系风格化渲染技法来说,关键还是法线的处理.   法线处理以前翻译的资料很多了,所以也不多做解释了,比如下图是最新的UE4上的 ...

  10. memcached服务器

    memcached是高性能的分布式内存缓存服务器,通过缓存数据库查询结果,减少数据库访问次数,提高动态web应用的速度和可扩展性.为了提高性能,memcached把数据存储在内存中,重启memcach ...