2万件
そんなにあるということは、この表はピボットテーブルの結果ではないのですね。
集計前の元データだと。
↓
A B C D E
3 勘定科目 年度 購入 単価 合計 / 金額
4 交通費 2021 ○→○ 350 700
5 交通費 2022 △→△ 200 400
6 光熱費 2021 あ電力 5300 5300
7 接待交際 2021 手土産 2100 2100
もしそうなら、ピボットテーブルではなくてPowerQueryがおすすめです。
データ
→テーブルまたは範囲から
→先頭行〜にチェックを入れてOK
→詳細エディター
→以下に書き換え(Trf=の行は必要に応じて変更)
let
ソース = Excel.CurrentWorkbook(){[Name="テーブル1"]}[Content],
Trf = Table.TransformColumnTypes(ソース,{{"勘定科目", type text}, {"年度", Int64.Type}, {"購入", type text}, {"単価", Int64.Type}, {"金額", Int64.Type}}),
Del = Table.SelectColumns(Trf,{"勘定科目", "年度", "購入"}),
Uni = Table.Distinct(Del),
Flt1 = Table.SelectRows(Uni, each ([年度] = 2021)),
Flt2 = Table.SelectRows(Uni, each ([年度] = 2022)),
Mrg = Table.NestedJoin(Flt1, {"勘定科目"}, Flt2, {"勘定科目"}, "Flt2", JoinKind.LeftOuter),
Del2 = Table.SelectColumns(Mrg,{"勘定科目", "年度", "購入"})
in
Del2
→完了
→閉じて読み込む