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

Excel单元格唯一值计数:小数点后值统计及多数值求和问题

Excel单元格内逗号分隔值的唯一值计数方案

一、统计所有逗号分隔数值的唯一值数量(如2,3,4,5,6结果为5)

如果使用Excel 365/2021及以上版本,直接用以下公式:
=ROWS(UNIQUE(TEXTSPLIT(A1, ",")))

  • 逻辑:TEXTSPLIT(A1, ",")将单元格内容按逗号拆分成数组;UNIQUE去除数组中的重复值;ROWS统计去重后数组的行数,即唯一值的数量。
  • 若单元格存在空项(如2,,3),可加入过滤排除空值:
    =ROWS(UNIQUE(FILTER(TEXTSPLIT(A1, ","), TEXTSPLIT(A1, ",")<>"")))

旧版本Excel(无TEXTSPLIT)替代公式

=SUMPRODUCT(--(FREQUENCY(MATCH(TRIM(MID(SUBSTITUTE(A1,",",REPT(" ",99)),ROW(INDIRECT("1:"&LEN(A1)-LEN(SUBSTITUTE(A1,",",""))+1))*99-98,99)),TRIM(MID(SUBSTITUTE(A1,",",REPT(" ",99)),ROW(INDIRECT("1:"&LEN(A1)-LEN(SUBSTITUTE(A1,",",""))+1))*99-98,99)),0)>0))

  • 逻辑:通过SUBSTITUTE+MID拆分逗号分隔的内容,MATCH+FREQUENCY识别唯一值,SUMPRODUCT统计唯一值的数量。

二、统计小数点后部分的唯一值数量

如果需求是提取每个数值的小数部分,再统计唯一值数量(如1.2,2.3,1.2,3.2结果为2),使用以下公式(Excel 365/2021+):
=ROWS(UNIQUE(MOD(--TEXTSPLIT(A1, ","), 1)))

  • 逻辑:--TEXTSPLIT(A1, ",")将拆分的文本转为数值;MOD(数值,1)提取小数部分;后续UNIQUE+ROWS完成去重计数。
  • 若要排除整数的小数部分(即排除0),加入过滤:
    =ROWS(UNIQUE(FILTER(MOD(--TEXTSPLIT(A1, ","), 1), MOD(--TEXTSPLIT(A1, ","), 1)<>0)))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 05:17:12