エクセルの GETPIVOTDATA関数を使うと、ピボットテーブルの集計結果から、条件に合う値を取り出せます。部署ごとの売上を集計したピボットなら、=GETPIVOTDATA("売上",$E$3,"部署","営業") で営業の合計 470 が取り出せます。
ピボットテーブルは、並べ替えたり項目を増やしたりすると、値の位置が変わります。セル番地で参照すると別の値を指してしまいますが、GETPIVOTDATA関数は「部署が営業」のように項目名で指定するので、位置が変わっても正しい値を取り出せます。この記事では、GETPIVOTDATA関数の書き方、条件を2つにする方法、セルの値で指定する方法、エラーのときの対処、自動で式が入るのを止める方法までを、実際に Excel で作ったピボットテーブルで説明します。
GETPIVOTDATA関数の書き方
=GETPIVOTDATA(データフィールド,ピボットテーブル,[フィールド1,アイテム1],…)
| 引数 | 入れるもの | この記事の例 |
|---|---|---|
| データフィールド | 集計している項目の名前(「”」で囲む) | “売上” |
| ピボットテーブル | ピボットテーブルの中のどれか1つのセル | $E$3 |
| フィールド・アイテム | 条件にする項目の名前と値の組 | “部署”,”営業” |
フィールドとアイテムの組を省略すると、総計を返します。組はいくつでも続けられます。
ピボットテーブルと取り出した結果

元の表(A1:C7)から、部署を行・月を列にしたピボットテーブルを E3 に作りました。このピボットから、次の式で値を取り出しています。

| やりたいこと | 式 | 結果 |
|---|---|---|
| 営業の売上の合計 | =GETPIVOTDATA(“売上”,$E$3,”部署”,”営業”) | 470 |
| 総務の売上の合計 | =GETPIVOTDATA(“売上”,$E$3,”部署”,”総務”) | 180 |
| すべての合計(総計) | =GETPIVOTDATA(“売上”,$E$3) | 760 |
| 営業の5月だけ | =GETPIVOTDATA(“売上”,$E$3,”部署”,”営業”,”月”,”5月”) | 150 |
| セルの値(開発)で指定 | =GETPIVOTDATA(“売上”,$E$3,”部署”,A20) | 110 |
| ピボットに無い部署 | =GETPIVOTDATA(“売上”,$E$3,”部署”,”人事”) | #REF! |
| 無いときは 0 にする | =IFERROR(GETPIVOTDATA(“売上”,$E$3,”部署”,”人事”),0) | 0 |
条件に合う合計を取り出す
=GETPIVOTDATA("売上",$E$3,"部署","営業")
「売上」の集計から「部署が営業」の値を取り出すので、営業の合計 470(120+150+200)です。総務は 180、条件を付けない =GETPIVOTDATA("売上",$E$3) は総計の 760 です。
条件を2つにする(複数条件で取り出す)
=GETPIVOTDATA("売上",$E$3,"部署","営業","月","5月")
「フィールド,アイテム」の組を続けると、条件を増やせます。営業の 5月 は 150 です。
セルの値で条件を指定する
=GETPIVOTDATA("売上",$E$3,"部署",A20)
アイテムをセルにすると、A20 を「開発」に変えるだけで 110 と、取り出す値を切り替えられます。部署の一覧から1つずつ取り出す表を作るときに便利です。
ピボットに無い値のとき(#REF!)
=IFERROR(GETPIVOTDATA("売上",$E$3,"部署","人事"),0)
ピボットテーブルに無い「人事」を指定すると #REF! エラーになります。IFERROR関数で 0 と表示するようにしておくと、表が崩れません(IFERROR関数の使い方)。
クリックすると自動で GETPIVOTDATA が入るのを止める
セルに「=」と入力してからピボットテーブルの中のセルをクリックすると、セル番地ではなく GETPIVOTDATA関数の式が自動で入ります。ふつうのセル番地(=F5 など)で参照したいときは、ピボットテーブルを選んで「ピボットテーブル分析」タブの「オプション」の ▼ から「GetPivotData の生成」のチェックを外します。
GETPIVOTDATA関数がうまくいかないときの確認表
| 症状 | 考えられる原因 | 対処 |
|---|---|---|
| 「#REF!」になる | ピボットに無いアイテム、またはフィールド名・データフィールド名の間違い | ピボットに表示されている名前と同じにする。IFERROR関数で表示を決める。 |
| 下にコピーしても同じ値になる | アイテムを文字(”営業”)で書いている | アイテムをセル参照にする。 |
| 自動で式が入って困る | 「GetPivotData の生成」がオン | オプションでオフにする。 |
GETPIVOTDATA関数のよくある質問
GETPIVOTDATA関数で複数条件を指定するには?
「フィールド,アイテム」の組を続けて書くと、条件を増やせます。=GETPIVOTDATA("売上",$E$3,"部署","営業","月","5月") なら、営業の5月の 150 が取り出せます。組はいくつでも続けられます。

コメント