【发布时间】:2021-07-15 22:06:08
【问题描述】:
我有一本工作簿,用于跟踪我当地社区的游戏统计数据。我添加了一个图表,该图表会随着一些选择而改变,我使用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("|",TRUE,"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 为什么关闭并重新打开工作簿时查询的数据没有正确输出?又为什么改回公式(包括选择undo)后能正确输出?是否可能是 textjoin 或 matches 导致查询出现问题?
【问题讨论】:
标签: google-sheets refresh textjoin