Google sheets 查询(…)会稍微更改日期时间值
我遇到了一个问题,Google sheets 查询(…)会稍微更改日期时间值,google-sheets,google-sheets-formula,Google Sheets,Google Sheets Formula,我遇到了一个问题,QUERY稍微更改了一些日期时间值。这里有一个最小的可重复的例子 可以玩的玩具 A:A具有日期时间值 B:B使用=FILTER(A2:A,序列(行(A2:A),1,1,0))重复它们 C:C显示与原始值不匹配的任何值的行号。有N/A,所有内容都匹配 D:D使用=QUERY(A2:A,0)重复原始日期时间 E:E显示与原始值不匹配的任何值的行号。有几个 F:F显示原始值,G:G显示非匹配对的查询后的值。点后的第10位数字不同 H:H显示了F:F和G:G之间的差异。始终相同:-0
QUERY
稍微更改了一些日期时间值。这里有一个最小的可重复的例子
可以玩的玩具
具有日期时间值A:A
使用B:B
=FILTER(A2:A,序列(行(A2:A),1,1,0))重复它们
显示与原始值不匹配的任何值的行号。有C:C
,所有内容都匹配N/A
使用D:D
重复原始日期时间=QUERY(A2:A,0)
显示与原始值不匹配的任何值的行号。有几个E:E
显示原始值,F:F
显示非匹配对的G:G
查询后的值。点后的第10位数字不同
显示了H:H
和F:F
之间的差异。始终相同:G:G
-0.000000000007276…
注意:数据来自另一个(删除除datetimes之外的所有内容)。我不得不在答案中使用
过滤器
解决方案,尽管查询
解决方案更简单 这种行为是由时间值的“浮动错误”引起的,FILTER
处理值,而QUERY
尝试将其内部转换为文本字符串,这种情况下,值的结尾/小数位置被截断,从而增加了QUERY
和FILTER
之间的差异。从“精确性”的角度来看,过滤器更为“精确”,但从常识和偶然逻辑的角度来看,谁会在意以超过毫秒刻度的15+小数位格式表示的时间值…谁会在意。。。您介意试试QUERY
吗VLOOKUP
在原始列中找不到某些dt。至少没有额外的修改。很难猜测您希望如何以及在何处应用查询,但我检查了您建议的VLOOKUP解决方案,它在模拟我希望使用QUERY({K:K,E:E},“选择Col1,MAX(Col2)groupby Col1”,1)的每一行上都非常有效,而不是排序({K2:K,E2:E},2,False)
。这将为使用VLOOKUP
搜索提供更小范围的唯一日期时间。我确实这么做了,但幸运的是,当时我并不懒惰,并检查了原始OP的解决方案——结果发现了这个问题。