Как преобразовать таблицу в стиле матрицы в три столбца в Excel?
Предположим, у вас есть таблица в стиле матрицы, которая содержит заголовки столбцов и строк, и теперь вы хотите преобразовать эту таблицу в таблицу с тремя столбцами, также называемую списком, как показано на следующем скриншоте. Есть ли у вас хорошие способы решить эту проблему в Excel?
Преобразование таблицы в стиле матрицы в список с помощью Сводной таблицы
Преобразование таблицы в стиле матрицы в список с помощью кода VBA
Преобразование таблицы в стиле матрицы в список с помощью Kutools для Excel
Преобразование таблицы в стиле матрицы в список с помощью Сводной таблицы
В Excel нет прямой функции для преобразования таблицы в стиле матрицы в таблицу с тремя столбцами, но если вы знакомы со Сводной таблицей, она может вам помочь. Пожалуйста, выполните следующие шаги:
1. Активируйте рабочий лист, который вы хотите использовать, затем, удерживая Alt + D, нажмите P на клавиатуре. В открывшемся диалоговом окне Мастер сводных таблиц и сводных диаграмм выберите Объединение нескольких диапазонов в разделе Где находятся данные, которые вы хотите проанализировать, а затем выберите Сводная таблица в разделе Какой тип отчета вы хотите создать, см. скриншот:
2. Затем нажмите кнопку Далее, в мастере Шаг 2a из 3, выберите опцию Я создам поля страницы, см. скриншот:
3. Продолжайте нажимать Далее кнопку, в Шаге 2b из 3 мастера, нажмите кнопку, чтобы выбрать диапазон данных, который вы хотите преобразовать, а затем нажмите Добавить кнопку, чтобы добавить диапазон данных в Все диапазоны список, см. скриншот:
4. И нажмите кнопку Далее, в мастере Шаг 3 из 3, выберите расположение для сводной таблицы по вашему желанию.
5. Затем нажмите кнопку Завершить, и сводная таблица будет создана сразу, см. скриншот:
6. В сводной таблице дважды щелкните пересекающуюся ячейку Итого, в данном случае я дважды щелкну ячейку F22, и она создаст таблицу из трех столбцов, как показано на следующем скриншоте:
7. И, наконец, вы можете преобразовать формат таблицы в обычный диапазон, выбрав таблицу, а затем выбрав Таблица > Преобразовать в диапазон из контекстного меню, см. скриншот:
Преобразование таблицы в стиле матрицы в список с помощью кода VBA
Если вам не нравится первый метод, следующий код VBA также может помочь вам.
1. Нажмите Alt + F11, чтобы открыть окно Microsoft Visual Basic для приложений.
2. В окне нажмите Вставить > Модуль, чтобы открыть новое окно модуля, затем скопируйте и вставьте следующий код VBA в окно модуля.
Sub ConvertTable()
'Update 20150512
Dim Rng As Range
Dim cRng As Range
Dim rRng As Range
Dim xOutRng As Range
xTitleId = "KutoolsforExcel"
Set cRng = Application.InputBox("Select your Column labels", xTitleId, Type:=8)
Set rRng = Application.InputBox("Select Your Row Labels", xTitleId, Type:=8)
Set Rng = Application.InputBox("Select your data", xTitleId, Type:=8)
Set outRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set xWs = Rng.Worksheet
k = 1
xColumns = rRng.Column
xRow = cRng.Row
For i = Rng.Rows(1).Row To Rng.Rows(1).Row + Rng.Rows.Count - 1
For j = Rng.Columns(1).Column To Rng.Columns(1).Column + Rng.Columns.Count - 1
outRng.Cells(k, 1) = xWs.Cells(i, xColumns)
outRng.Cells(k, 2) = xWs.Cells(xRow, j)
outRng.Cells(k, 3) = xWs.Cells(i, j)
k = k + 1
Next j
Next i
End Sub
3. Затем нажмите клавишу F5, чтобы запустить этот код, и появится окно запроса, позволяющее выбрать метки столбцов данных, см. скриншот:
4. Затем нажмите кнопку ОК, в следующем окне запроса выберите метки строк, см. скриншот:
5. Продолжайте нажимать ОК, затем выберите диапазон данных, исключая заголовки столбцов и строк в окне запроса, см. скриншот:
6. Затем нажмите ОК, в этом диалоговом окне выберите ячейку, где вы хотите разместить результат. См. скриншот:
7. Наконец, нажмите ОК, и вы сразу получите таблицу из трех столбцов.
Преобразование таблицы в стиле матрицы в список с помощью Kutools для Excel
Оба вышеупомянутых метода несколько сложны, здесь я представлю вам простой способ -- Kutools для Excel, с его функцией Преобразовать размер таблицы, вы можете быстро преобразовывать между матрицей ячеек и списком.
После установки Kutools для Excel выполните следующие шаги:
1. Нажмите Kutools > Диапазон > Преобразовать размер таблицы, см. скриншот:
2. В диалоговом окне Преобразовать размер таблицы:
(1.) Выберите Преобразовать двумерную таблицу в одномерную таблицу под Тип преобразования.
(2.) Затем нажмите кнопку под Исходный диапазон для выбора диапазона данных, который вы хотите преобразовать.
(3.) Затем нажмите кнопку под Результаты диапазона для выбора ячейки, куда вы хотите поместить результат.
3. Затем нажмите кнопку ОК, и вы получите следующий результат, включающий форматирование исходных ячеек:
С помощью этой утилиты вы также можете преобразовать плоский список в двумерную таблицу.
Чтобы узнать больше об этой функции Преобразовать размер таблицы.
Скачайте и попробуйте Kutools для Excel прямо сейчас!
Демонстрация: Преобразование таблицы в стиле матрицы в список с помощью Kutools для Excel
Лучшие инструменты для повышения продуктивности работы с Office
Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
- Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!