如何在Google Sheets中提取段落词汇并按使用频次排序统计?
Google Sheets 词汇频次统计(排除停用词)方案
直接在B1单元格输入以下数组公式,即可自动生成B列的词汇列表(按频次降序)和C列的对应次数:
=LET( 原始文本, TEXTJOIN(" ", TRUE, A1:A25), 所有单词, SPLIT(REGEXREPLACE(LOWER(原始文本), "[^a-zA-Z\s]", ""), " "), 停用词, {"he","she","it","of","from","at","to","the","a","an"}, 过滤后单词, FILTER(所有单词, NOT(ISNUMBER(MATCH(所有单词, 停用词, 0))), 所有单词 <> ""), 唯一单词, UNIQUE(过滤后单词), 频次, COUNTIF(过滤后单词, 唯一单词), 排序结果, SORT(HSTACK(唯一单词, 频次), 2, FALSE), 排序结果 )
公式说明
LET:定义变量简化公式结构,便于理解和修改原始文本:合并A1:A25区域的所有文本内容所有单词:将文本统一转为小写,移除标点符号后按空格拆分出所有单词停用词:自定义需要排除的词汇列表,可直接在数组中添加/删除停用词过滤后单词:剔除停用词和空字符串,只保留有效词汇唯一单词:提取过滤后的不重复词汇频次:统计每个唯一词汇的出现次数排序结果:将词汇与频次合并为两列数据,按频次从高到低排序(若需按词汇升序,可在SORT中添加第三参数1, TRUE)
注意事项
- 输入公式后,Google Sheets会自动填充B、C列的结果,无需手动下拉
- 若文本包含连字符、下划线等特殊格式词汇,可调整
REGEXREPLACE的正则规则,例如保留连字符可改为"[^a-zA-Z\s-]"
内容的提问来源于stack exchange,提问作者Victor Enrich
相关产品推荐
相关产品推荐

