Зведені таблиці
Ви можете виконати таке перетворення в Excel за допомогою інструменту Power Query, але це не є швидко та не дуже зручно. Давайте спробуємо інший підхід для розгортання зведених даних без Power Query.
Уявіть, що нам потрібно перетворити деякий набір даних із перехресної таблиці в плоску (Unpivot):
Таке завдання краще вирішувати за допомогою макросу. Давайте напишемо власну процедуру, яка зможе переробити перехресну таблицю (крос-таблицю) з даними в формат звичайної (плоскої) таблиці, що дозволить нам знову створювати зведені таблиці зі зміненими або доповненими даними.
Відкрийте редактор Visual Basic (Сервіс - Макрос - Редактор Visual Basic), вставте новий модуль
Sub UnPivotTable() 'moonexcel.com.ua Dim InVal As Variant Dim OutVal() As Variant Dim j, k, i As Long Dim NewSheet i = 1 InVal = Selection.Formula ReDim OutVal(1 To Selection.Count, 1 To 3) For j = 2 To UBound(InVal, 1) For k = 2 To UBound(InVal, 2) If InVal(j, k) <> "" Then OutVal(i, 1) = InVal(j, 1) OutVal(i, 2) = InVal(1, k) OutVal(i, 3) = InVal(j, k) i = i + 1 End If Next k Next j Set NewSheet = Worksheets.Add NewSheet.Range("A1").Resize(UBound(OutVal, 1), 3).Value = OutVal End Sub
Після цього можна закрити редактор VBA, повернутися в Excel, виділити вихідну таблицю (повністю, з шапкою і першим стовпцем з країнами) і запустити наш макрос через меню Сервіс - Макрос - Макроси
Макрос вставить в книгу новий аркуш і створить на ньому новий, реконструйований варіант виділеної таблиці. З такою таблицею можна працювати "по повній програмі", застосовуючи весь арсенал засобів Excel для обробки та аналізу великих таблиць.