微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

关闭和重新打开工作簿时 Google 表格查询输出更改

如何解决关闭和重新打开工作簿时 Google 表格查询输出更改

我有一本工作簿,用于跟踪我当地社区的游戏统计数据。我添加一个图表,该图表会根据一些选择而改变,并使用 filter 来获得所需的结果。数据来自我使用 query 计算月间差异的工作表(因为我无法使用谷歌提供的数据透视选项轻松完成)。其中一个查询看起来像这样

=query('Response Edits'!1:1112,"select A,B,C WHERE A IS NOT NULL AND NOT H matches '"&textjoin("|",TRUE,query('Response Edits'!1:1112,"select min(H) WHERE A IS NOT NULL group by D",0))&"' order by D,C ASC",0)

  • A 将时间戳中的月份值转换为正确的调查月份(例如,2020-07-01 将用于 06 调查,2020-07-29 将用于 为07调查)
  • B 将时间戳中的年份值转换为正确的调查年份
  • C 是调查提交的时间戳
  • D 是玩家名称
  • H 是调查提交的玩家 XP(我将其用作懒惰的解决方案,因为它只会增加并且因为我无法弄清楚 使用多个日期时间包含关键短语 date方法,例如 NOT C matches date texjoin("|","select min(C)...") 无效)

textjoin 只是删除提交的最早日期,因为它没有月到月的值。以下是上述查询的部分输出以及我认为正确的另一个查询

7   2020    2020-07-31 23:18:48 ... 6873449 198 11610
8   2020    2020-08-31 22:15:53 ... 7789713 175 8732
9   2020    2020-09-30 23:03:12 ... 5994347 139 8932

当我关闭工作表并重新打开它时,我注意到我的图表只有 0 个值,因为我的带有查询功能的工作表只输出 0。上面的查询和我的其他查询也给出了不同的输出我有提供了以下部分:

6   2020    2020-06-30 22:04:02 ... 0   0   0
7   2020    2020-07-31 23:18:48 ... 0   0   0
8   2020    2020-08-31 22:15:53 ... 0   0   0
9   2020    2020-09-30 23:03:12 ... 0   0   0

我是使用查询的新手,但公式似乎是正确的,因为如果我将公式中的最后一个 0(这是标题的选项)更改为 1,然后再更改回 0,我会得到所需的结果。

Tl;dr 为什么关闭并重新打开工作簿时查询的数据没有正确输出?以及为什么在公式更改后又改回来(包括选择撤消)后正确输出?是否可能导致查询出现问题的 textjoinmatches

解决方法

尝试运行这个:

=QUERY('Response Edits'!A1:H1112,"select A,B,C 
  where A is not null 
    and not H matches '"&TEXTJOIN("|",1,QUERY('Response Edits'!A1:H1112,"select min(H) 
  where A is not null group by D",0))&"'
  order by D,C",0)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。