Я пытаюсь построить сводную таблицу для расходов в Excel. Исходные данные взяты из Expensify, который просто рассматривает категории как плоский список. Выглядит это так:
2019-11-02 CHAPTERS 9.99 Entertainment
2019-11-02 Canadian Tire 9.99 Gas
2019-11-15 Jimmys Coffee 9.99 Coffee and Tea
Как это происходит, мы хотим, чтобы категории имели иерархию. Я создал таблицу категорий для иерархии:
Car - Repairs & Maintenance, Transportation, Essential
Car insurance, Transportation, Essential
Clothing, Everyday, Essential
Coffee and Tea, Discretionary, Other
(не обращайте внимания на то, является ли кофе дискреционным расходом). Я предполагаю, что моя сводная таблица будет использовать таблицу категорий для поиска родительских уровней: Кофе и Чай найдут своих родителей как Дискреционные и Другие. Когда все будет готово, в сводной таблице должна быть простая иерархия.
Моя первая попытка сделать это - VLookup: =VLOOKUP(D2, CategoryTable!$A2:$C47, 3)
- это, конечно, прекрасно работает в первом ряду. Моим наивным продолжением будет просто команда заполнения. Который увеличивает каждый номер строки. Так что второй =VLOOKUP(D3, CategoryTable!$A3:$C48, 3)
, эт c. Конечно, я хочу, чтобы массив CategoryTable!$A2:$C47
оставался неизменным, а увеличивался только номер строки самого поиска.
При наличии таблицы расходов за несколько лет у нас может быть более 1000 записей, я не могу сделать это вручную.
В идеале, был бы разумный способ определить функцию один раз для всего колонка. Однако - это мой мозг программирования. На практике я не думаю, что это существует.
Интерфейс сводной таблицы позволяет мне объединять данные из двух источников в диспетчере данных. Это похоже на SQL программирование.
Какое самое чистое, простое и удобное в обслуживании решение?