こんにちは!今回は、ExcelのGETPIVOTDATA関数を使って、複数の条件を指定して合計する方法について深掘りしていきます。※SUMPRODUCTと後に組み合わせます。
通常、GETPIVOTDATA関数は特定のピボットテーブルの値を抽出するために使いますが、一つのフィールド内で複数の値を条件として指定できる方法があることを知りました。
そこで、配列を活用することで関数を簡潔に記述でき、より便利に使えるテクニックを紹介したいと思います。それでは、いってみましょう!
数式を簡潔化したかった背景
通常、GETPIVOTDATA関数では単一の条件しか指定できません。例えば、売上の4月5月6月の合計の値を取得したい場合、ひとつずつ「+」で繋げて長い式になりました。

GETPIVOTDATA("売上", $A$3, "月", 4) + GETPIVOTDATA("売上", $A$3, "月", 5) + GETPIVOTDATA("売上", $A$3, "月", 6)
と、どうにかならないか調べました。
GETPIVOTDATA関数とは?
まず、GETPIVOTDATAは、ピボットテーブル内のデータを抽出できる関数です。 使い方は以下の通りです。
GETPIVOTDATA(“フィールド名”, ピボットテーブル内のセル参照, “条件フィールド”, 条件値)
通常、ピボットテーブルの値を取得するにはセル参照を使いますが、レイアウトが変わると値の位置がずれてしまいます。GETPIVOTDATAなら、ピボットテーブルの構造が変わっても正しくデータを取得できるため、とても便利。
例えば、A3セルのピボットテーブルから「売上」フィールドのデータを取得する場合、以下のように記述できます。この場合、「月」のフィールドが4月の売上データを抽出します。
GETPIVOTDATA(“売上”, $A$3, “月”, 4)
複数の条件を指定する方法
通常、GETPIVOTDATA関数では単一の条件しか指定できませんが、配列を使うことで一つのフィールド内で複数の条件を指定することが可能になります。そして、その指定した条件をSUMPRODUCT関数で指定した条件を合計します。

例えば、4月・5月・6月のデータをまとめて取得したい場合:
GETPIVOTDATA(“売上”, $A$3, “月”, {4,5,6})
ここでのポイント:
- “売上” → 「売上」フィールドのデータを取得
- $A$3 → ピボットテーブルの範囲内のセル ※ピボットテーブルの左上がA3でした。
- “月”, {4,5,6} → 「月」フィールドで4月・5月・6月の売上を取得
これをSUMPRODUCT関数で囲います。この方法を使えば、複数の値を対象にデータを取得できるので、まとめて欲しい条件を記載できて便利だなと思っています。
さいごに
上手に伝わったか分かりませんが、Excel作業の参考に少しでもなれば幸いです。