Оглавление
Часто пользователям необходимо преобразовать несколько столбцов в строки. Поэтому транспонирование нескольких столбцов в строки в Excel является распространенной операцией, выполняемой пользователями. Особенности Excel , TRANSPOSE , INDIRECT и ИНДЕКС функции, Power Query , а также Макрос VBA может преобразовывать столбцы в строки.
Допустим, мы Имя сотрудника и Данные о заработной плате в рабочем листе. И по неизбежным причинам мы должны транспонировать столбцы в строки.
В этой статье мы продемонстрируем несколько способов транспонирования в Excel нескольких столбцов в строки, используя Особенности Excel , Функция , Power Query и Макрос VBA .
Скачать рабочую книгу Excel
Transpose Columns to Rows.xlsm6 простых способов транспонировать несколько столбцов в строки в Excel
Метод 1: транспонирование нескольких столбцов в строки с помощью опции "Вставить
Excel позволяет пользователям вставлять данные в нескольких форматах, таких как Значение , Формула , Транспонировать только Формат и т.д. Мы можем использовать Контекстное меню Параметры транспонирования при вставке для преобразования столбцов в строки.
Шаг 1: Выделите весь диапазон, который вы хотите транспонировать. Щелкните правой кнопкой мыши на нем. Контекстное меню появляется. Из Контекстное меню Выберите Копировать .
Шаг 2: Теперь выберите любую пустую ячейку (например, G4 ), прилегающих к диапазону, то Щелкните правой кнопкой мыши на нем. Нажмите на Транспонировать из Параметры вставки .
🔼 Вы также можете вызвать Специальная вставка окно с помощью Ярлыки клавиатуры CTRL+ALT+V После этого выберите Транспонировать из Специальная вставка опции. Наконец, нажмите на OK .
🔼 Выполнение Транспонировать опция из Контекстное меню или Специальная вставка приводит к преобразованию выбранных нескольких столбцов в строки, как показано на следующем изображении.
Читать далее: Как переключать строки и столбцы в Excel (5 методов)
Метод 2: транспонирование столбцов в строки с помощью функции TRANSPOSE
Сайт TRANSPOSE функция непосредственно преобразует столбцы в строки и наоборот. Мы можем использовать TRANSPOSE независимо от количества столбцов или размера диапазона. Синтаксис функции TRANSPOSE функция
ТРАНСПОЗИЦИЯ (массив)
Шаг 1: Используйте приведенную ниже формулу в любой соседней ячейке (например, G4 ) для преобразования столбцов в строки.
=TRANSPOSE(B4:E12)
Здесь B4:E12 является аргументом массива.
Шаг 2: Хит ENTER и через мгновение все столбцы превращаются в строки.
🔄 Иногда набор данных содержит Пустые ячейки и после транспонирования Excel вставляет 0's в них. Чтобы избежать этой оговорки, модифицируйте TRANSPOSE функция с ЕСЛИ функция игнорировать пробелы. В этом случае применяемая формула может быть следующей
=TRANSPOSE(IF(B4:E12="","",B4:E12))
Подробнее: Как транспонировать столбец в несколько строк в Excel (6 методов)
Метод 3: Функция INDIRECT для преобразования столбцов в строки
В случаях, когда мы хотим установить связи или получить данные из существующего диапазона, мы можем использовать INDIRECT функция . INDIRECT функция, пронизанная КОЛУМН функция ссылается на записи из диапазона. Синтаксис функции 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 , the ИНДЕКС функция приносит данные из заданной позиции. Синтаксис функции ИНДЕКС функция
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 имеет тенденцию преобразовывать весь набор данных в Таблица В результате Создать таблицу Появится диалоговое окно. Нажмите кнопку OK .
Шаг 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 для запуска макроса. Макрос инициирует первый Блок ввода чтобы вставить диапазон. Обеспечьте диапазон, затем нажмите кнопку OK .
Шаг 4: После этого Excel приносит 2-й Блок ввода для присвоения ячейки. Укажите любую удобную ссылку на ячейку, затем Нажмите на сайте OK .
🔼 Наконец, Excel преобразует столбцы всего набора данных в строки.
Макрос VBA может обрабатывать пустые ячейки, предлагая SkipBlanks варианты заявлений в Правда и Ложь Измените макрос в соответствии с вашими потребностями, чтобы он лучше соответствовал вашим данным.
Подробнее: Макрос Excel: преобразование нескольких строк в столбцы (3 примера)
Заключение
В этой статье мы продемонстрируем множество возможностей, функций, а также Макрос VBA в Excel для транспонирования нескольких столбцов в строки. TRANSPOSE функция преобразует столбцы в строки наиболее удобным способом. Другие функции, такие как I NDIRECT или ИНДЕКС Надеюсь, эти вышеупомянутые методы прояснили ваше понимание транспонирования. Комментируйте, если у вас есть вопросы или есть что добавить.