※本ページにはプロモーション(広告)が含まれています
Excelのピボットテーブルの集計値を、別のセルから「=」を使って参照しようとした瞬間、勝手に「=GETPIVOTDATA(“売上”,$A$3,”地域”,”関東”)」のような長い関数式に変わってしまった経験はありませんか。普通のセル参照のつもりだったのに、ピボットテーブルの行や列がフィルタで変わるたびに参照が壊れ、ドラッグでコピーしても同じ値ばかりが並ぶ。シンプルな「=B5」で済む話のはずが、いつの間にか業務全体の作業速度を奪う厄介な仕様として浮上してきます。
このGETPIVOTDATAの自動生成は、Excelの「ピボットテーブル参照を生成」というオプションがオンになっていることで発生します。本来はピボットテーブルのレイアウトが変わっても値を正しく取得するための便利機能なのですが、「単純に隣のセルを参照したいだけ」「ピボットの結果をそのまま固定値として扱いたい」というケースでは完全に邪魔者です。この記事では2026年最新のExcel環境を前提に、GETPIVOTDATAを無効化する8パターンの対処法、ExcelオプションのGUI操作、Excel for Mac・Excel Online・Microsoft 365での差異、レジストリ調整、用途別の使い分けまで、現場で迷わない判断基準として体系的にまとめます。
この記事でわかること
- GETPIVOTDATAが勝手に生成される根本原因とExcelの設計思想
- 1回だけ無効化したい場合の最速ワザ(手入力・F2編集)
- 恒久的に無効化するExcelオプション設定の正確な場所
- Excel for Mac/Online/iPad版での操作差異
- クイックアクセスツールバーへの登録で1クリック切替する方法
- VBAマクロでブック単位/全体に適用する自動化スクリプト
- レジストリ調整による組織展開(IT管理者向け)
- 無効化後に「やっぱり使いたい」ときの再呼び出し方法
- GETPIVOTDATAを残すべきケースと外すべきケースの判断基準
GETPIVOTDATA関数の仕組みとなぜ自動生成されるのか
GETPIVOTDATAは、ピボットテーブル内の特定のデータを「項目名」と「フィールド名」で取り出す関数です。通常のセル参照が「アドレス(場所)」で値を取るのに対し、GETPIVOTDATAは「論理的な座標(どのフィールドのどの値か)」で取りに行く設計になっています。そのため、ピボットテーブルの行や列の順序を入れ替えても、フィルタで非表示にしない限り正しく値を返してくれます。
この自動生成は「分析」タブ(または「ピボットテーブル分析」タブ)のオプションにある「ピボットテーブル参照を生成」がオンになっているとき、ピボット内のセルに対して「=」キーで参照を作成した瞬間にトリガーされます。マウスクリック・カーソル移動・矢印キーなど、どの方法で参照を作成しても自動置換されるため、知らないと「Excelがバグった」と勘違いするほど強力な仕様です。
GETPIVOTDATAの構文(参考)
=GETPIVOTDATA(取得するデータフィールド名, ピボットテーブル内の任意セル, [フィールド1, 項目1], [フィールド2, 項目2], …)
引数が多く可読性が低いのが特徴で、ピボットの構造が変わると引数を全て手書きで修正する必要があります。「便利だが融通が利かない」が現場の共通認識です。
主な対処パターン8つ
パターン1: その場限りで無効化(=とアドレスを手入力)
最も簡単で、1セルだけ普通参照したいときに使います。マウスでピボット内のセルをクリックせず、「=B5」のようにキーボードからアドレスを直接タイプします。Excelはクリック操作を経由しないため、GETPIVOTDATAに変換されません。スポット作業向きで設定変更を伴わないため、共有ブックでも安全です。
パターン2: F2キーで編集して参照を書き換える
すでにGETPIVOTDATAになってしまった式をF2で編集モードに入り、関数式部分を削除して「=$B$5」のように打ち替えます。複雑な引数を覚える必要がなく、確実に普通参照に戻せます。1〜2セルの修正であれば最速です。
パターン3: Excelオプションから恒久的に無効化(推奨)
「ファイル → オプション → 数式」を開き、「数式の処理」セクションにある「ピボットテーブル参照にGetPivotData関数を使用する」のチェックを外します。Excel本体の挙動が変わるため、すべてのブックで自動生成が止まります。最も汎用性が高く、ピボットを多用しない人にとって正解の設定です。
パターン4: 分析タブのオプションメニューから切替
ピボットテーブル内のセルを選択した状態で「ピボットテーブル分析」タブ → 「オプション」プルダウン(ピボットテーブルグループ内)→ 「GetPivotDataの作成」のチェックを外します。Excelオプションの該当設定と同じ状態が切り替わります。「いまだけ無効化したい」「ブックごとに使い分けたい」と思うかもしれませんが、実態はExcel全体の設定なので注意が必要です。
パターン5: クイックアクセスツールバーに登録
「GetPivotDataの作成」コマンドをクイックアクセスツールバー(QAT)に追加すると、画面上部から1クリックでON/OFFを切替できます。ピボットを毎日使う人は、登録しておけば「いま自動生成したい/したくない」を瞬時に切り替えられて生産性が跳ね上がります。
パターン6: VBAマクロでブックを開く際に自動OFF
個人用マクロブック(PERSONAL.XLSB)の「Workbook_Open」イベントに以下を記述すると、Excel起動時に自動でOFFにできます。
Application.GenerateGetPivotData = False
逆にTrueで再有効化。組織内でブックを共有する場合、特定ブックだけ無効化したいときも「ThisWorkbook」モジュールで同じプロパティを書けばOKです。
パターン7: レジストリで組織展開(IT管理者向け)
大量の端末に同じ設定を配布したい場合、HKEY_CURRENT_USER配下のExcelオプション関連キーを編集します。グループポリシーやIntuneで一括展開できるため、新人がGETPIVOTDATAに毎回引っかかる問題を組織レベルで根絶できます。後述の専用セクションで詳細を解説します。
パターン8: 値貼り付けで結果だけ固定する
「自動生成は仕方ないからコピー後に値で貼り付ける」という運用も実務では多用されます。Ctrl+Cでコピーしてから、貼り付け先で右クリック → 「形式を選択して貼り付け」 → 「値」を選びます。式自体は消えるためGETPIVOTDATAの呪縛から完全に解放されますが、ピボットの更新に追随しないので「集計結果のスナップショット」用途に限ります。

