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

基于星级评分条件统计评论列中特定单词的出现次数

基于星级评分条件统计评论列中特定单词的出现次数

我明白你现在的需求啦——要根据星级评分的条件(比如星级低于4星),统计评论列里特定单词的总出现次数,之前的公式能计算所有评论里的单词总数,但加上星级条件就卡壳了对吧?这是因为原来的数组运算逻辑和SUMIF的结构不太适配,咱们换用SUMPRODUCT函数就能完美解决这个问题。

核心解决方案公式

假设你的星级评分在H2:H190列,评论内容在G2:G190列,要统计word1和word2在星级小于4星的评论里的总出现次数,可以用这个公式:

=SUMPRODUCT((H2:H190<4)*((LEN(G2:G190)-LEN(SUBSTITUTE(G2:G190,"word1","")))/LEN("word1")+(LEN(G2:G190)-LEN(SUBSTITUTE(G2:G190,"word2","")))/LEN("word2")))

公式逻辑拆解

咱们来拆解一下这个公式的各个部分,方便你理解和修改:

  • (H2:H190<4):这是你的条件判断,会逐行检查星级是否小于4,满足条件返回TRUE(在运算中会被转为1),不满足返回FALSE(转为0)。
  • (LEN(G2:G190)-LEN(SUBSTITUTE(G2:G190,"word1","")))/LEN("word1"):这部分就是你原来用的单词计数逻辑——通过替换掉目标单词后计算长度差,再除以单词本身的长度,得到每行中word1的出现次数。同理,后半部分是计算word2的出现次数,两者相加就是每行两个单词的总次数。
  • SUMPRODUCT会把每行的条件判断结果和该行的单词总次数相乘,最后把所有行的结果加起来,这样就只统计了满足星级条件的评论里的单词次数。

其他可选方案(用SUMIF的思路)

如果你坚持想用SUMIF,可以把两个单词的统计分开,再相加,不过需要注意这是数组公式,旧版Excel需要按Ctrl+Shift+Enter确认:

=SUM(SUMIF(H2:H190,"<4",(LEN(G2:G190)-LEN(SUBSTITUTE(G2:G190,"word1","")))/LEN("word1"))) + SUM(SUMIF(H2:H190,"<4",(LEN(G2:G190)-LEN(SUBSTITUTE(G2:G190,"word2","")))/LEN("word2")))

不过相比之下,SUMPRODUCT不需要数组回车,兼容性更好,写法也更简洁。

小提示

  • 如果需要区分大小写统计单词(比如区分"Word1"和"word1"),可以把SUBSTITUTE替换成大小写敏感的判断逻辑,比如用FIND函数结合数组运算,不过一般评论统计不需要这么严格,默认的不区分大小写已经够用啦。
  • 记得确保评论列和星级列的单元格范围完全对应(比如都是从第2行到第190行),避免出现统计错误。

备注:内容来源于stack exchange,提问作者Kaci Collins

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 12:09:48