Доброго дня, форумчане! Снова столкнулся с очередной проблемой( Есть функция 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"? Помогите пожалуйста?
Доброго дня, форумчане! Снова столкнулся с очередной проблемой( Есть функция 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"? Помогите пожалуйста?
Kashimirush, спасибо! У меня просто по АПИ так данные подтягиваются. Значит, если они текстом выгружаются, то в формат даты их никак не преобразовать?
Kashimirush, спасибо! У меня просто по АПИ так данные подтягиваются. Значит, если они текстом выгружаются, то в формат даты их никак не преобразовать?dminicab
Синтаксис параметра "select" функции QUERY, к сожалению, не позволяет включить в текст запроса строковые функции типа Substr, Mid, Left, Right и преобразовать значение колонки Z нужным образом прямо "на месте" внутри select'а. Поэтому всё, что можно сделать в данной ситуации - это либо изменить формат колонки-источника (вручную или скриптом), сделав его датой (если получится), либо добавить к диапазону исходных для запроса данных дополнительную колонку с формулой, преобразующей текстовое значение колонки Z в нормальную дату (и далее уже эту дополнительную колонку использовать вместо колонки Z в предложении select).
Формула для дополнительной колонки должна быть саморасширяющейся формулой массива, чтобы соответствовать переменному количеству строк исходных данных. Например, такой: [vba]
[/vba] Если поместить эту формулу в ячейку AM1, т.е. в первую свободную колонку справа от диапазона исходных данных, то для функции QUERY надо будет расширить диапазон запроса до 'Лист6'!A1:AM, а внутри запроса в двух местах заменить выражение max(Z) на max(AM).
При таком подходе можно успешно преобразовать значения колонки Z, даже если они получены из другого файла с помощью функции IMPORTRANGE.
Синтаксис параметра "select" функции QUERY, к сожалению, не позволяет включить в текст запроса строковые функции типа Substr, Mid, Left, Right и преобразовать значение колонки Z нужным образом прямо "на месте" внутри select'а. Поэтому всё, что можно сделать в данной ситуации - это либо изменить формат колонки-источника (вручную или скриптом), сделав его датой (если получится), либо добавить к диапазону исходных для запроса данных дополнительную колонку с формулой, преобразующей текстовое значение колонки Z в нормальную дату (и далее уже эту дополнительную колонку использовать вместо колонки Z в предложении select).
Формула для дополнительной колонки должна быть саморасширяющейся формулой массива, чтобы соответствовать переменному количеству строк исходных данных. Например, такой: [vba]
[/vba] Если поместить эту формулу в ячейку AM1, т.е. в первую свободную колонку справа от диапазона исходных данных, то для функции QUERY надо будет расширить диапазон запроса до 'Лист6'!A1:AM, а внутри запроса в двух местах заменить выражение max(Z) на max(AM).
При таком подходе можно успешно преобразовать значения колонки Z, даже если они получены из другого файла с помощью функции IMPORTRANGE.Gustav