Рефакторинг Excel с использованием формулы / макроса

У меня есть таблица excel, которая выглядит так:

введите описание изображения здесь

Мне нужно уметь автоматически форматировать его так:

введите описание изображения здесь

Я пробовал все возможные формулы и все возможные варианты сводной таблицы, но не могу найти ничего, что даже отдаленно меня доставит туда, где я хочу быть. Например, добавление Vlookups в дополнительные столбцы, а затем генерация 4 таблиц и слияние слишком ручное, чтобы это было работоспособным. Пробовал использовать индекс / матч, что тоже не получилось, поскольку оно слишком ручное. В реальной жизни эта таблица будет отличаться по размеру, поэтому настройка «переформатированной» таблицы не является оптимальной. Любые идеи, предложения более чем приветствуются!

С такими данными, как:

введите описание изображения здесь

Этот короткий макрос:

Sub ReOrganizeData() Dim i As Long, j As Long, K As Long, N As Long Dim v As Variant N = Cells(Rows.Count, "A").End(xlUp).Row K = 2 For j = 2 To 5 For i = 3 To N v = Cells(i, j) If v <> "" Then Cells(K, "H") = Cells(i, "A") Cells(K, "I") = v Cells(K, "J") = Cells(2, j) K = K + 1 End If Next i Next j End Sub 

будет производить:

введите описание изображения здесь

Возможно, в основном этот процесс подробно описан здесь . Однако в вашем случае вам нужно будет переключить порядок Column и Value в результирующей таблице, преобразовать в диапазон, чтобы иметь возможность сортировать по строке в столбце, а также фильтровать для выбора и удаления пустых строк из Value . Также вам нужно будет изменить метки столбцов.

  • Grails: Как отправить закрытую книгу в клиенте?
  • Excel автоматизирует, если category = X, скопируйте строку и вставьте в tab X
  • Функция сравнения двух ячеек и возврата в Excel
  • Я пытаюсь найти формулу, которая может выделить ячейку в одном столбце, если она содержит любое из слов, расположенных в другом столбце
  • Excel 2010 - Несколько типов замков на одном листе
  • Вычислить% полные в зависимости от дат и цифр
  • excel 2003 can `t редактировать комментарии (пользователь)
  • Excel. Как я могу выбрать человека из диапазона в зависимости от дня недели?
  • Excel INDEX / SMALL через несколько листов
  • Вопрос Excel CONCATENATE
  • Excel - выбор строк, где несколько столбцов ==
  • Давайте будем гением компьютера.