
Я уверен, что это проще, чем я думаю.
У меня есть несколько вертикальных списков. Например:
Пункт 1
Пункт 2
Пункт 3
Пункт 4
Пункт 1.1
Пункт 2.1
Пункт 3.1
Пункт 4.1
Пункт 1.2
Пункт 2.2
Пункт 3.2
Пункт 4.2
Я хочу поместить эти элементы в горизонтальный список, как показано ниже.
Пункт 1 | Пункт 2 | Пункт 3 | Пункт 4 |
---|---|---|---|
Пункт 1.1 | Пункт 2.1 | Пункт 3.1 | Пункт 4.1 |
Пункт 1.2 | Пункт 2.2 | Пункт 3.2 | Пункт 4.2 |
решение1
решение2
Давайте назначим каждому элементу "новый номер строки". Если мы знаем, что в каждом списке есть четыре элемента, то:
=QUOTIENT(ROW()-1,4)+1
Мы можем отфильтровать исходные данные, используя новый номер строки, например так:
=TRANSPOSE(FILTER($A$1:$A$12,$B$1:$B$12=ROW()))
В строке 1, ROW()=1. Затем этот ФИЛЬТР возвращает первые четыре значения из столбца A. Затем мы используем TRANSPOSE, чтобы повернуть их по горизонтали. Перетаскивая формулу вниз в строки 2 и 3, мы получаем остальные данные:
Если вы предпочитаете, вы можете пропустить первый шаг и просто использовать это:
=TRANSPOSE(FILTER($A$1:$A$12,QUOTIENT(ROW($A$1:$A$12)-1,4)+1=ROW()))
решение3
Я предполагаю, что ваши данные регулярны (упорядочены) и полны, без пропущенных элементов. По сути, у вас есть массив Tx1 для обертывания в таблицу anxm, где nxm = T.
Мы будем использовать позицию в нашей таблице (СТРОКА,СТОЛБЕЦ) как индекс в массиве. Предположим, что массив находится в столбце A листа1, а новая таблица находится в листе2. Тогда A1 в листе2 будет:
=INDEX(SHEET1!$A:$A, COLUMN()+(ROW()-1)*m)
Где m необходимо заменить на количество столбцов для переноса (в вашем примере — 4).