Задать вопрос
@wwaavvyy

Как в функцию QUERY добавить новые Col?

Здравствуйте. Делаю перенос таблицы с на другой лист с форматированием. Подробнее об этом в моем предыдущем вопросе. Как разделить данные ячейки, перечисленные через запятую, и перенести на другой лист? Как это автоматизировать?
Моя изначальная таблица:
spoiler
5fce1d5a0aaf6281262821.png
То, что получилось после при помощи формулы:
spoiler
5fce1dc01b2ab944379104.png
А вот и сама формула:
spoiler
5fce1de50e3e6783481780.png5fce1df782744527265626.png


Теперь мой вопрос (вернее, два):
1) Как сделать так, чтобы на новом листе были все столбцы из листа "Данные"?
2) Как исправить отображение данных в столбце Timestamp?

Ссылка на таблицу: https://docs.google.com/spreadsheets/d/1e53AE51FuJ...
  • Вопрос задан
  • 727 просмотров
Подписаться 3 Средний 2 комментария
Решения вопроса 2
@kishkin
P - это колонка за горизонтом, то есть буква, которая будет у самой правой колонки, если добавить ещё одну. У вас последняя имеющаяся - O. Поэтому следующая - P.

=QUERY(
  ARRAYFORMULA(
    {
      QUERY(
        FLATTEN(IFERROR(SPLIT('Данные'!B:B, ", ", 0))),
        "WHERE Col1 IS NOT NULL",
        0
      ),
      VLOOKUP(
        QUERY(
          FLATTEN(IF(IFERROR(SPLIT('Данные'!B:B, ", ", 0)) = "",, ROW('Данные'!A:A))),
          "WHERE Col1 IS NOT NULL",
          0
        ),
        {
          ROW('Данные'!A:A),
          'Данные'!A:A,
          'Данные'!C:P
        },
        SEQUENCE(1, COLUMNS('Данные'!C:P) + 1, 2),
        0
      )
    }
  ),
    "SELECT Col2, Col1, Col" & JOIN(", Col", SEQUENCE(1, COLUMNS('Данные'!C:P), 3)) & "
     FORMAT Col2 'yyyy-mm-dd hh:mm:ss'",
  1
)
Ответ написан
Комментировать
oshliaer
@oshliaer Куратор тега Google Sheets
Google Products Expert
Обновите до

=ARRAYFORMULA(QUERY((
  {
    QUERY(
      FLATTEN(IFERROR(SPLIT('Данные'!B:B, ", ", 0))),
      "WHERE Col1 IS NOT NULL",
      0
    ),
    VLOOKUP(
      QUERY(
        FLATTEN(IF(IFERROR(SPLIT('Данные'!B:B, ", ", 0)) = "",, ROW('Данные'!A:A))),
        "WHERE Col1 IS NOT NULL",
        0
      ),
      {
        ROW('Данные'!A:A),
        'Данные'!A:A,
        'Данные'!C:P
      },
      COLUMN('Данные'!B:P),
      0
    )
  }),
  "SELECT Col2, Col1, Col" & JOIN(", Col", COLUMN('Данные'!C:P)) & "
  FORMAT Col2 'yyyy-mm-dd hh:mm:ss'",
  1
))
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы