2016-02-19 4 views
1

Как видно на картинке, у меня есть 5 наборов 2 в одной колонке.
Мне бы хотелось, чтобы каждый набор находился в отдельной колонке.
Есть ли способ сделать это?Excel, конвертировать данные в один столбец в несколько столбцов

Я пробовал текст в столбцы, но это не сработало.

excel image

ответ

1

Вы можете сделать это, например, с формула; введите это C1 и заполнить вниз и вправо:
=OFFSET($A$1,ROW()-1+(COLUMN()-3)*6,0)

enter image description here

0

Общее решение

Представьте меня есть вертикальный массив, начиная с ячейки B2, который я хочу разделить на N штабелированные столбцы. Я поставлю эти столбцы из ячейки E4, как показано на рисунке.

enter image description here

Код, который добивается того, чего я хочу:

+OFFSET($B$2,(ROW()-ROW($E$4))*N+(COLUMN()-COLUMN($E$4)),0) 

Заменить N с нужным номером (и происхождения и назначения ячейки с вашими конкретными значениями, В2 и Е4 в этом пример) и разверните формулу по вертикали и по горизонтали, чтобы сформировать желаемую матрицу из столбцов N. Для случая N = 3, вы получите:

enter image description here

(PS: если массив находится в горизонтальном положении, использование транспонированного преобразовать в вертикальный, то можно перенести полученную матрицу, чтобы получить конечный результат..)

Пояснение

логика проста. Функция OFFSET имеет три обязательных входа. Первая - это первая точка вашего массива, которую вы хотите преобразовать (в приведенном выше примере, $B$2. Выбранный пункт имеет индекс 0, тот, который ниже индекса 1 и т. Д. Итак, вы хотите поставить они заказали индекс в матричной форме, как показано ниже (для случая N = 3):.

enter image description here

The правило, чтобы переместить эти индексы задается во второй записи функции OFFSET Это в основном формулу, которая вычисляет последовательность 0, 1, 2, 3 ... с использованием некоторых фиксированных значений (номер строки и столбцов первой ячейки, в которую вы помещаете результат, ROW($E$4) и COLUMN($E$4), которые равны 4 и 5 соответственно), а переменные значения ячейку, в которой вы размещаете номер (ROW() и COLUMN()). Формула вычисляет разницу между фактическим номером строки и ссылочной строки, масштабирует ее по N и добавляет любую разницу между фактическим и ссылочным столбцом. Эта формула дает желаемые ряды 0, 1, 2, 3 ... для нашей искомой выходной матрицы.

Наконец, последний элемент OFFSET равен нулю, поскольку мы преобразуем вертикальный столбец данных, поэтому никакого горизонтального смещения не требуется.

Смежные вопросы