Size: a a a

Чат | Google Таблицы и скрипты

2020 February 21

A

Admin in Чат | Google Таблицы и скрипты
Вряд ли встретятся исходные, где и даты и текст в одном столбце

А по суммированию есть решение... костылями - массив иначе обработать и впихнуть в квери
источник

VP

Vitaliy P. in Чат | Google Таблицы и скрипты
а я не знаю зачем лепить квери, если вы не контролируете формат )
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Admin
#решение

QUERY. Любой формат исходных данных.

QUERY капризен к формату данных в источнике, если в одном столбце и числа и текст (они не отобразятся).

Решение - принудительно изначально в данных превратить целиком в TO_TEXT (текстовый формат)

=QUERY( ArrayFormula(TO_TEXT(A:A)) )

В тему:
https://t.me/google_spreadsheets_chat/83772
Это хороший способ, если есть столбец, который нужно сохранить, работая с другими столбцами внутри QUERY
источник

A

Admin in Чат | Google Таблицы и скрипты
Vitaliy P.
а я не знаю зачем лепить квери, если вы не контролируете формат )
Это частая проблема на самом деле, неоднократно в чате спрашивали
источник

A

Admin in Чат | Google Таблицы и скрипты
Vitaliy P.
даты
Не проблема, если просто вывести 🙂
источник

VP

Vitaliy P. in Чат | Google Таблицы и скрипты
Admin
Не проблема, если просто вывести 🙂
Запрос "выбери строки с датой от позавчера до сегодня")
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Вот любопытный кейс, в нём мы показали, как можно создавать дополнительные нужные столбцы в QUERY
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
​​Выводим ближайшие к заданному числу (дате) значения из диапазона.

У нас есть массив элементов (смотрите скриншот), отберём из него три ближайших значения к числу три.

Поехали!
1. Вычитаем из каждого элемента массива наше число:
 =ArrayFormula({A3:A11-3})

2. Берем модуль результата и добавим к нему столбец исходного массива:
 =ArrayFormula({A3:A11\abs(A3:A11-3)})

3. Добавляем результат в формулу QUERY, сортируем по столбцу с модулем Col2, оставляем верхние три элемента limit 3 и выводим только столбец исходного массива Col1.

Итоговая формула:
 =query(ArrayFormula({A3:A11\abs(A3:A11-D1)});
"Select Col1 order by Col2 limit 3")

Бинго, у нас все получилось правильно 🤘

Таблица с примером
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Суть такая же - меняем с помощью формулы массива диапазон, который помещается внутрь QUERY
источник

A

Admin in Чат | Google Таблицы и скрипты
👍
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Admin
👍
👍
источник

VP

Vitaliy P. in Чат | Google Таблицы и скрипты
хотя с датами можно обмазаться так WHERE A >= date'"&TEXT(DATEVALUE(A2); "yyyy-mm-dd")&"'
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Vitaliy P.
хотя с датами можно обмазаться так WHERE A >= date'"&TEXT(DATEVALUE(A2); "yyyy-mm-dd")&"'
Боюсь, что для дат нужен столбец в формате даты, а не текста
источник

VP

Vitaliy P. in Чат | Google Таблицы и скрипты
Eugeny Namokonov
Боюсь, что для дат нужен столбец в формате даты, а не текста
datevalue жрёт как раз текст
источник

VP

Vitaliy P. in Чат | Google Таблицы и скрипты
и мы получаем число которое форматируем в SQL-совместимый формат
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Vitaliy P.
datevalue жрёт как раз текст
Я про другое - диапазон для отбора должен быть в формате даты
источник

A

Admin in Чат | Google Таблицы и скрипты
Vitaliy P.
Запрос "выбери строки с датой от позавчера до сегодня")
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
так нельзя
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
а так уже работает
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Admin
Не проблема, если просто вывести 🙂
так а в чем тут проблема? тут классический отбор по дате в query
источник