例题描述和简单分析
有 Excel 文件 book1.xlsx,数据如下所示:

数据特征为:每行的日期并不连续,从远到近做红绿字记录,会跨年一直记录下去;每个日期只会对应一个红字或绿字。
现在需要统计绿字最多月出现次数(找到并算出单月最多次数),填到右侧的日期、次数下,结果如下:

解法及简要说明
在集算器中编写脚本 p1.dfx,如下所示:
| A | |
| 1 | 2020/3/16 1.041 … |
| 2 | =A1.split@n("\t").select(~(3)!="") |
| 3 | =A2.group(~(1).split("/").to(2).concat("/"):YM;~.len():len) |
| 4 | =A3.maxp(len) |
简要说明:
A1 从 excel 中复制左侧数据区域
A2 将 A1 读成序列的序列,过滤出“绿字”不为空的记录
A3 先将字符串形式的日期,按”/”分割为年、月、日,再将年、月拼为“年 / 月”,按日期的“年 / 月”分组,并统计组内绿字出现的次数
A4 找到 A3 中次数最多的记录
执行程序后,在集算器中选中 A4 单元格,再点击右侧对应的“copy data”按钮。在 Excel 中,点击 F6 单元格,按 Ctrl+V 就可以把计算结果粘贴过来。
针对Excel文件中的数据,使用集算器脚本实现对特定标记(绿字)的统计,找出单月出现次数最多的月份,并将结果返回。
686

被折叠的 条评论
为什么被折叠?



