我想计算在我的Google电子表格中显示特定字数(每行)的次数。
我的电子表格看起来像这样(而?是我想要计算结果的区域):
表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"))
对解决方案的任何想法?
答案 0 :(得分:0)
让我们说F2包含注释,而A列列出与传递相关的词。以下公式计算注释中出现的A列中的单词数。它需要单词边界,以便" caprice"没有被误解为"价格",但允许一些复数形式,以便"价格"被认可在"价格"和"框"在"框"。
=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(...))
说:为每个单词执行上述操作,然后添加结果。