QUERY (...) немного изменяет значения даты и времени - PullRequest
1 голос
/ 18 июня 2020

Я столкнулся с проблемой, когда QUERY слегка изменяет некоторые значения даты и времени. Вот минимальный воспроизводимый пример.

A лист для игры.

  • A:A имеет значения datetime.
  • B:B повторяет их, используя =FILTER(A2:A, SEQUENCE(ROWS(A2:A), 1, 1, 0)).
  • C:C показывает номера строк для любых значений, которые не соответствуют исходному. Есть N/A, все совпадает.
  • D:D повторяет исходное время с =QUERY(A2:A,,0).
  • E:E показывает номера строк для любых значений, которые не соответствуют исходному. Их несколько.
  • F:F показывает исходные значения, а G:G показывает значения после QUERY для несовпадающих пар. 10-й ди git после другой точки
  • H:H показывает разницу между F:F и G:G. Всегда одно и то же: -0.000000000007276...

Почему? Есть ли способ исправить это? Может это ошибка в Google Таблицах?

PS: данные взяты из другого вопроса (удалено все, кроме даты и времени). Мне пришлось использовать в ответе решение FILTER, несмотря на то, что решение QUERY было проще. ?

1 Ответ

2 голосов
/ 18 июня 2020

такое поведение вызвано «плавающей ошибкой» значений времени, где FILTER работает со значениями, а QUERY пытается внутренне преобразовать его в текстовую строку, в каких случаях эти конечные / десятичные позиции значения обрезаются - возможно, разница между QUERY и FILTER. в смысле «точности» FILTER более «точен», хотя в смысле здравого смысла и случайной логики c - кого волнуют значения времени, представленные в форматировании с 15+ десятичными знаками, что далеко за пределами миллисекундной шкалы .. .

...