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

Excel公式逻辑详解:SUMPRODUCT如何计算C3:C15区域的唯一值?

Excel 唯一值计数公式原理解析

你给出的=SUMPRODUCT((C3:C15<>"")/COUNTIF(C3:C15,C3:C15&""))是Excel 365版本推出UNIQUE函数之前,非常常用的非空唯一值计数方案,计算逻辑拆分如下:

分步运算逻辑

  • 第一步:统计每个值的出现次数
    COUNTIF(C3:C15,C3:C15&"") 属于数组运算,会遍历C3:C15的每一个单元格,返回该单元格内容在整个C3:C15区域内的出现次数。末尾的&""是兼容处理逻辑:避免空单元格参与统计时抛出错误,统一把单元格内容转为字符串格式计数。
    比如你提供的测试数据里,Customer1一共出现3次,那C3:C15里所有存储Customer1的单元格,这一步返回的结果都是3;只出现1次的Customer5,对应位置返回结果为1。
  • 第二步:过滤空值
    (C3:C15<>"") 是布尔判断,非空单元格返回1,空单元格返回0,作用是排除区域内的空值,避免空值被误算为一个独立的唯一值。
  • 第三步:分组换算求和基数
    前两步的结果做除法后,每个非空值对应的结果都是1/该值出现次数:出现3次的值,每一行对应结果是1/3,3行加起来刚好是1;出现1次的值,对应结果就是1。所有结果相加的总和刚好等于区域内的唯一值总数。
  • 第四步:输出最终结果
    SUMPRODUCT函数会自动处理数组运算,不需要额外按数组公式快捷键,直接把第三步得到的所有结果求和,输出最终的唯一值数量。

测试数据验证

你提供的测试数据里,非空唯一值共6个(Customer1到Customer6),代入公式计算的总和为:
3*(1/3) + 2*(1/2) + 3*(1/3) +3*(1/3) +1*1 +1*1 = 1+1+1+1+1+1=6,和实际唯一值数量完全匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 01:15:04