Как заставить Pivot Table работать с иерархией категорий, определенной во второй таблице - PullRequest
0 голосов
/ 23 марта 2020

Я пытаюсь построить сводную таблицу для расходов в 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 программирование.

Какое самое чистое, простое и удобное в обслуживании решение?

...