Как да транспонирате няколко колони в редове в Excel

  • Споделя Това
Hugh West

Често се налага потребителите да преобразуват няколко колони в редове. Затова операцията на Excel за транспониране на няколко колони в редове е често срещана операция, извършвана от потребителите. Функции на Excel , TRANSPOSE , ИНДИРЕКТЕН , и INDEX функции, Power Query , както и Макрос на VBA може да преобразува колони в редове.

Да кажем, че Име на служителя и Данни за заплатите И по неизбежни причини трябва да транспонираме колони в редове.

В тази статия ще демонстрираме няколко начина за транспониране на няколко колони в редове с помощта на Функции на Excel , Функция , Power Query , и Макрос на VBA .

Изтегляне на работна книга на Excel

Транспониране на колони в редове.xlsm

6 лесни начина за транспониране на няколко колони в редове в Excel

Метод 1: Транспониране на няколко колони в редове с помощта на опцията Paste

Excel позволява на потребителите да вмъкват данни в няколко формата, като например Стойност , Формула , Транспониране , само Формат , и т.н. Можем да използваме Контекстно меню Вмъкване на опции за транспониране за трансформиране на колони в редове.

Стъпка 1: Маркирайте целия диапазон, който искате да транспонирате. Кликване с десния бутон на мишката върху него. Контекстно меню се появява. От Контекстно меню Изберете Копие .

Стъпка 2: Сега изберете някоя празна клетка (т.е., G4 ) в съседство с обхвата, тогава Кликване с десния бутон на мишката върху него. Щракнете върху Транспониране от Опции за вмъкване .

🔼 Можете също така да извикате Специално поставяне прозорец с помощта на Кратки пътища от клавиатурата CTRL+ALT+V . След това изберете Транспониране от Специално вмъкване Накрая щракнете върху OK .

🔼 Изпълнение на Транспониране опция от Контекстно меню или Специално вмъкване води до трансформиране на избрани множество колони в редове, както е показано на следното изображение.

Прочетете още: Как да превключвате редове и колони в Excel (5 метода)

Метод 2: Транспониране на колони в редове с помощта на функцията TRANSPOSE

Сайтът TRANSPOSE функция директно преобразува колони в редове и обратно. Можем да използваме TRANSPOSE без значение от броя на колоните или големината на обхвата. Синтаксисът на функцията TRANSPOSE функция е

TRANSPOSE (масив)

Стъпка 1: Използвайте следната формула във всяка съседна клетка (т.е., G4 ) за преобразуване на колони в редове.

=TRANSPOSE(B4:E12)

Тук B4:E12 е аргументът за масив.

Стъпка 2: Хит ВЪВЕДЕТЕ , в един момент всички колони се превръщат в редове.

🔄 Понякога наборът от данни съдържа Празни клетки и след транспонирането Excel вмъква 0's За да избегнете това предупреждение, променете TRANSPOSE с функцията IF функция да се игнорират празните места. В този случай приложената формула може да бъде

=TRANSPOSE(IF(B4:E12="","",B4:E12))

Прочетете още: Как да транспонирате колона в няколко реда в Excel (6 метода)

Метод 3: Функция INDIRECT за преобразуване на колони в редове

В случаите, когато искаме да установим връзки или да извлечем данни от съществуващ обхват, можем да използваме ИНДИРЕКТНО функция . ИНДИРЕКТЕН функция, изпълнена с КОЛОНА се отнася до записи от диапазона. Синтаксисът на функцията ИНДИРЕКТНО функция е

INDIRECT (ref_text, [a1])

Изявленията определят

ref_text ; справка (като текст).

a1 ; булева индикация за A1 или R1C1 по подразбиране това е A1 стил = TRUE . [По избор]

Стъпка 1: Въведете последната формула във всяка празна клетка (напр, G4 ).

=INDIRECT("b"&COLUMN()-3)

Сайтът ret_text (т.е., "b"&COLUMN()-3 ) има 2 части; 1. един е КОЛОНА функция който предава Номер на колона и 2. един е Име на колона . ref_text съчетава тези 2 след това представлява препратка към клетка 3 по-малко от КОЛОНА В резултат на това крайният резултат става B(7-3) = B4 . Затова, B4 записът в клетката се показва в G4 .

Стъпка 2: Повторете Стъпка 1 замяна на предишната формула с формулите по-долу в G5 , G6 , и G7 .

=INDIRECT("c"&COLUMN()-3)

=INDIRECT("d"&COLUMN()-3)

=INDIRECT("e"&COLUMN()-3)

Всички тези 3 Формулите декларират същите аргументи като предишната формула. И те извличат данните от съответните клетки (т.е, G5=C4 , G6=D4 , и G7=E4 ).

Стъпка 3: Използвайте Дръжка за пълнене за да приложите формулите към дясната страна на клетките. И всички записи на съответните клетки се появяват транспонирани, както се очаква.

Прочетете още: Excel VBA: Получаване на номер на ред и колона от адрес на клетка (4 метода)

Подобни четива

  • Как да превключвате редове и колони в диаграма на Excel (2 метода)
  • Добавяне на множество редове и колони в Excel (всички възможни начини)
  • Как да пропуснете всяка друга колона, като използвате формула на Excel (3 метода)
  • Excel VBA: Задаване на обхват по номер на ред и колона (3 примера)
  • Как да намерите номер на колона въз основа на стойност в Excel

Метод 4: Използване на функцията INDEX за транспониране на колони в редове

