[英]Countif or counta google Spreadsheets to count word appearances
我想计算在谷歌电子表格中显示特定单词的次数(每行)。
我的电子表格看起来像这样(而?是我想要计算结果的区域):
表格1
|评论|提及交货|提及价格|提到服务|
|快速交货,非常好的支持|?|?|?|
|质量价格太高了。 包裹被损坏|?|?|?|
|电子邮件支持快速且有用| 0?|?|?|
表2(表1评论应与之比较的所有单词):
|提到交货|提到价格|提到服务|
|交货|价格|支持|
|航运|昂贵|服务|
|箱| - |电话|
在计算了表2中表达的表中显示的表中有多少单词后,表1应该如下所示:
|评论|提及交货|提及价格|提到服务|
|快速交货,非常好的支持| 1 | 0 | 1 |
|质量价格太高了。 包装破损| 1 | 1 | 0 |
|电子邮件支持快速而有用| 0 | 0 | 1 |
我尝试使用我无法工作的countif函数,现在正在使用counta,它的运行方式与预期相似(不使用表2),但我希望在表2中添加更多单词时自动调整公式:
=COUNTA(Filter(Split(D2," "),"delivery")) + COUNTA(Filter(Split(D2," "),"shipping"))
有什么解决方案吗?
假设F2包含注释,而列A列出与传递相关的单词。 以下公式计算注释中出现的A列中的单词数。 它需要字边界,因此“任性”不会被误认为是“价格”,而是允许一些复数形式,因此“价格”在“盒子”中的“价格”和“盒子”中被识别。
=sum(arrayformula(n(regexmatch(F2, "\b" & filter(A2:A, len(A2:A)) & "e?s?\b"))))
filter(A2:A, len(A2:A))
准备单词列表,省略空格。 regexmatch
返回True或False,具体取决于F2中的注释是否匹配。 n
将True转换为1,将False转换为0。 sum(arrayformula(...))
说:对每个单词执行上述操作,并添加结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.