从 Excel 到集算器做业务数据计算

业务人员使用 Excel 做常规分析,非常得心应手。但当数据准备步骤繁琐、求解的问题相对复杂、解决的任务总是重复时,存粹使用 Excel 内部技术来实现会比较困难,理想的方法是在 Excel 外部通过程序或工具来解决,如果你曾经探索并实践过,你会发现市面上流行的编程语言或工具都很难胜任,比如 Python,学习成本高,对非 IT 专业人士很不友好,而且也不适合偏常规的业务计算;又比如 PowerQuery,图形界面化的操作加 M 语言,在数据准备阶段比较有效,但在数据分析阶段能做的太少。如果你遇到过上述数据分析时的烦恼,也曾经历过寻找解决方案的困惑,集算器是你的福音,它面向非专业人员,通过简单易用的函数和编写过程计算 Excel 数据,分步计算与结果协调一致,即装即用、调试方便,有点编程经验就能轻松上手。下面通过演示,带你做个初步了解。

比如,销管分析人员需要了解全国销售人员的业绩、年龄、性别及名单,分别想知道 “当年 40 岁以下女销售及销售额 ”,“当年每个省销售的前三名”,“近几年的销售冠军”,“连续三年省销售的前三名”。

数据准备

1jpg

打开集算器,用 file 函数加文件路径,找到员工表所在的数据文件,用 import 函数,把数据读入 A1 格,可以看到 A1 的格值成了一张数据表。

2jpg

在 A2 格,用上面同样的方法,把销售表读进来。

3jpg

在 A3 格,用 switch 函数,把销售表 A2 中的 SellerID 和员工表 A1 中的员工 ID 关联起来,类似于 Excel 中 xlookup 函数的作用,但有很大的不同,这里只需一次关联,后面就可反复使用了。

4jpg

在 A4 格,使用经过关联后的销售表 A2,这时 SELLID 已是个关联引用字段,用点加字段名称,可以直接使用员工表中的所有字段。因为主要是根据销售人员的业绩做分析,这里用员工 ID 和年对销售表 A2 进行分组,汇总每个分组的销售额,即每个销售每年的销售额,取出关联引用字段 SELLID,供后续使用的员工信息字段,运行后的结果表 A4 是个分组汇总表。这样,整个数据准备阶段就完成了。

数据分析

5jpg

6jpg

找出“当年 40 岁以下女销售及销售额”。只需在 A6 格,用 select 函数按年、性别及年龄筛选分组汇总表 A4。因为之前做了关联,员工的性别 GENDER 和生日 BIRTHDAY,只用通过关联引用字段 SellerID 点取即可,十分方便,后面我们仍然可以看到这样的使用。之后在 A7 格,用 new 函数取出筛选后的结果表 A6 中姓名和销售额的值。


7jpg

8jpg

找出“当年每个省的销售前三名”。在 A9 格,先用 select 函数按年筛选分组汇总表 A4,之后用员工所在的省做分组运算,最后用 Top 函数找出组内销售额前三的数据。在 A10,用 news 函数取出 A9 每个分组内的省名称、姓名和销售额的值。


9jpg

找出“近几年的销售冠军”。在 A12 格,先对 A4 按年和销售额从大到小排序,然后按年分组,@1 是函数选项,意思是取出每组的第一条记录,后接 new 函数,取出记录里想要字段的值。


QQ202409201423362xpng

QQ202409201425392xpng

找出“连续三年省销售的前三名”。需要先算出这些年每个省的销售前三名,然后再考察销售人员按年是否连续;在 A14 对 A4 按员工所在的省和年对数据分组,每组只保留按销售额排序前三的记录,后接 news 函数取出每个分组里记录字段对应的值。

接下来判断每个省的销售前三名的连续性,在 A15 先按员工 ID 和年进行排序;之后按员工 ID 分组,后接表达式计算连续性,如组内年份连续大于等于三,该表达式的的结果为 1,即该员工是连续的前三名,否则为 0;最后筛选并取出“连续三年省销售的前三名”的姓名和省名。

至此,完成了所有计算需求。

小结和延伸

12jpg

13jpg

上述计算的数据来源于订单表和员工表,实际情况要复杂的多,订单表还会关联客户表、产品表等,在数据准备阶段,虽然有些图形用户界面工具能帮上忙,但如果反复操作显然没有几行脚本来的方便。

QQ202409201435302xpng

在数据计算阶段,“可以看到用集算器连续展开多项计算”,过程十分方便,每步代码和对应结果一目了然,中间结果可以不断再利用,尤其像最后一个问题,如果用 Excel 公式求解,会相当麻烦,但用集算器分步求解,既容易想,又容易实现,类似问题还很多,可参见官网相关用例及图书。

15jpg

如果你打算将业务计算程序化、自动化,集算器是绝佳的选择,试试便知道了!

下载样例数据