160

Как в Excel из кросс-таблицы сделать плоскую

В этой статье разберем практическую задачу.

Как из кросс-таблицы:

Как в Excel из кросс-таблицы сделать плоскую Microsoft Excel, Офис, Продуктивность, Microsoft office, Видео, Длиннопост
Кросс-таблица (Сводная таблица) – способ визуализации данных, в котором они упорядочены по строкам и столбцам. Строкам соответствует одна группа данных, столбцам другая, их пересечение содержит информацию, объединяющую их.

Получить плоскую:

Как в Excel из кросс-таблицы сделать плоскую Microsoft Excel, Офис, Продуктивность, Microsoft office, Видео, Длиннопост

Выполнить такую магию без COPY/PASTE можно при помощи Макроса или надстройки Power Query.

Видео на тему ⬇⬇⬇

Макрос

1. Откройте редактор VBA: ALT+F11;

2. Создайте новый модуль Insert ► Module:

Как в Excel из кросс-таблицы сделать плоскую Microsoft Excel, Офис, Продуктивность, Microsoft office, Видео, Длиннопост

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
Как в Excel из кросс-таблицы сделать плоскую Microsoft Excel, Офис, Продуктивность, Microsoft office, Видео, Длиннопост

4. Сохраните книгу с поддержкой макросов;

5. Создайте кнопку для вызова макроса Разработчик ► Вставить:

Как в Excel из кросс-таблицы сделать плоскую Microsoft Excel, Офис, Продуктивность, Microsoft office, Видео, Длиннопост

6. Назначьте на кнопку макрос:

Как в Excel из кросс-таблицы сделать плоскую Microsoft Excel, Офис, Продуктивность, Microsoft office, Видео, Длиннопост

7. Выделите любую ячейку исходной таблицы, нажмите кнопку. В открывшемся окне выберите ячейку для вывода новой таблицы:

Как в Excel из кросс-таблицы сделать плоскую Microsoft Excel, Офис, Продуктивность, Microsoft office, Видео, Длиннопост

Готово.

Как в Excel из кросс-таблицы сделать плоскую Microsoft Excel, Офис, Продуктивность, Microsoft office, Видео, Длиннопост

Power Query

1. Загрузите таблицу в редактор, вкладка Данные ► Получить данные ► Из других источников ►Из таблицы/диапазона;

2. Выделите первый столбец, нажмите пкм на шапке столбца ► Отменить свертывание других столбцов:

Как в Excel из кросс-таблицы сделать плоскую Microsoft Excel, Офис, Продуктивность, Microsoft office, Видео, Длиннопост
В редакторе можно переименовать заголовки столбцов и изменить формат данных при необходимости.

3. Загрузите запрос, окно редактора запросов, Главная ►Закрыть и загрузить ► Закрыть и загрузить в... :

Как в Excel из кросс-таблицы сделать плоскую Microsoft Excel, Офис, Продуктивность, Microsoft office, Видео, Длиннопост

4. Выберите вариант Таблица, указав расположение для выгрузки:

Как в Excel из кросс-таблицы сделать плоскую Microsoft Excel, Офис, Продуктивность, Microsoft office, Видео, Длиннопост

5. Готово.

Как в Excel из кросс-таблицы сделать плоскую Microsoft Excel, Офис, Продуктивность, Microsoft office, Видео, Длиннопост

Полезно? Пишите в комментах, следующую тему.

MS, Libreoffice & Google docs

761 пост15K подписчиков

Правила сообщества

1. Не нарушать правила Пикабу

2. Публиковать посты соответствующие тематике сообщества

3. Проявлять уважение к пользователям

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

По интересующим вопросам можно обратиться к автору поста схожей тематики, либо к пользователям в комментариях


Важно - сообщество призвано помочь, а не постебаться над постами авторов! Помните, не все обладают 100 процентными знаниями и навыками работы с Office. Хотя вы и можете написать, что вы знали об описываемом приёме раньше, пост неинтересный и т.п. и т.д., просьба воздержаться от подобных комментариев, вместо этого предложите способ лучше, либо дополните его своей полезной информацией и вам будут благодарны пользователи.

Утверждения вроде "пост - отстой", это оскорбление автора и будет наказываться баном.