You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel合并单元格中用COUNTIF统计各班级科目数量的方法咨询

保留合并单元格时统计班级对应科目数量的方法

当然可以实现,不用拆分合并单元格,以下是两种实用的公式方案:

方案1:使用SUMPRODUCT匹配班级范围

假设班级列是A列(存在合并单元格),科目列是B列,统计结果放在F列对应班级的合并单元格中。

在F列第一个班级对应的单元格(比如A2是"A班"合并单元格的顶部)输入公式:

=SUMPRODUCT((LOOKUP(ROW(A$2:A$100),ROW(A$2:A$100)/(A$2:A$100<>""),A$2:A$100)=A2)*(B$2:B$100<>""))

选中该公式所在的合并单元格,下拉填充至其他班级行即可。

原理

LOOKUP(ROW(A$2:A$100),ROW(A$2:A$100)/(A$2:A$100<>""),A$2:A$100) 会为每行匹配对应的班级名称(即使所在行的A列单元格是空的,也会向上找到最近的非空班级值),之后通过SUMPRODUCT统计该班级下非空的科目数。

方案2:累计减法(适合按顺序排列的班级)

如果班级是连续合并排列的(同一班级的行连在一起),可以用更简单的累计公式:

在F2单元格输入:

=COUNTIF(B$2:B$100,"<>")-SUM(F$1:F1)

下拉填充即可。

原理

COUNTIF(B$2:B$100,"<>") 统计所有非空的科目总数,SUM(F$1:F1) 累加之前已经统计过的科目数,两者的差值就是当前班级的科目数量。这个方法不需要匹配班级名称,依赖班级按顺序排列的前提。

为什么COUNTIF直接用会失效?

因为合并单元格只有顶部的单元格存储了班级名称,其他单元格是空值。直接用COUNTIF(A:A,A2)只会统计A列中等于"A2"值的单元格数量(也就是1),无法关联到该合并单元格覆盖的所有行的科目数。

内容的提问来源于stack exchange,提问作者Cath

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 22:50:21