MS Excel: несколько списков в один

MS Excel: несколько списков в один

Я уверен, что это проще, чем я думаю.

У меня есть несколько вертикальных списков. Например:

Пункт 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

Если ваш список находится в столбцеА, затем попробуйте ввести формулу вВ1

=IFERROR(VLOOKUP("Item "&(COLUMN()-1)&IF(ROW()=1;"";"."&(ROW()- 1));$A:$A;1;0);"")

и растяните его вправо и вниз, пока не увидите пустые ячейки. Результат

решение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).

Связанный контент