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

例题描述和简单分析

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

A

B

C

D

E

result

ASDF

ISO9001

xcvb

TYUI

USA


ASDF

ISO9001

xcvb

TYUI

USA


ASDF

ISO9001

xcvb

TYUI

USA


ASDF

ISO9001

xcvb

TYUI

USA


ASDF

ISO9001

xcvb

TYUI

USA


ASDF

ISO9002

xcvb

TYUI

USA


ASDF

ISO9002

xcvb

TYUI

USA


ASDF

ISO9002

xcvb

TYUI

USA


ASDF

ISO9003

xcvb

QWER

USA


ASDF

ISO9003

xcvb

QWER

USA


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

..

解法及简要说明

使用 Excel 插件 SPL XLL,在空白单元格写入公式:

=spl("=E(?).group@o(D,B).run(~(1).result=min(~.len(),3)).conj()",A1:F11)

如图:

..

简要说明:

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

问答搜集

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