Съдържание
Често се налага потребителите да преобразуват няколко колони в редове. Затова операцията на Excel за транспониране на няколко колони в редове е често срещана операция, извършвана от потребителите. Функции на Excel , TRANSPOSE , ИНДИРЕКТЕН , и INDEX функции, Power Query , както и Макрос на VBA може да преобразува колони в редове.
Да кажем, че Име на служителя и Данни за заплатите И по неизбежни причини трябва да транспонираме колони в редове.
В тази статия ще демонстрираме няколко начина за транспониране на няколко колони в редове с помощта на Функции на Excel , Функция , Power Query , и Макрос на VBA .
Изтегляне на работна книга на Excel
Транспониране на колони в редове.xlsm6 лесни начина за транспониране на няколко колони в редове в 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 Надявам се, че тези гореспоменати методи изясняват разбирането ви за транспонирането. Ако имате допълнителни въпроси или искате да добавите нещо, коментирайте.