前言 进入论坛的人,绝大多数在进行“程序设计”(只不过自己没有刻意注意到这点)。什么是“程序”呢?也就是处理某件事情用到的一步一步怎么做的一些经过。什么是“程序设计”呢?答案是“程序设计=计算方法+数据结构”。在EXCEL里面,计算方法就是你处理你的工作簿用的方法,包括公式、函数、代码,还包括数据透视等等其他方法;数据结构就是把你的工作簿的数据设计如何表示,是“随心所欲”地表示,还是用比较好的方式,比如关系数据库、队列、堆栈、树等等表示。纵观论坛,相当多的问题都集中在计算方法上面,而鲜见有关数据结构的问题,而恰恰是因为数据结构的不合理引起计算方法的复杂,所以,在这里专门说说有关的数据结构。 下面为了叙述方便,我们把进行这些工作的人们称为“设计员”。 设计员接到一个Office任务,如果不是“写文章”,首先考虑的应该是:“用什么形式组织数据?”。在office大家庭里面,常用的表格有WORD表格和EXCEL 表格。WORD表格主要在于外观漂亮(例如:合并单元格、拆分单元格、斜线、颜色、边框等等几乎你可以想到的格式),主要用途是“给别人看的”。不少新人习惯使用WORD形式的表格(也许是“情有独钟”),但是它很不适合进行数据的计算处理。如果你的任务仅仅是“一次性的”,完事以后就什么都再也不要了,就可以用它。而EXCEL表格恰恰相反,它特别擅长数据处理,而且如果不是你特别去设置各种格式(这个恰恰是“无用功”),“看起来”外观不漂亮(就像你新建一个工作簿看见的那样),但是它是一个“地基”,地基建好了,在它上面才可以建设给别人看的高楼。如果你的工作以后还可能用到这些数据,那么,就应该用EXCEL表格。有了这些基础数据,就不愁没有“展示”它们的方法(展示的时候你可以设计各种格式),只要引用这些数据,你可以用另外的EXCEL来展示,也可以用WORD来展示,也可以用PPT来展示,还可以用其它东西来展示。 可能用到的数据结构选用EXCEL 表格来处理数据,首先就要对任务可能涉及的数据进行分析:有哪些数据?它们之间有什么关系?数据的量大概有多少? 如果是对单个对象进行描述(比如描述一个人的健康状况),可以用二维表; 如果单个对象之间有关系(比如描述一个家庭的状况,像户口簿),可以用三维表; 三维表之间有关系(比如描述一个村的家庭的状况,像登记某村低保家庭情况),可以用四维表;依次类推。 其他还有队列、堆栈、树、等等。 一、二维表平时最常见到就是二维表,也就是由若干行若干列组成的一个矩形区域。见图
图一 二维表 二维表是“关系数据库”的外在形式。 这里的数据通常情况下是“关系数据”,这些“关系数据”的集合称为关系数据库。 何谓“关系”,就是数据之间都有某种联系(它们都是为了描述一件事的某个特征)。这样,关系数据库的含义就是由“表格”组成的数据库。这个表格不需要进行任何格式设计(特别是合并单元格之类,有N行M列就有N×M个单元格)。 表格的列一般称为字段(也可以称为“项目”),每一列(字段)都具有相同的类型,其中第一列称为“字段名”(见图一的浅蓝色的行) 。 表格的行一般称为记录。一行称为一条记录。一条记录应包括描述它的所有数据。 大家记住一点:它的每一列要保证相同的类型,举个例子说,图一的“单位名称”字段不能出现“2013”数值数据,只能是文本字符;而“序号”字段也不能出现“学校”字样。 如果一个矩形表格的周围都是空白的行列所包围,这个表格也叫“表单”。 形成的二维表的标准形式就应该是“表单”。通常只由设计员输入后形成,一旦形成,就“只读”(提供数据供其他地方使用),只有设计员(或者通过授权的其他人员)才可以对它进行修改等操作。 (未完)
|