帮你早下班 - esProc 桌面版与 Excel 数据处理

 

前言

Excel 操作方便,有丰富的数据处理函数和图表绘制能力,运算快速准确,是日常办公中处理数据时不可或缺的工具软件,深受职场人员喜爱。

但是,仍然有相当多的复杂任务用 Excel 比较难处理,比如有序集合处理、数据结构变换、分类与筛选汇总交织出现、表间关联与比对等情况,以及涉及多个文件合并与拆分等等。这些复杂任务经常搞得职场人员头痛不已,加班加点才能完成。而 Excel 本身的 VBA 语言因为集合化的特点并不充分,学习难度较大,使用复杂度也不低,对大部分职场人员的实质性帮助很有限。

SPL 作为一种开源的程序设计语言,为 Excel 提供了插件、剪贴板并强化了程序设计等功能。SPL 简单易学、和 Excel 无缝衔接,可以当成一个 Excel 函数来使用;SPL 提供了丰富的有序运算,可以轻松实现定位查找;SPL 提供了丰富的结构化数据处理函数,不但可以进行各种复杂运算,还可以对数据结构进行各种变换;它天然支持分类的中间结果,能够对分类结果进行筛选及汇总,再也不担心分类和筛选汇总交织出现的复杂情况了;表间关联和比对更是它的强项,不但可以很简易地实现,而且运算效率也更高。在其它一些小功能上,SPL 也对 Excel 做了很多补充,比如有特殊需求的数据生成等。

在 SPL 的帮助下,职场人员可以方便地解决 Excel 在上述功能中的不足,使得日常办公的效率大幅度提升。

SPL 的学习可以参考 程序设计,只要有高中学历的同学都能轻松学会。


本书从互联网上收集了大量日常办公中会遇到的 Excel 难题,累计有数百个之多,覆盖面非常广泛。职场人员只要查找相应章节获得合适的例程和公式,加以改造就可以应用于自己的工作中。

让职场人员不再为 Excel 数据处理而加班加点,早下班不是梦!

目录

第 1 章 读写文件与常规计算

1.1 文本文件

1.2 Excel 文件

1.3 文件和目录

1.4 常规数据表运算

第 2 章 使用插件

2.1 安装与配置

2.2 使用 spl() 函数

2.3 编辑 SPL 代码

第 3 章 使用剪贴板

3.1 基本用法

3.2 随意编辑脚本

3.3 多个结果片区

3.4 多个源片区

第 4 章 合并 Excel

4.1 纵向合并 - 列名列数相同

4.2 横向合并 - 行名行数相同

4.3 纵向合并 - 列名列数不同 - 保留所有列

4.4 纵向合并 - 列名列数不同 - 只保留重复列

4.5 纵向合并 - 列名列数不同 - 只保留第一个文件的列

4.6 横向合并 - 行名行数不同 - 保留所有行

4.7 横向合并 - 行名行数不同 - 只保留重复行

4.8 横向合并 - 行名行数及次序不同 - 只保留第一个文件的行并对齐

4.9 纵向合并 - 文件名转成列值 - 文件个数不定

4.10 横向合并 - 文件名转成列名

4.11 横向合并 - 一对多 - 复制数据

4.12 横向合并 - 一对多 - 后续行置空

4.13 纵向合并去重 - 整行重复

4.14 纵向合并去重 - 行头重复 - 保留初次出现的数据

4.15 纵向合并去重 - 行头重复 - 保留不为空的数据

4.16 纵向合并去重 - 行头重复 - 删除所有重复数据

4.17 横向合并去重 - 列名重复 - 保留后出现的列数据

4.18 横纵两个方向同时合并 - 保留先出现的数据

4.19 格式转换 - 多个卡片式文件合并成一张行式表

4.20 格式转换 - 多个主子表文件合并成两张行式表

4.21 汇总文件 - 相同行列

4.22 汇总文件 - 横纵两个方向同时合并 - 汇总重复项

4.23 汇总文件 - 按单元格位置对位汇总 - 文件个数不定

4.24 汇总文件 - 追加汇总

4.25 汇总文件 - 累计汇总

4.26 汇总文件 - 插入汇总 Sheet 页

第 5 章 拆分 Excel

5.1 纵向拆分 - 按行数

5.2 纵向拆分 - 按数据分类 - 拆成多 Sheet

5.3 纵向拆分 - 按数据分类 - 拆成多文件

5.4 纵向拆分 - 按数据分段 (按过滤条件)

5.5 纵向拆分 - 一行生成一张卡片

5.6 纵向拆分 - 多卡片拆成一张卡片一个文件

5.7 格式转换 - 主子关系的表拆分成卡片

5.8 横向拆分 - 按列 - 列名做文件名

5.9 横向拆分 - 按列 - 列名做 Sheet 名

5.10 横向拆分 - 拆分后合并重复行

5.11 多 Sheet 拆成多文件 -Sheet 个数不定

第 6 章 查找定位与筛选

6.1 找第 n 个,找倒数第 n 个

6.2 前 N 名,后 N 名

6.3 用位置筛选

6.4 查找某个值的位置,用位置取值

6.5 查找满足条件的行序号

6.6 查找满足条件的行

6.7 多条件筛选

6.8 用相邻行找

6.9 取同分类内的相邻行值(在相邻区间内查找和筛选)

6.10 按分类汇总值筛选

