【问题标题】:Run away rows in Google Sheets在 Google 表格中逃跑
【发布时间】:2020-07-29 04:03:47
【问题描述】:

文档链接 - https://docs.google.com/spreadsheets/d/1-kEMMiB6mj3lt3DUSDvW3BmdGaADajbGUwD_oZVllWU/edit?usp=sharing

我编写了一个公式,它扫描 Slack 线程列表,将线程格式化为纯文本,然后计算纯文本范围内每个单词的频率。

此公式背后的目标是搜索在 Slack 频道中经常出现的“趋势”关键字。

如您所见,有几个选项卡,自述文件很好地解释了所有内容,但我将在此处提供 TLDR:

数据选项卡包含所有导入的 Slack 信息。 Data!E2 包含一个凌乱的 REGEXREPLACE 函数公式,可将数据过滤成纯文本。

在“关键字!A2”下的“关键字”标签中,您会找到“频率”计数公式。这里是:

​=ArrayFormula(QUERY(TRANSPOSE(SPLIT(JOIN(" ", Data!E3:E)," ")&{"";""}),"select Col1, count(Col2) where not(Col1 matches'"&JOIN("|", Stopwords!B1:B)&"') group by Col1 order by count(Col2) desc limit 800 ",0)) 

​为了澄清公式,搜索范围 Data!E3:E 并将所有单词与空格分隔符连接在一起。然后,我们将字符串拆分到多个单元格中,并将新的单元格行转置为关键字!A3 中的一列单元格。

最后,运行查询以计算每个单词的所有实例并将每个关键字的计数放入关键字!B3。要记住的一件事是,此查询是针对在 Stopwords!B1 下找到的停用词列表运行的,以便从查询中删除大量不需要计算的文本。

如您所见,我现在收到了#REF!错误。情况并非总是如此,有一段时间该公式按预期工作,单词列在关键字下的 A 列中,而 B 列显示它们出现的频率。然后其他列可以从该列表中运行它们的功能并填写关键字表的其余部分。

不过我很好奇,我注意到当我将函数范围设置为 Data!E3:3000 时,每次运行该函数时,它都会在该范围内再增加十行左右,所以它会增长到 E3:3018, E3 :3032 等等。然后它坏了,现在说“错误结果没有自动扩展,请插入更多行 (13)。”

如果有人可以帮助我优化这个公式以使其运行得更好一点,那就太棒了。谢谢!

【问题讨论】:

    标签: google-sheets spreadsheet


    【解决方案1】:

    抱歉,之前没有人回复。我刚找到这个。

    但我认为您的错误出现在停用词标签的 B 列中。那里的公式应该移动到 B1,而不是页面的中途。那就是给REF!错误,然后在引用 Range B1:B 时出现在主公式中。

    如果这有帮助,请告诉我。

    你可能想修改你的公式以结束:

     label count(Col2) '' 
    

    删除 count(Col2) 列的标题。

    【讨论】:

      猜你喜欢
      • 2017-07-21
      • 2022-06-13
      • 2014-12-26
      • 1970-01-01
      • 1970-01-01
      • 2016-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多