我的工作表中有一个列,其中包含通过Google表单复选框提交的表单值。由于表单中的多选项,这会在工作表中生成逗号分隔值(CSV)列表。一个例子:
我想计算每个“标签”的使用频率。产生类似的东西:
我找到了这个公式(归功于@AdamL),这非常适合计算整列完整连接中单个单词的频率:
=ArrayFormula(QUERY(TRANSPOSE(SPLIT(JOIN(" ";B3:B);" ")&{"";""});"select Col1, count(Col2) group by Col1 order by count(Col2) desc limit 10 label Col1 'Word', count(Col2) 'Frequency'";0))
但是,我找不到修改它的方法,用逗号(或逗号和空格)分割成生成的字段,而不仅仅是空格(当然,它会在每个字段中产生单个字)。希望这是有道理的。
尝试将Join中的分隔符替换为“”到“,”和“,” - 没有快乐:(
有什么想法吗?
答案 0 :(得分:1)
将其修改为用逗号(或逗号和空格)分割成生成的字段,而不仅仅是空格
您需要触摸的JOIN
和SPLIT
功能。而不是SPLIT(JOIN(" ";B3:B);" ")
,请尝试:
SPLIT(JOIN(", ";B3:B);", ")
^^ ^^
这样,JOIN
会将单元格与两个字符的分隔符", "
放在一起,这是与表单相同的分隔符。然后,SPLIT
将获取", "
的每个JOIN
和表单中的=ArrayFormula(QUERY(TRANSPOSE(SPLIT(JOIN(", ",B2:B),", ",false)&{"";""}),"select Col1, count(Col2) group by Col1 order by count(Col2) desc limit 10 label Col1 'Word', count(Col2) 'Frequency'",0))
,并将各个术语分开。单词之间的空间将存活下来。
你将拥有:
{{1}}