Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как изменить формат даты в google query - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Как изменить формат даты в google query
dminicab Дата: Среда, 04.05.2022, 02:39 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 20% ±

Google
Доброго дня, форумчане!
Снова столкнулся с очередной проблемой(
Есть функция query вот такая:

Код
=QUERY('Лист6'!A1:AL;"select AL,J, max(Z), max(D), min(X), max(Y), sum(AB),  sum(P),  sum(Q)/sum(AB), sum(Q), sum(AG) where J >0 group by AL, J order by min(X) desc label AL 'Номер заказа', J 'ШК товара', max(Z) 'Дата обновления', max(D) 'Поставка', min(X) 'Дата заказа', max(Y) 'Дата покупки', sum(AB) 'Цена заказа',  sum(P) 'Цена покупки',sum(Q)/sum(AB) '% Комиссии', sum(Q) 'Комиссия', sum(AG) 'Логистика'")


Здесь по max(Z) возвращается дата вот в таком формате: "2022-05-01T00:00:00Z"
Как ее перевести в обычный формат типа "YYYY-MM-DD"?
Помогите пожалуйста?

Ссылка на пример
https://docs.google.com/spreads....sharing

Заранее всем добра и плюсы в карму)
 
Ответить
СообщениеДоброго дня, форумчане!
Снова столкнулся с очередной проблемой(
Есть функция query вот такая:

Код
=QUERY('Лист6'!A1:AL;"select AL,J, max(Z), max(D), min(X), max(Y), sum(AB),  sum(P),  sum(Q)/sum(AB), sum(Q), sum(AG) where J >0 group by AL, J order by min(X) desc label AL 'Номер заказа', J 'ШК товара', max(Z) 'Дата обновления', max(D) 'Поставка', min(X) 'Дата заказа', max(Y) 'Дата покупки', sum(AB) 'Цена заказа',  sum(P) 'Цена покупки',sum(Q)/sum(AB) '% Комиссии', sum(Q) 'Комиссия', sum(AG) 'Логистика'")


Здесь по max(Z) возвращается дата вот в таком формате: "2022-05-01T00:00:00Z"
Как ее перевести в обычный формат типа "YYYY-MM-DD"?
Помогите пожалуйста?

Ссылка на пример
https://docs.google.com/spreads....sharing

Заранее всем добра и плюсы в карму)

Автор - dminicab
Дата добавления - 04.05.2022 в 02:39
Kashimirush Дата: Пятница, 06.05.2022, 11:44 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 240
Репутация: 41 ±
Замечаний: 0% ±

Excel 2010
У вас в исходных данных формат не Дата стоял на столбец Z (данные записаны были как текст) отсюда ноги и растут.


Работа, работа, перейди на Федота...
 
Ответить
СообщениеУ вас в исходных данных формат не Дата стоял на столбец Z (данные записаны были как текст) отсюда ноги и растут.

Автор - Kashimirush
Дата добавления - 06.05.2022 в 11:44
dminicab Дата: Пятница, 06.05.2022, 17:47 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 20% ±

Google
Kashimirush, спасибо!
У меня просто по АПИ так данные подтягиваются. Значит, если они текстом выгружаются, то в формат даты их никак не преобразовать?
 
Ответить
СообщениеKashimirush, спасибо!
У меня просто по АПИ так данные подтягиваются. Значит, если они текстом выгружаются, то в формат даты их никак не преобразовать?

Автор - dminicab
Дата добавления - 06.05.2022 в 17:47
Gustav Дата: Вторник, 10.05.2022, 15:08 | Сообщение № 4
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Синтаксис параметра "select" функции QUERY, к сожалению, не позволяет включить в текст запроса строковые функции типа Substr, Mid, Left, Right и преобразовать значение колонки Z нужным образом прямо "на месте" внутри select'а. Поэтому всё, что можно сделать в данной ситуации - это либо изменить формат колонки-источника (вручную или скриптом), сделав его датой (если получится), либо добавить к диапазону исходных для запроса данных дополнительную колонку с формулой, преобразующей текстовое значение колонки Z в нормальную дату (и далее уже эту дополнительную колонку использовать вместо колонки Z в предложении select).

Формула для дополнительной колонки должна быть саморасширяющейся формулой массива, чтобы соответствовать переменному количеству строк исходных данных. Например, такой:
[vba]
Код
=ArrayFormula(ARRAY_CONSTRAIN( DATE( MID(Z1:Z;1;4); MID(Z1:Z;6;2); MID(Z1:Z;9;2) ); COUNTA(Z1:Z);1))
[/vba]
Если поместить эту формулу в ячейку AM1, т.е. в первую свободную колонку справа от диапазона исходных данных, то для функции QUERY надо будет расширить диапазон запроса до 'Лист6'!A1:AM, а внутри запроса в двух местах заменить выражение max(Z) на max(AM).

При таком подходе можно успешно преобразовать значения колонки Z, даже если они получены из другого файла с помощью функции IMPORTRANGE.


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеСинтаксис параметра "select" функции QUERY, к сожалению, не позволяет включить в текст запроса строковые функции типа Substr, Mid, Left, Right и преобразовать значение колонки Z нужным образом прямо "на месте" внутри select'а. Поэтому всё, что можно сделать в данной ситуации - это либо изменить формат колонки-источника (вручную или скриптом), сделав его датой (если получится), либо добавить к диапазону исходных для запроса данных дополнительную колонку с формулой, преобразующей текстовое значение колонки Z в нормальную дату (и далее уже эту дополнительную колонку использовать вместо колонки Z в предложении select).

Формула для дополнительной колонки должна быть саморасширяющейся формулой массива, чтобы соответствовать переменному количеству строк исходных данных. Например, такой:
[vba]
Код
=ArrayFormula(ARRAY_CONSTRAIN( DATE( MID(Z1:Z;1;4); MID(Z1:Z;6;2); MID(Z1:Z;9;2) ); COUNTA(Z1:Z);1))
[/vba]
Если поместить эту формулу в ячейку AM1, т.е. в первую свободную колонку справа от диапазона исходных данных, то для функции QUERY надо будет расширить диапазон запроса до 'Лист6'!A1:AM, а внутри запроса в двух местах заменить выражение max(Z) на max(AM).

При таком подходе можно успешно преобразовать значения колонки Z, даже если они получены из другого файла с помощью функции IMPORTRANGE.

Автор - Gustav
Дата добавления - 10.05.2022 в 15:08
dminicab Дата: Среда, 11.05.2022, 06:28 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 20% ±

Google
Gustav, огромное Вам спасибо!
 
Ответить
СообщениеGustav, огромное Вам спасибо!

Автор - dminicab
Дата добавления - 11.05.2022 в 06:28
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!