Подобно на Метод 3 . INDEX функция въвежда данни от дадена позиция. Синтаксисът на INDEX функция е

INDEX(array, row_num, [col_num])

Стъпка 1: Напишете следната формула в произволна празна клетка G4 .

=INDEX($B$4:$E$14,COLUMN()-6,1)

Във формулата, $B$4:$E$14 се отнася до масив аргумент. КОЛОНА функцията връща номера на колоната, в която е вмъкната формулата (т.е, G4 ). Следователно, КОЛОНА()-6 резултати ( 7-6 ) 1 като row_num за масив . И вече 1 е col_num в рамките на масив .

Стъпка 2: Итерирайте формулите за G5 , G6 , и G7 само чрез промяна на col_num както е показано на изображението по-долу.

=INDEX($B$4:$E$14,COLUMN()-6,2)

=INDEX($B$4:$E$14,COLUMN()-6,3)

=INDEX($B$4:$E$14,COLUMN()-6,4)

Тези формули извличат записи от една и съща масив , ред 1 и колона 2 , 3 , и 4 Можете да видите, че получените стойности изобразяват заглавията на колоните така, както ги извлича формулата.

Стъпка 3: Плъзнете Дръжка за пълнене за да вмъкнете хоризонтално записи по колони. По този начин превръщате колоните в редове.

Прочетете още: Как да намерите индексния номер на колоната в Excel (2 метода)

Метод 5: Транспониране на няколко колони в редове с помощта на Power Query

Power Query е мощен инструмент за трансформиране на набори от данни според нуждите. Power Query предоставя Преобразуване където има множество опции, включително Транспониране можем да използваме Транспониране за преобразуване на няколко колони в редове.

Стъпка 1: Изберете целия набор от данни, след което отидете на Данни > Кликнете върху От таблица/обхват (от Получаване и трансформиране на данни раздел).

Стъпка 2: Excel има склонност да преобразува целия набор от данни в Таблица В резултат на това Създаване на таблица Появява се диалогов прозорец. Щракнете върху ОК .

Стъпка 3: След малко Excel зарежда Редактор на Power Query както е показано на изображението по-долу.

➧ Изберете Преобразуване раздел.

➧ Кликнете върху Транспониране .

Стъпка 4: След изпълнение на Транспониране трябва да заредите транспонираните данни. Преместете се в Начало > Кликнете върху Затвори & Зареждане > Изберете Затвори & Зареждане .

🔼 Зареждането на транспонираните данни в нов работен лист ще отнеме известно време. В крайна сметка Excel зарежда данните, като преобразува няколко колони в редове, както можете да забележите от изображението по-долу.

Прочетете още: Как да конвертирате множество редове в колони в Excel (9 начина)

Метод 6: Транспониране на няколко колони в редове с помощта на макрос VBA

VBA Макроси Можем да напишем няколко реда макрос, за да транспонираме няколко колони в редове.

Стъпка 1: За да вмъкнете макрос, първо отворете Microsoft Visual Basic използване на ALT+F11 . След това изберете Вмъкване на (от Лентата с инструменти )> Кликнете върху Модул за да вмъкнете един.

Стъпка 2: Поставете следния макрос в Модул .

 Sub ColumnToRowTransposing() Dim wrkRng As Range Dim trgtRng As Range Set wrkRng = Application.InputBox(Prompt:="Предоставете колоните", Type:=8) Set trgtRng = Application.InputBox(Prompt:="Изберете целевата клетка", Type:=8) wrkRng.Copy trgtRng.Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True Application.CutCopyMode = False End Sub 

Макросът започва своята работа, като взема диапазона за транспониране и клетката, в която да вмъкне транспонираните данни, като използва VBA InputBox функция . Тогава Специално вмъкване поставя целия диапазон като транспонирани данни в дадената клетка.

Стъпка 3: Използвайте F5 за да стартирате макроса. Maco стартира първия Поле за въвеждане за да вмъкнете диапазона. Осигурете диапазона, след което щракнете върху OK .

Стъпка 4: След това Excel въвежда 2. Поле за въвеждане да присвоите клетката. Предоставете удобна препратка към клетката, след което Кликнете върху на OK .

🔼 Накрая Excel преобразува колоните на целия набор от данни в редове.

Макрос на VBA може да обработва празни клетки, като предлага SkipBlanks опции за изявление в Истински и Фалшив . Променете макроса според нуждите си, за да отговаря по-добре на вашите данни.

Прочетете още: Макрос на Excel: Конвертиране на множество редове в колони (3 примера)

Заключение

В тази статия демонстрираме множество характеристики, функции, както и Макрос на VBA в Excel, за да транспонирате няколко колони в редове. TRANSPOSE преобразува колони в редове по най-удобния начин. Други функции, като I NDIRECT или INDEX Надявам се, че тези гореспоменати методи изясняват разбирането ви за транспонирането. Ако имате допълнителни въпроси или искате да добавите нещо, коментирайте.

Хю Уест е опитен обучител и анализатор на Excel с над 10 години опит в индустрията. Има бакалавърска степен по счетоводство и финанси и магистърска степен по бизнес администрация. Хю има страст към преподаването и е разработил уникален подход на преподаване, който е лесен за следване и разбиране. Неговите експертни познания по Excel са помогнали на хиляди студенти и професионалисти по целия свят да подобрят уменията си и да постигнат отлични резултати в кариерата си. Чрез своя блог Хю споделя знанията си със света, като предлага безплатни уроци за Excel и онлайн обучение, за да помогне на хората и фирмите да достигнат пълния си потенциал.