如何在每个二级分类的首行中计算当前二级分类的总行数

例题描述和简单分析

有 Excel 文件 book1.xlsx,数据如下所示:

D列是一级分组,B 列是二级分组,现在新增一列 result,只在每个二级分组的第 1 行的 result 有值,其他 result 空着。规则是:如果本二级分组计数大于 3,则 result=3;如果小于等于 3,则 result= 计数结果如下:

解法及简要说明

在集算器中编写脚本 p1.dfx,如下所示:


A

1

=clipboard().import@t()

2

=A1.group@o(D,B).run(~(1).result=min(~.count(),3))

简要说明:

A1   把剪贴板里的数据读成序表

A2  按 B 列分组,求每组内的记录数,若大于 3,则为 3,否则为该记录数,结果赋予组内的第一个 result。

执行程序后,在集算器中选中 A1 单元格,再点击右侧对应的“copy data”按钮。在 Excel 点击 A2 单元格,按 Ctrl+V 就可以把计算结果粘贴过来。

问答搜集

https://stackoverflow.com/questions/64223882/count-double-entries-in-2-rows-no-more-than-3-times