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

Excel分组统计唯一类别报错:空白行致SUMPRODUCT公式异常求助

解决Excel按邮箱统计唯一非空分类数量的问题

问题分析

你需要按email分组,统计每个邮箱对应的唯一非空category数量,且每行的sum_category列都显示该邮箱对应的统计结果。之前的两个公式存在以下问题:

  • 第一个公式出现#DIV/0!错误:当category列为空时,公式中COUNTIFS的分母会出现无效计算(空值匹配导致的0分母场景);
  • 第二个公式会将空白category计入统计:不符合你预期的统计逻辑(如trent.li@abc.com的空白分类不应被计数)。

解决方案

兼容所有Excel版本的公式

使用SUMPRODUCT结合IFERROR处理空值情况,确保只统计非空的唯一分类:

=SUMPRODUCT(IFERROR((A$2:A$100=A2)*(C$2:C$100<>"")/COUNTIFS(A$2:A$100,A2,C$2:C$100,C$2:C$100,C$2:C$100<>""),0))

公式说明:

  • (A$2:A$100=A2):匹配当前行的邮箱;
  • (C$2:C$100<>""):仅筛选非空的分类;
  • COUNTIFS(A$2:A$100,A2,C$2:C$100,C$2:C$100,C$2:C$100<>""):统计当前邮箱下,与当前行非空分类重复的次数;
  • IFERROR(...,0):处理空分类行的无效计算,避免#DIV/0!错误;
  • SUMPRODUCT:对每个非空分类行计算1/重复次数,求和后得到唯一非空分类的数量。

Excel 365/2021简洁版公式

如果你使用的是Excel 365或2021版本,可使用更直观的动态数组公式:

=COUNT(UNIQUE(FILTER(C$2:C$100,(A$2:A$100=A2)*(C$2:C$100<>""))))

公式说明:

  • FILTER(C$2:C$100,(A$2:A$100=A2)*(C$2:C$100<>"")):筛选出当前邮箱对应的所有非空分类;
  • UNIQUE:对筛选结果去重,得到唯一的非空分类列表;
  • COUNT:统计去重后的分类数量。

验证结果

将上述公式输入sum_category列的第一行(如D2),下拉填充后,即可得到你预期的结果:

  • trent.li@abc.com的sum_category为1(仅统计action);
  • jim.camrn@abc.com的sum_category为2(统计romance和action);
  • 空分类行的sum_category也会显示对应邮箱的唯一非空分类数量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 13:20:33