- 作成日 : 2025年8月25日
GETPIVOTDATA関数の使い方:ピボットテーブルからデータを自在に取り出す
GETPIVOTDATA関数は、ピボットテーブルから特定のデータを抽出できるエクセルの便利な関数です。ピボットテーブルのレイアウトが変更されても、指定した条件のデータを確実に取得できるため、レポート作成やダッシュボード構築に役立ちます。複雑に見える構文も、基本を理解すれば誰でも使いこなせるようになります。本記事では、GETPIVOTDATA関数の基礎から実践的な活用法、エラー対処法まで、段階的に解説していきます。
目次
GETPIVOTDATA関数の基本的な使い方
GETPIVOTDATA関数とは
GETPIVOTDATA関数は、ピボットテーブルから特定の集計値を取り出すための専門的な関数です。通常のセル参照と異なり、ピボットテーブルの構造が変わっても、指定した条件に合致するデータを安定して取得できる点が最大の特徴です。
売上データのピボットテーブルから「東京支店の4月の売上」を取得したい場合、通常のセル参照では、ピボットテーブルのレイアウト変更により参照位置がずれてしまいます。しかし、GETPIVOTDATA関数なら、常に正しいデータを取得できます。
基本構文と引数の説明
GETPIVOTDATA関数の基本構文は次のとおりです。
=GETPIVOTDATA(データフィールド, ピボットテーブル, [フィールド1, アイテム1], [フィールド2, アイテム2], …)
各引数の役割を詳しく見ていきましょう。
- データフィールド:取得したい値のフィールド名を指定します。「売上」「数量」「利益」など、ピボットテーブルの値エリアに配置されているフィールド名を文字列で指定します。
- ピボットテーブル:データを取得するピボットテーブル内の任意のセルを指定します。通常はピボットテーブルの左上セルを指定することが多いです。
- フィールドとアイテム(省略可能):抽出条件を指定します。フィールド名とそのアイテム(値)をペアで指定します。複数の条件を指定する場合は、順番に記述します。
自動生成される数式の理解
エクセルには便利な機能があり、ピボットテーブル内のセルを直接参照すると、自動的にGETPIVOTDATA関数が生成されます。
たとえば、(ピボットテーブルの外の)任意のセルで「=」を入力し、ピボットテーブル内のセルB5をクリックすると、以下のような数式が自動生成されます。
=GETPIVOTDATA(“売上”,$A$3,”支店”,”東京”,”月”,”4月”)
この自動生成機能により、関数の構造を理解しやすくなります。ただし、この機能が不要な場合は、ファイルタブのオプションから無効にすることもできます。
実際の使用例
具体的な例として、売上分析のピボットテーブルから特定のデータを取得してみましょう。
- 行ラベル:支店、商品
- 列ラベル:月
- 値:売上金額
東京支店の全商品の合計売上を取得する場合:
=GETPIVOTDATA(“売上金額”, A3, “支店”, “東京”)
東京支店の特定商品(商品A)の4月売上を取得する場合:
=GETPIVOTDATA(“売上金額”, A3, “支店”, “東京”, “商品”, “商品A”, “月”, “4月”)
全支店の4月の合計売上を取得する場合:
=GETPIVOTDATA(“売上金額”, A3, “月”, “4月”)
GETPIVOTDATA関数の実践的な利用シーン
経営ダッシュボードの作成
経営層向けのダッシュボードでは、ピボットテーブルから主要指標を抽出して見やすく配置する必要があります。
GETPIVOTDATA関数を使用することで、動的で信頼性の高いダッシュボードを構築できます。
月次売上推移グラフのデータソースとして、各月のデータを個別に取得:
1月: =GETPIVOTDATA(“売上”, $A$3, “月”, “1月”)
2月: =GETPIVOTDATA(“売上”, $A$3, “月”, “2月”)
3月: =GETPIVOTDATA(“売上”, $A$3, “月”, “3月”)
前年同月比の計算にも活用できます。
当年4月: =GETPIVOTDATA(“売上”, 当年ピボット, “月”, “4月”)
前年4月: =GETPIVOTDATA(“売上”, 前年ピボット, “月”, “4月”)
成長率: =(当年4月/前年4月-1)*100
定型レポートの自動化
毎月作成する定型レポートでは、GETPIVOTDATA関数により手作業を大幅に削減できます。
支店別業績レポートのテンプレートを作成し、各支店のデータを自動取得:
売上高: =GETPIVOTDATA(“売上”, ピボット, “支店”, A2)
利益額: =GETPIVOTDATA(“利益”, ピボット, “支店”, A2)
利益率: =利益額/売上高*100
A2セルに支店名を入力するだけで、その支店の各種指標が自動的に表示されます。支店名をドロップダウンリストにすることで、さらに使いやすくなります。
予実管理での活用
予算と実績の比較分析において、GETPIVOTDATA関数は重要な役割を果たします。
実績ピボットテーブルと予算ピボットテーブルから同じ条件のデータを取得:
実績: =GETPIVOTDATA(“金額”, 実績ピボット, “部門”, B2, “月”, C1)
予算: =GETPIVOTDATA(“金額”, 予算ピボット, “部門”, B2, “月”, C1)
達成率: =実績/予算*100
この仕組みにより、部門と月を変更するだけで、瞬時に予実比較が可能になります。
商品分析レポートの構築
小売業や卸売業では、商品別の詳細分析が欠かせません。GETPIVOTDATA関数を使用して、多角的な商品分析レポートを作成できます。
商品カテゴリ別の売上構成比を算出:
カテゴリ売上: =GETPIVOTDATA(“売上”, ピボット, “カテゴリ”, D2)
全体売上: =GETPIVOTDATA(“売上”, ピボット)
構成比: =カテゴリ売上/全体売上*100
期間を指定した商品別売上ランキングの作成も可能です。各商品の売上データを取得し、RANK関数と組み合わせることで、動的なランキング表を作成できます。
GETPIVOTDATA関数の応用・他関数との組み合わせ
動的な条件指定
GETPIVOTDATA関数の大きな特長は、他のセルの値を参照して動的に条件を変更できる点にあります。
セル参照を使用した柔軟な指定:
=GETPIVOTDATA(“売上”, $A$3, “支店”, B1, “月”, C1)
B1とC1セルの値を変更するだけで、異なる条件のデータを取得できます。
INDIRECT関数と組み合わせることで、さらに高度な動的参照が可能。
=GETPIVOTDATA(“売上”, INDIRECT(“‘” & シート名 & “‘!A3”), “支店”, 支店名)
IF関数との連携
条件に応じて異なるデータを取得する場合、IF関数との組み合わせが効果的です。
閾値を超えた場合のみデータを表示:
=IF(GETPIVOTDATA(“売上”, ピボット, “支店”, A2)>1000000,
GETPIVOTDATA(“売上”, ピボット, “支店”, A2),
“目標未達”)
複数の条件を組み合わせた複雑な判定:
=IF(AND(
GETPIVOTDATA(“売上”, ピボット, “支店”, A2)>目標値,
GETPIVOTDATA(“利益率”, ピボット, “支店”, A2)>0.2),
“優良店舗”, “要改善”)
VLOOKUP関数との併用
マスタデータとピボットテーブルのデータを組み合わせる際に有効です。
商品コードから商品情報を取得し、売上データと結合:
商品名: =VLOOKUP(A2, 商品マスタ, 2, FALSE)
売上: =GETPIVOTDATA(“売上”, ピボット, “商品コード”, A2)
カテゴリ: =VLOOKUP(A2, 商品マスタ, 3, FALSE)
配列数式での活用
複数のGETPIVOTDATA関数を配列として処理することで、一括でデータを取得できます。
月別データの一括取得(動的配列関数を使用):
=MAP(月リスト, LAMBDA(月,
GETPIVOTDATA(“売上”, ピボット, “月”, 月)))
支店別・月別のマトリックス作成:
=MAKEARRAY(支店数, 月数, LAMBDA(i,j,
GETPIVOTDATA(“売上”, ピボット,
“支店”, INDEX(支店リスト,i),
“月”, INDEX(月リスト,j))))
よくあるエラーと対処法
#REF!エラーの解決
#REF!は、指定したフィールド名/アイテム名の組み合わせがピボットテーブルに存在しない・表示されていない、またはピボットテーブル参照が範囲外のときに発生します。
(注)指定したアイテムがピボットに存在しており表示されている場合で、集計結果が0なら 0 が返ります。
アイテム(または組み合わせ)自体が存在しない/表示されていない場合は #REF! になります。
回避策として、IFERRORでラップするか、フィールド名・アイテム名の綴り/表示状態(フィルターで除外されていないか)と参照セルがピボット内かを確認してください。
エラーを回避する方法として、IFERROR関数でラップする:
=IFERROR(GETPIVOTDATA(“売上”, ピボット, “支店”, “新宿”), 0)
より詳細なエラーハンドリング:
=IF(ISERROR(GETPIVOTDATA(“売上”, ピボット, “支店”, A2)),
“データなし”,
GETPIVOTDATA(“売上”, ピボット, “支店”, A2))
フィールド名の不一致
ピボットテーブルのフィールド名と関数で指定した名前が完全に一致しない場合、エラーが発生します。
空白や特殊文字に注意が必要です。「売上 金額」と「売上金額」は異なるフィールドとして認識されます。
- ピボットテーブルのフィールドリストを確認
- 自動生成されるGETPIVOTDATA関数を参考にする
- TRIM関数で余分な空白を除去する
日付フィールドの扱い
日付をアイテムとして指定する場合は、DATE関数などで日付値として指定します。
=GETPIVOTDATA(“売上”, ピボット, “日付”, DATE(2024,4,1))
DATE関数を使用する場合:
=GETPIVOTDATA(“売上”, ピボット, “日付”, DATE(2024,4,1))
(※または、実際の日付型が入ったセル参照を渡します。
=GETPIVOTDATA(“売上”, ピボット, “日付”, F2) )
ピボットテーブルの日付グループ化が適用されている場合は、グループ名で指定。
=GETPIVOTDATA(“売上”, ピボット, “年”, “2024”, “月”, “4月”)
ピボットテーブルの更新に関する注意点
ピボットテーブルを更新した後、GETPIVOTDATA関数が正しく動作しない場合があります。
- ピボットテーブルを右クリックして「更新」を実行
- データソースの範囲が正しく設定されているか確認
- 計算フィールドや計算アイテムの名前が変更されていないか確認
自動更新の設定により、この問題を軽減できます。
- ピボットテーブルオプションで「ファイルを開くときにデータを更新する」にチェック
GETPIVOTDATA関数をマスターして分析力を高めよう
GETPIVOTDATA関数は、一見すると複雑に感じるかもしれませんが、ピボットテーブルと組み合わせることで実用性の高い分析機能として活用できます。レポートの自動化やダッシュボードの構築において、この関数を使うことで作業の効率化が期待できます。
基本的な使い方から始めて、徐々に他の関数との組み合わせに挑戦することで、エクセルでのデータ分析スキルが確実に向上するでしょう。エラーに遭遇しても適切に対処できるようになれば、より複雑で価値の高い分析レポートを作成できるようになります。
この記事をお読みの方におすすめのガイド5選【部署別紹介】
最後に、この記事をお読みの方によく活用いただいている人気の資料・ガイドを紹介します。すべて無料ですので、ぜひお気軽にご活用ください。
経理担当者向け
①Excel関数集 32選まとめブック
経理担当者の方をはじめ、ビジネスパーソンが知っておきたい便利なExcel関数集を初級~上級までギュッと網羅。新人社員の研修用などにもお使いいただけます。Google スプレッドシートならではの関数もご紹介しています。
②勘定科目・仕訳辞典(税理士監修)
勘定科目・仕訳に関する基本知識、および各勘定科目の仕訳例を具体的かつ網羅的にまとめた、50ページを超えるガイドを無料で提供しております。お手元における保存版としてでだけでなく、従業員への印刷・配布用としてもぜひご活用ください。
人事労務担当者向け
①入社・退職・異動の手続きガイドブック
書類の回収・作成・提出など手間のかかる入社・退職・異動(昇給・昇格、転勤)の手続き。
最新の制度をもとに、よくある質問やチェックポイントを交えながら、各手続きに必要な情報をまとめた人気のガイドですす。
②社会保険・労働保険の手続きガイド
企業において社会保険および労働保険の加入・喪失手続きは必ず発生し、手続きを誤れば保険事故が発生した際に従業員が不利益を被る可能性があります。
各保険の基本的な手続き方法を入社・退職・異動のシーン別にギュッとまとめた分かりやすいガイドです。
総務・法務担当者向け
契約書ひな形まとめ30選
業務委託契約書や工事請負契約書…など各種契約書や、誓約書、念書・覚書、承諾書・通知書…など、使用頻度の高い30個のテンプレートをまとめた、無料で使えるひな形パックです。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
ExcelのRANK関数の使い方!データの順位付けを自動化しよう
Excelで数値データの順位を付けたいならRANK関数が便利!RANK.EQとRANK.AVGの違い、絶対参照のコツ、同順位の扱い方、COUNTIFを使った複数条件設定、エラー対処法まで、実例を交えて詳しく説明します。 RANK関数の基本的…
詳しくみるエクセルで見やすい折れ線グラフを作る方法とは?どんな時に使う?
エクセルを用いてデータを視覚的に表現する方法の一つとして、折れ線グラフの作成があります。折れ線グラフは、時間の経過とともに変化するデータのトレンドを把握するために非常に有効です。本記事では、エクセルで見やすい折れ線グラフを作る具体的な手法や…
詳しくみるスプレッドシートでタイムスタンプを記録するには?手動入力からGAS自動化まで完全ガイド
Googleスプレッドシート(Google Sheets)でタイムスタンプを適切に管理することで、データの追跡性と信頼性が大幅に向上します。本記事では、NOW関数やショートカットキーを使った手動入力方法から、Google Apps Scri…
詳しくみるエクセルで文字数をカウントする方法とは?LEN関数とLENB関数を使おう
エクセルでデータを扱う際、文字数のカウントは非常に重要な作業です。特に、データの整理や分析において適切な文字数を把握することで、効率的な作業が可能になります。本記事では、エクセルで文字数をカウントするための基本的な方法として、LEN関数とL…
詳しくみるREPT関数完全ガイド|文字列を繰り返す方法と実践的な活用術
REPT関数は、指定した文字列を指定回数だけ繰り返して表示するExcelの文字列関数です。データの視覚化やレポート作成、簡易的なグラフ作成など、様々な場面で活用できる便利な機能です。 本記事では、REPT関数の基本的な使い方から実践的な応用…
詳しくみるPOWER関数完全ガイド – エクセルで累乗計算をマスターする方法
POWER関数は、指定した数値を任意の累乗に計算するエクセルの数学関数です。複利計算、面積・体積の計算、統計分析、科学技術計算など、幅広い分野で活用されています。本記事では、POWER関数の基本的な使い方から実務での応用例、他の関数との効果…
詳しくみる



