You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets中统计指定话题标签出现次数的最优函数咨询

Google Sheets话题标签出现次数统计解决方案

问题分析

你之前使用的函数无效,核心原因如下:

  • 第一个函数仅匹配#luxury字符串片段,会把#luxuryhouses、#luxurybathroom这类包含该片段的标签全部计入,无法精准统计完整标签的出现次数
  • 第二个函数中的SUM未做数组化处理,无法对U列的每个标签分别计算次数,只能返回单一结果

方法一:自动生成所有标签的去重列表+次数统计

用公式一次性提取所有有效标签(过滤空标签),并统计每个标签的总出现次数:

=QUERY(FLATTEN(SPLIT(TEXTJOIN(" ", TRUE, E2:E254), " ")), "SELECT Col1, COUNT(Col1) WHERE Col1 <> '' AND Col1 LIKE '#%' GROUP BY Col1 ORDER BY COUNT(Col1) DESC LABEL Col1 '话题标签', COUNT(Col1) '出现次数'")

公式拆解:

  1. TEXTJOIN(" ", TRUE, E2:E254):将E列所有单元格的标签用空格拼接,自动忽略空单元格
  2. SPLIT(..., " "):按空格把拼接后的内容拆分为多列
  3. FLATTEN(...):把拆分后的多列转换为单列,避免单元格内拆分出多列的混乱
  4. QUERY(...):筛选出非空且以#开头的有效标签,分组统计次数,最后按次数降序排序并添加表头

方法二:针对已有标签列表(如U列)统计次数

如果U2:U已经列出了你需要统计的特定标签,用以下数组公式即可:

=ARRAYFORMULA(IF(U2:U="", "", COUNTIF(FLATTEN(SPLIT(TEXTJOIN(" ", TRUE, E2:E254), " ")), U2:U)))

注意:如果E列存在空白单元格,TEXTJOIN的TRUE参数会自动忽略;对于示例中出现的# #这类空标签,COUNTIF会自动跳过(因为U列的标签都是有效#开头的完整标签)

额外优化:清理无效空标签

如果需要先清理E列中的空标签(比如# #),可以在辅助列(如F列)用以下公式统一处理:

=ARRAYFORMULA(TRIM(SUBSTITUTE(SUBSTITUTE(E2:E254, " # ", " "), "##", "#")))

之后用F列替代上述公式中的E2:E254即可。

内容的提问来源于stack exchange,提问作者Social Maison Valentina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 23:10:10