Excel中拆分单元格文本后统计唯一值出现次数的方法求助
解决Excel中逗号分隔转诊原因的频次统计问题
假设你通过
=UNIQUE(TEXTSPLIT(H2:H31,","))得到的唯一值列表在J2:Jxx区域在紧邻的K2单元格输入以下公式,下拉填充(Excel 365/2021支持动态数组的话,输入后会自动溢出):
=COUNTIF(H:H,"*"&J2&"*")逻辑:在H列所有单元格中,查找包含当前唯一值(J2)的单元格数量,用通配符
*匹配条目前后的任意内容。若要避免部分匹配(比如不想把"胸痛待查"计入"胸痛"的次数),用精准匹配公式:
=SUMPRODUCT(--(ISNUMBER(SEARCH(","&J2&",",","&SUBSTITUTE(H2:H31," ","")&","))))逻辑:
- 用
SUBSTITUTE去掉所有空格,避免因空格导致匹配失败 - 给每个单元格内容前后加逗号,把条目统一为
,条目,格式 - 搜索
,当前唯一值,是否存在,将布尔值转为数字后求和
- 用
也可以一步生成唯一值+频次的组合结果,无需单独提取唯一值:
=LET( split_vals, TEXTSPLIT(TEXTJOIN(",",TRUE,H2:H31),","), trimmed_vals, TRIM(split_vals), unique_vals, UNIQUE(trimmed_vals), counts, COUNTIF(trimmed_vals,unique_vals), HSTACK(unique_vals, counts) )逻辑:
- 合并H列所有内容后拆分出所有条目
- 去除条目前后空格,提取唯一值
- 统计每个唯一值的出现次数,最后横向合并结果
内容的提问来源于stack exchange,提问作者olive1
相关产品推荐
相关产品推荐

