Google Sheets / Microsoft Excel 就是一套系统,其背后的核心是数据逻辑。
基本法则
完整的数据系统包含三张表:
- 参数表:基础数据的分类及属性;
- 源数据表:一定是一张一维数据表,俗称“天下第一表”;
- 各种分类汇总表:是在源数据表基础上抽取关键数据构成的二维汇总表。
其中,源数据表需要注意:
- 一维数据;
- 只有一个标题行;
- 同一属性的数据,都应该记录在同一列;
- 每一列只记录一个属性;
- 不要使用合并单元格破坏数据结构;
- 不要插入合并行,因为非常多余;
- 无分隔行/列;
- 数据区域中无空白单元格。
数据透视表
数据透视表是制作二维汇总表最简单的方法,简单摸索一下就很容易掌握了,这里不做展开。其缺点是格式相对固定,如果要更灵活的展示数据,还需要掌握函数的用法。
常用的公式
源数据组织
当我们需要把多张源数据表组织起来,可以使用跨文件导入的 importrange 函数。
如:我们将参数表和源数据表作为一个文件,汇总表作为另一个文件;那么汇总表中需要新建一个 Sheet 用 importrange 将源数据导入再做分析。注意汇总表的数据是跟随源数据表实时变化的。
再如:我们希望多个人各自提交数据,同时不希望他们可以看到其他人提交的数据。那么可以给每个人特定的一张源数据表,再将所有数据表汇总成一张总的源数据表,操作如下:
- 在一个 Sheet 中,给每个人设定特定的行数范围,在每个范围的首行利用
importrange将每个人的源数据导入到同一个 Sheet 中; - 新建一个 Sheet, 使用
sort对上一步的源数据表进行排序,将空白行排到后面去。
排序与过滤数组
filter:根据条件对范围内的进行数据过滤。sort:依据一列或多列对指定范围内的数据进行排序。sortn:在 sort 基础上只返回数据中的前 n 个。sort(filter):sort和filter嵌套使用,对过滤后的一组数据进行排序。unique:返回范围中唯一的数据,剔除重复的行。
有条件地统计数组
sumif:根据一个条件筛选出数据进行求和。sumifs:根据一个以上的条件筛选出数据进行求和(可以取代sumif)。
条件格式
多个条件
多个条件,用 and,如:=and($A2="foo", D$1>=$B2, D$1<=$C2)
变量行/列
多行/列依次检查条件格式,可以利用相对位置。但要注意变量行/列相对于范围的开头。如果公式需要检查水平/垂直固定的值,加个美元符号即可。
检查一整列
- 比如检查B列是否是“完成”,应该用:
=$B:$B="完成" - 如果B列包含“完成”,则公式改成:
=search("完成",$B:$B)