Excel合并单元格下COUNTIFS与SUMIFS的统计异常问题
Excel合并单元格统计问题解决方案
需求与问题
需求
- 统计开发/支持类的项目数量(遵循COUNTIFS函数统计逻辑)
- 统计开发/支持类的模型数量(遵循SUMIFS函数统计逻辑,截图为俄文版本)
遇到的问题
- 同一项目有多人协作时,项目会被重复计数
- 合并行中“支持”行非首行时,对应模型无法被统计
数据示例



解决方法
1. 去重统计开发/支持类项目数量
适用于Excel 365/2021版本
直接利用动态数组函数实现去重统计:
=COUNTA(UNIQUE(FILTER(A:A,(B:B="开发")+(B:B="支持"),"")))
逻辑:先筛选出所有开发/支持类的项目名称,去重后统计非空项数量。
兼容旧版Excel(无动态数组功能)
用SUMPRODUCT结合LOOKUP判断首行,避免重复计数:
=SUMPRODUCT((B:B="开发")+(B:B="支持"),--(A:A=LOOKUP(ROW(A:A),ROW(A:A)/(A:A<>""),A:A)),--(MATCH(A:A&LOOKUP(ROW(A:A),ROW(A:A)/(B:B<>""),B:B),A:A&LOOKUP(ROW(A:A),ROW(A:A)/(B:B<>""),B:B),0)=ROW(A:A)))
逻辑:通过LOOKUP填充合并单元格的空白值,再用MATCH判断是否为项目的首次出现,仅统计一次。
2. 正确统计开发/支持类模型数量
无论合并行的类型是否在首行,都用LOOKUP提取每行对应的项目类型,再统计:
用SUMIFS拆分统计
=SUMIFS(C:C,LOOKUP(ROW(B:B),ROW(B:B)/(B:B<>""),B:B),"开发") + SUMIFS(C:C,LOOKUP(ROW(B:B),ROW(B:B)/(B:B<>""),B:B),"支持")
用SUMPRODUCT一次性统计
=SUMPRODUCT(C:C,--((LOOKUP(ROW(B:B),ROW(B:B)/(B:B<>""),B:B)="开发")+(LOOKUP(ROW(B:B),ROW(B:B)/(B:B<>""),B:B)="支持")))
逻辑:LOOKUP会自动将合并单元格的空白行填充为上方的类型值,确保每行都能匹配到正确的项目类型,再统计对应模型数量。
内容的提问来源于stack exchange,提问作者DDR
相关产品推荐
相关产品推荐