6.11 筛选时用到分类汇总值

6.12 在分类内用最大最小值筛选(每个分类找出一个)

6.13 找出连续出现某种情况的区间

第 7 章 计算格值与汇总值

7.1 简单列向汇总

7.2 有条件的汇总

7.3 将汇总值填到同类数据的第一行

7.4 把汇总值拆分到明细行

7.5 简单累计

7.6 分类内的累计

7.7 累计筛选

7.8 提前终止的累计

7.9 连续出现某种情况的累计

7.10 同类数据连续时使用相邻行相邻区间计算 (比上期、比去年同期)

7.11 同类数据不连续时使用相邻行相邻区间计算 (有数据缺失的比上期、比去年同期)

7.12 同类合并

7.13 字符串拼接汇总

7.14 使用同类数据的汇总信息来计算 - 占比

7.15 生成分类内编号

第 8 章 集合运算和从属判断

8.1 简单成员的交并差 - 两个集合

8.2 简单成员的交并差 - 多个集合

8.3 行式数据的交并差 - 两个集合 - 按关键列

8.4 行式数据的交并差 - 两个集合 - 按整行

8.5 行式数据的交并差 - 多个集合

8.6 次序相关的集合相等

8.7 次序相关的集合从属判断

8.8 次序无关的集合相等

8.9 次序无关的集合从属判断

第 9 章 重复判断、计数与去除

9.1 简单成员重复判断

9.2 行式数据重复判断 - 按关键列

9.3 行式数据重复判断 - 按整行

9.4 简单成员统计重复次数

9.5 行式数据统计重复次数 - 按关键列

9.6 行式数据统计重复次数 - 按整行

9.7 简单数据去重

9.8 行式数据去重 - 按关键列

9.9 行式数据去重 - 按整行

9.10 简单数据去重 - 不改变原序

9.11 行式数据去重 - 按关键列 - 不改变原序

9.12 行式数据去重 - 按整行 - 不改变原序

9.13 使用重复次数筛选

9.14 去除可以配对的数据

第 10 章 排名与排序

10.1 简单成员排序

10.2 行式数据排序

10.3 行式数据排序 - 按多列组合

10.4 行式数据排序 - 按表达式

10.5 分类内排序

10.6 按指定次序排序

10.7 指定次序中有重复值的排序

10.8 打乱次序

10.9 简单成员排名

10.10 行式数据排名

10.11 行式数据排名 - 按多列组合

10.12 行式数据排名 - 按表达式

10.13 将并列排名的成员拼接起来

10.14 分类内排名

第 11 章 分类和汇总

11.1 简单分组

11.2 多列组合分组

11.3 按表达式分组

11.4 按段分组

11.5 枚举分组

11.6 每 N 个成员分成一组

11.7 把一维数组变成二维数组

11.8 使用相邻数据作为分组条件

11.9 碰到空行时分组

11.10 碰到非空值时分组

11.11 按数据值的间隔分组

11.12 将分类内的数据拼接成文字

11.13 不确定多列自动汇总

第 12 章 关联与比对

12.1 直接在公式里写关联直接在公式里写关联

12.2 单列关联

12.3 多列关联

12.4 从关联表引用多列

12.5 写在公式里的区间关联

12.6 使用关联表做区间关联

12.7 使用二维关联表

12.8 使用区间范围倒查关联表

12.9 关联多行数据

12.10 与明细表关联

12.11 比对寻找变化

12.12 动态关联运算

第 13 章 行列转换

13.1 固定列的行转列

13.2 行式转交叉

13.3 交叉转行式

13.4 行列的上层分类互转 - 列转行

13.5 行列的上层分类互转 - 行转列

13.6 分类内数据横向拼入列

13.7 分类数据填入列时要再分类或排序

13.8 将同行的某些列作为分类成员转成多行

13.9 每 N 列一组转成多行

13.10 分类后把分类转成列

13.11 将多个列重新排版成交叉表

13.12 分类内行列互换

13.13 反向次序的行列互换

第 14 章 扩展与补齐

14.1 生成连续的数组

14.2 生成连续的数组 - 结果拼成串

14.3 根据数值将一行扩展出多行

14.4 拆分文字后扩展成多行

14.5 补足缺失部分使得数据连续

14.6 每隔 N 行补足若干空行

14.7 特定行后插入行

14.8 数据变化时插入空行

14.9 横向扩展出多列

14.10 横向扩展出多组 N 列

14.11 生成排列组合

第 15 章 文字运算

15.1 字符串拆分 - 逗号分隔 - 自动解析数据类型

15.2 字符串拆分 - 回车分隔 - 自动解析数据类型

15.3 字符串拆分 - 多字符分隔

15.4 字符串拼接

15.5 解析数字

15.6 解析日期

15.7 拆开不同类型的字符

15.8 拆出单词

15.9 解析 Key-Value 键值对

第 16 章 日期时间运算

16.1 按日期的年月统计

16.2 计算时间重复区间

16.3 生成一组相同间隔的时间序列 - 间隔 1 天

16.4 生成一组相同间隔的时间序列 - 间隔 2 天

16.5 生成一组相同间隔的时间序列 - 间隔 2 小时

16.6 生成一组相同间隔的时间序列 - 间隔 1 月

16.7 生成一组相同间隔的时间序列 - 周日

16.8 某月 / 季 / 年的第一个星期五