Excelオプションから無効化する手順(GUI完全版)
もっとも確実で副作用の少ない方法です。マシンを変えても再設定するだけで済むので、まずはこれを覚えれば十分というケースが大半です。
Windows版Excel(Microsoft 365 / Excel 2024 / 2021 / 2019)
- 左上の「ファイル」タブをクリック
- 左下の「オプション」を選択(旧バージョンでは「その他」展開後に出現)
- 左ペインから「数式」を選択
- 「数式の処理」セクションへスクロール
- 「ピボットテーブル参照にGetPivotData関数を使用する」のチェックを外す
- 「OK」をクリックして閉じる
この設定はユーザープロファイル単位で保存されるため、同じExcelを使っている他のユーザーには影響しません。再起動も不要で、即座に反映されます。
確認方法
設定後、ピボットテーブルの隣のセルに「=」と入力し、ピボットテーブル内のいずれかの集計セルをマウスでクリックします。式バーに「=Sheet1!$C$5」のような普通のセル参照が表示されればOK。GETPIVOTDATA(…)になる場合は、設定が反映されていないかExcelの再起動が必要です。
Excel for Mac/Online/iPad版での差異
OSやエディションによって設定UIや機能の有無が変わります。一覧で整理します。
| エディション | 無効化方法 | QAT登録 | VBA | 特徴 |
|---|---|---|---|---|
| Windows版Microsoft 365 | オプション > 数式 | 可 | 可 | 最も自由度が高い |
| Excel 2024 / 2021 / 2019 | オプション > 数式 | 可 | 可 | Microsoft 365とほぼ同一 |
| Excel for Mac | 環境設定 > 計算方法 | 可 | 可 | 設定の場所が異なる |
| Excel Online(Web版) | 手入力で回避 | 不可 | 不可 | 設定UIなし・パターン1で対応 |
| Excel for iPad / iPhone | 手入力で回避 | 不可 | 不可 | 外付けキーボードがあると楽 |
| Excel for Android | 手入力で回避 | 不可 | 不可 | タップ操作だとGETPIVOTDATA化しやすい |
Excel for Macの手順詳細
- メニューバーの「Excel」 → 「環境設定」を開く
- 「数式とリスト」セクションへ移動
- 「計算方法」をクリック
- 「ピボットテーブル参照にGetPivotData関数を使用する」のチェックを外す
- 閉じるボタン(左上の赤丸)で設定保存
Macは「OK」ボタンがなく、ウィンドウを閉じた绦間に保存される仕様のため、誤ってEscキーを連打する習慣がある人は注意が必要です。
Excel Online(Web版)の制約
ブラウザで動くExcel Onlineにはオプション設定のメニュー自体が存在しません。そのため、GETPIVOTDATAを止めるには「=」を入力した後にマウスでクリックせず、キーボードで「=Sheet1!B5」と完全にアドレスを手入力するしかありません。共同編集中はパターン1の手入力が事実上の標準です。
iPad/iPhone版の挙動
タップで参照を作成するUIなので、ピボットテーブル内のセルをタップした瞬間にGETPIVOTDATAが自動挿入されます。外付けキーボードがある場合は「=」と「アドレス」を直接入力すれば回避可能ですが、画面キーボードしかない環境では、別シートに先に通常参照式を作っておき、それを呼び出す形が現実的です。
クイックアクセスツールバー(QAT)への登録
「常にOFFにしたいわけではなく、必要に応じて切り替えたい」というユーザーには、QATへの登録が最強です。1クリックでトグルできるようになります。
登録手順
- クイックアクセスツールバー右端の「▼」をクリック
- 「その他のコマンド」を選択
- 「コマンドの選択」プルダウンを「すべてのコマンド」に変更
- 一覧から「GetPivotDataの作成」を探す(五十音/アルファベット順)
- 「追加」ボタンでQATに追加
- 「OK」をクリック
追加後はリボンを「ピボットテーブル分析」タブに切り替えなくてもON/OFFができます。ボタンが押された状態(強調表示)= ONです。日常的にピボットを触る経理・分析職の方は確実に時短になります。
VBAマクロでの制御
個別ブックや個人用マクロブック(PERSONAL.XLSB)で動かすことで、Excel起動時/ブックを開いた瞬間に強制OFFできます。
Excel起動時に常に無効化するコード
PERSONAL.XLSBのThisWorkbookモジュールに次のように記述します。
Private Sub Workbook_Open()
Application.GenerateGetPivotData = False
End Sub
逆にTrueにすれば再有効化。GenerateGetPivotDataはApplicationオブジェクトのプロパティなので、設定変更はExcel全体に効きます。
特定ブックだけ無効化したい場合
対象ブックのThisWorkbookモジュールに同様のWorkbook_Openを書きます。ブックを閉じる際に「Workbook_BeforeClose」でTrueに戻しておくと、他のブックを操作するときに勝手に挙動が変わらず親切設計です。
トグル用ボタンマクロ
Sub ToggleGetPivotData()
Application.GenerateGetPivotData = Not Application.GenerateGetPivotData
End Sub
これをリボン/フォームコントロールに割り当てれば、QATと同じ感覚で切替ボタンが作れます。会社共通テンプレートに仕込んでおけば、新人教育のコストも下がります。
レジストリで組織展開(IT管理者向け)
大量端末の標準設定をそろえたい場合、レジストリの編集で配布できます。Excelを完全終了してから操作し、必ずバックアップ(regファイルのエクスポート)を取得してください。
対象キーの場所
HKEY_CURRENT_USER\Software\Microsoft\Office\<バージョン番号>\Excel\Options
バージョン番号はMicrosoft 365/Excel 2024/2021/2019で「16.0」、Excel 2016以前で「15.0」「14.0」など。
追加する値
名前: GenerateGetPivotData
種別: DWORD(32ビット)
値: 0(無効化) または 1(有効化)
グループポリシー(GPO)やIntuneのレジストリポリシーで配布すると、新人端末でも初期状態で無効化された状態にできます。組織展開後、ヘルプデスクへの「GETPIVOTDATAが消せない」問い合わせが激減した、というフィードバックは多数報告されています。
無効化したあとに「やっぱり使いたい」場合
無効化したからといってGETPIVOTDATA関数自体が消えるわけではありません。手入力でいつでも呼び出せます。
手入力での使用例
=GETPIVOTDATA(“売上”,$A$3,”地域”,”関東”,”商品”,”ノートPC”)
ピボットテーブルの起点セルが$A$3で、「地域=関東」「商品=ノートPC」の売上を取得します。
恒久的に再有効化したい場合は、無効化時と同じ場所のチェックを入れ直すだけです。QATに登録していればワンクリック、VBAなら「True」に書き換えで戻ります。
GETPIVOTDATAを残すべきケース・外すべきケース
残すべきケース
- ピボットテーブルの行や列の順序を頻繁に入れ替える
- フィルタで表示/非表示が動的に変わるダッシュボードを作る
- レイアウト変更で参照が壊れると業務影響が大きい
- 監査要件で「データソースの紐付け」が必要
外すべきケース
- ピボットを集計の一時手段としてしか使わない
- 結果を別シートにコピーして共有することが多い
- 「=B5」のような単純参照のほうが直感的に伝わる
- 新人やExcel初心者と共同編集する
- VLOOKUP・XLOOKUPの結果と組み合わせる場面が多い
用途別の最適な設定(早見表)
| ユーザー像 | 推奨設定 | 理由 |
|---|---|---|
| 経理・財務担当(毎日ピボット) | QAT登録で切替式 | 用途に応じてON/OFFを瞬時に切替 |
| 営業・マーケ(たまにピボット) | オプションで常時OFF | 単純参照ニーズが圧倒的に多い |
| データ分析・BIエンジニア | 常時ON | レイアウト変更対応が必須 |
| 新人・Excel入門者 | オプションで常時OFF | 混乱回避を最優先 |
| IT管理者(端末配布側) | レジストリで一括OFF | 問い合わせ削減と統一性 |
| マクロ運用者 | VBAでブック単位制御 | ブック別に最適挙動を作れる |
| 外勤者(iPad中心) | 手入力で回避 | 設定UIが存在しない |

