Google Sheets中计算Type-Token Ratio:超长文本字符串处理方案咨询
可直接使用的原生公式方案(无字符长度限制,无需自定义函数)
1. 统计总词汇量(tokens)
=SUM(ARRAYFORMULA(IF(B2:B="",0,LEN(B2:B)-LEN(SUBSTITUTE(B2:B,",",""))+1)))
原理:逐行统计每行的逗号数量,每行词数=逗号数+1,累加所有行的词数得到总词元量,完全不需要拆分或拼接字符串,无任何字符长度限制,性能最优。
2. 统计唯一词形数量(types)
=COUNTA(UNIQUE(FLATTEN(ARRAYFORMULA(IF(B2:B="",,SPLIT(B2:B,","))))))
原理:直接对整列逐行执行拆分,再通过FLATTEN将所有拆分得到的二维数组合并为一维数组,直接去重计数,全程不需要拼接全量字符串,规避了5万字符的上限,可支持上千行数据处理。
补充调整说明
- 如果你的词列表是逗号加空格分隔(格式为
a, b, c),将上述公式中SPLIT的分隔符参数替换为", "即可 - 如需忽略词汇前后的多余空格,可将
UNIQUE部分修改为UNIQUE(TRIM(FLATTEN(...)))
内容的提问来源于stack exchange,提问作者Archilecteur
相关产品推荐
相关产品推荐

