В этой статье разберем практическую задачу.
Как из кросс-таблицы:
Получить плоскую:
Выполнить такую магию без COPY/PASTE можно при помощи Макроса или надстройки Power Query.
Видео на тему ⬇⬇⬇
Макрос
1. Откройте редактор VBA: ALT+F11.
2. Создайте новый модуль Insert ► Module:
3. Вставьте макрос:
Sub ПреобразованиеТаблиц()
Dim OutputRng As Range
Dim InputRng As Range
Dim out_row As Long, out_col As Long
Dim in_col As Long, in_row As Long
Set InputRng = ActiveCell.CurrentRegion
Set OutputRng = Application.InputBox(prompt:="Выберите ячейку для вывода новой таблицы", Type:=8)
OutputRng.Range("A1:C1") = Array("Столбец1", "Столбец2", "Столбец3")
out_row = 2
out_col = 2
For in_row = 2 To (InputRng.Rows.Count - 1) * (InputRng.Columns.Count - 1) + 1
For in_col = 1 To 3
If in_col = 1 Then OutputRng.Cells(in_row, in_col) = InputRng.Cells(out_row, 1)
If in_col = 2 Then OutputRng.Cells(in_row, in_col) = InputRng.Cells(1, out_col)
If in_col = 3 Then OutputRng.Cells(in_row, in_col) = InputRng.Cells(out_row, out_col)
Next in_col
out_col = out_col + 1
If out_col = InputRng.Columns.Count + 1 Then
out_col = 2
out_row = out_row + 1
End If
Next in_row
End Sub
4. Сохраните книгу с поддержкой макросов.
5. Создайте кнопку для вызова макроса Разработчик ► Вставить:
6. Назначьте на кнопку макрос:
7. Выделите любую ячейку исходной таблицы, нажмите кнопку. В открывшемся окне выберите ячейку для вывода новой таблицы:
Готово.
Power Query
1. Загрузите таблицу в редактор, вкладка Данные ► Получить данные ► Из других источников ►Из таблицы/диапазона.
2. Выделите первый столбец, нажмите пкм на шапке столбца ► Отменить свертывание других столбцов:
В редакторе можно переименовать заголовки столбцов и изменить формат данных при необходимости.
3. Загрузите запрос, окно редактора запросов, Главная ►Закрыть и загрузить ► Закрыть и загрузить в... :
4. Выберите вариант Таблица, указав расположение для выгрузки:
5. Готово.
Полезно? Лайк.