つまずきやすいポイント
1. 設定変更が「特定のブックだけ」と勘違いされやすい
分析タブのオプションメニューにある「GetPivotDataの作成」は、見た目はブック内のオプションですが、実態はExcelアプリ全体の設定です。「このブックだけ無効化」したつもりが、別のブックでも無効になっていて驚くケースが多発します。ブック単位で挙動を分けたい場合はVBAで制御してください。
2. 設定したのにGETPIVOTDATAが消えない
Excelを再起動していない、複数Excelインスタンスが起動している、共同編集ブックで他ユーザーの設定が優先される(ことはありませんが体感としてそう感じる場合)など、確認するべきポイントがいくつかあります。最初は確実に1ブックだけ開いた状態でテストしてください。
3. 既存のGETPIVOTDATA式は変わらない
設定をOFFにしても、すでにシート上に存在するGETPIVOTDATA式は自動的に通常参照に置換されません。検索置換やVBAで一括変換するか、手作業で書き換える必要があります。
4. ピボットテーブル参照とGETPIVOTDATAの違いを意識せず混在
「=Sheet1!$B$5」と「=GETPIVOTDATA(…)」がシート内に混在すると、ピボットの構造変更時に挙動が読みにくくなります。可能なら方針を統一して運用してください。
5. 「ピボットテーブル参照」と「テーブル構造化参照」を混同
テーブル機能(Ctrl+T)の構造化参照「=テーブル1[@列名]」は別物です。GETPIVOTDATAの設定を変更してもテーブル構造化参照には影響しません。
🛒 関連商品をAmazonでチェック
FAQ よくある質問
Q1. 設定を無効化したら過去のGETPIVOTDATA式は壊れますか?
壊れません。既存の式はそのまま動作し、設定がOFFになるのは「新規に=で参照を作成するとき」だけです。安全に切替できます。
Q2. 「ピボットテーブル分析」タブが見つかりません
ピボットテーブル内のいずれかのセルを選択していないと表示されません。ピボット外のセルにフォーカスがあると、コンテキストタブとして非表示になります。
Q3. Excel for Macで「環境設定」が英語表記です
System設定の言語設定でOSの言語が英語になっていると、Excelもそれに従います。「Formulas and Lists」 → 「Calculation」 → 「Use GetPivotData functions for PivotTable references」のチェックを外せばOKです。
Q4. GETPIVOTDATAの引数が長すぎて読めません
これは設計上の宿命です。引数を改行(Alt+Enter)して見やすくしたり、命名規則を統一してフィールド名を短くする工夫が現場で行われています。読みにくいと感じるなら、無効化したうえで単純参照のほうが結果的に保守性が高まります。
Q5. オプションをグレーアウトされて変更できません
会社のグループポリシーでロックされている可能性があります。IT管理者に確認してください。レジストリのGenerateGetPivotData値がポリシー側で固定されているケースが該当します。
Q6. 設定したのに同僚のExcelでは有効のままです
この設定はユーザープロファイル単位で保存されるため、各ユーザーが自分のExcelで個別に設定する必要があります。共有はされません。組織で統一したい場合はレジストリ展開が必要です。
Q7. Power Query/Power BIにも影響しますか?
影響しません。GETPIVOTDATAはExcelの古典的なピボットテーブル専用機能で、Power Query/Power Pivot/Power BIのDAX関数とは独立しています。
Q8. ファイルを保存すると設定が戻ります
戻りません。ただし、別ユーザーのアカウントで開いた場合は、そのユーザー側の設定が反映されます。設定はファイルではなくExcel本体(ユーザープロファイル)に紐付くためです。
まとめ
GETPIVOTDATAの自動生成は、Excelの「ピボットテーブル参照を生成」というオプションが原因です。「ファイル → オプション → 数式」のチェックを外す方法が最も汎用的で、ピボットを多用しないユーザーには常時OFF設定を強くおすすめします。日常的にON/OFFを切り替えたい人はクイックアクセスツールバー登録、組織で一括設定したい場合はレジストリ/VBA/グループポリシーでの展開が現実解です。Excel for Macは設定UIの場所が異なり、Excel Online/iPad/Android版はそもそも設定UIが存在しないため、手入力で「=Sheet1!B5」のようにアドレスを直接タイプする運用に切り替えてください。GETPIVOTDATAを「敵」ではなく「ピボットのレイアウト変更に強い参照手段」として理解したうえで、用途別に意識的に使い分けることが、最も生産性の高い向き合い方です。設定変更後も既存式は壊れないため、まずは1度オプションをOFFにして、自分の業務にどちらが合うかを試してみてください。
minto.tech スマホ(Android/iPhone)・PC(Mac/Windows)の便利情報をお届け! 月間アクセス160万PV!スマートフォン、タブレット、パソコン、地デジに関する素朴な疑問や、困ったこと、ノウハウ、コツなどが満載のお助け記事サイトはこちら!