Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets Countif或counta谷歌电子表格统计单词出现次数_Google Sheets_Countif_Text Classification - Fatal编程技术网

Google sheets Countif或counta谷歌电子表格统计单词出现次数

Google sheets Countif或counta谷歌电子表格统计单词出现次数,google-sheets,countif,text-classification,Google Sheets,Countif,Text Classification,我想计算一下特定的单词在我的谷歌电子表格中出现的次数(每行) 我的电子表格如下所示(while?是我想要统计结果的区域): 表1 |评论|提及交货|提及价格|提及服务| |快速交付,非常好的支持|?|?|?|?| |质量价格太高。包装损坏|?|?|?|?| | |电子邮件支持既快捷又有用| 0?|?|?|?| 表2(表1注释应与之进行比较的所有单词): |提及交货|提及价格|提及服务| |交付|价格|支持| |运输|昂贵|服务| |盒子|-|呼叫| 在计算了表2中有多少单词出现在表1的注释中后,

我想计算一下特定的单词在我的谷歌电子表格中出现的次数(每行)
我的电子表格如下所示(while?是我想要统计结果的区域):
表1
|评论|提及交货|提及价格|提及服务|
|快速交付,非常好的支持|?|?|?|?|
|质量价格太高。包装损坏|?|?|?|?| |
|电子邮件支持既快捷又有用| 0?|?|?|?|

表2(表1注释应与之进行比较的所有单词):
|提及交货|提及价格|提及服务|
|交付|价格|支持|
|运输|昂贵|服务|
|盒子|-|呼叫|

在计算了表2中有多少单词出现在表1的注释中后,表1应该是这样的:
|评论|提及交货|提及价格|提及服务|
|快速交付,非常好的支持| 1 | 0 | 1 |
|质量价格太高。包装损坏| 1 | 1 | 0 |
|电子邮件支持既快捷又有用| 0 | 0 | 1 |

我尝试使用countif函数,但无法使用,现在正在使用counta,它的工作方式与预期的一样(不使用表2),但我希望在表2中添加更多单词时自动调整公式:

=COUNTA(过滤器(拆分(D2,”,“交货”)+COUNTA(过滤器(拆分(D2,”,“装运”))


有什么解决方案吗?

假设F2包含一条注释,而a列列出了与交付相关的单词。以下公式计算A列中出现在注释中的字数。它需要单词边界,这样“caprice”就不会被误认为是“price”,而是允许一些复数形式,这样“price”在“prices”中被识别,而“box”在“box”中被识别

解释
  • filter(A2:A,len(A2:A))
    准备单词列表,省略空格
  • “\b”强制执行单词边界,而“e?s?”允许复数形式
  • regexmatch
    返回True或False,具体取决于F2中的注释是否匹配
  • n
    将True转换为1,将False转换为0
  • sum(arrayformula(…)
    说:对每个单词都做上述操作,然后添加结果

  • 假设F2包含注释,而a列列出了与交付相关的单词。以下公式计算A列中出现在注释中的字数。它需要单词边界,这样“caprice”就不会被误认为是“price”,而是允许一些复数形式,这样“price”在“prices”中被识别,而“box”在“box”中被识别

    解释
  • filter(A2:A,len(A2:A))
    准备单词列表,省略空格
  • “\b”强制执行单词边界,而“e?s?”允许复数形式
  • regexmatch
    返回True或False,具体取决于F2中的注释是否匹配
  • n
    将True转换为1,将False转换为0
  • sum(arrayformula(…)
    说:对每个单词都做上述操作,然后添加结果

  • 非常好用,非常感谢!感谢您提供的详细信息,这将在下次@soupworks完美运行时对我有所帮助,非常感谢!谢谢你提供的细节,下次@soup会对我有帮助的
    =sum(arrayformula(n(regexmatch(F2, "\b" & filter(A2:A, len(A2:A)) & "e?s?\b"))))