Рефакторинг Excel с использованием формулы / макроса
У меня есть таблица excel, которая выглядит так:
Мне нужно уметь автоматически форматировать его так:
- Реорганизация листа Excel, один столбец на многие столбцы
- Excel. Из списка найдите следующее значение, превышающее 0
- Ссылка на формулу из другой ячейки вместо текста ячейки
- как определить оператор if, когда диапазон находится внутри диапазона
- Excel IF Statement не возвращает ожидаемый результат:
Я пробовал все возможные формулы и все возможные варианты сводной таблицы, но не могу найти ничего, что даже отдаленно меня доставит туда, где я хочу быть. Например, добавление Vlookups в дополнительные столбцы, а затем генерация 4 таблиц и слияние слишком ручное, чтобы это было работоспособным. Пробовал использовать индекс / матч, что тоже не получилось, поскольку оно слишком ручное. В реальной жизни эта таблица будет отличаться по размеру, поэтому настройка «переформатированной» таблицы не является оптимальной. Любые идеи, предложения более чем приветствуются!
- Соответствие столбцов данных и возврат значения из столбца со значением в Excel
- Формула поиска или If Condition в MS Excel
- Excel: сопоставление двух столбцов и выход третьего ... И ... в каждом столбце есть несколько экземпляров
- Как рассчитать числа недель DOT в Excel
- Как лучше экспортировать собственные данные в Excel без введения зависимости от Office?
- Заявление SUM / IF с текстовым вводом и вывод числовой суммы в Excel
- Как выбрать случайную ячейку, избегая пустых ячеек?
- Как изменить значения в столбце на основе значений ячеек в другом столбце в excel?
С такими данными, как:
Этот короткий макрос:
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
. Также вам нужно будет изменить метки столбцов.