【Excel】GETPIVOTDATAの自動入力を止める方法|セル参照との使い分け

【Excel】GETPIVOTDATAの自動入力を止める方法|セル参照との使い分け
🛡️ 超解決

ピボットテーブルの値をクリックするとGETPIVOTDATAが入るのは、項目名を指定して値を取り出すためです。セル番地で参照したい場合は生成をオフにできますが、並べ替え後に別の項目を参照しないか確認してください。

GETPIVOTDATA自体がコピーできないわけではありません。どの項目を取りたいかをセル参照にすれば、コピー先に応じた使い方もできます。

ADVERTISEMENT

1. セルの位置と項目名のどちらを参照するか

=B5はB5の値を取り出します。ピボットを並べ替えてB5が別の支店になれば、その支店の値を返します。式が短くても、目的の項目を追い続けるとは限りません。

GETPIVOTDATAは指定したフィールドと項目に対応する値を求めます。表の位置が変わっても項目を指定できる利点がありますが、フィルターで対象が表示されない場合などは#REF!になることがあります。

並べ替え前はB5が東支店100、後は西支店300になる。B5参照は300へ変わるが東支店を指定する参照は100を求める
セル番地は位置を参照します。並べ替え後も同じ支店を集計したい場合は、項目を指定する方法を検討します。
※ お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

2. 自動生成をオフにする

  1. ピボットテーブル内のセルを選択します。
  2. 「ピボットテーブル分析」タブの「オプション」のメニューを開きます。
  3. 「GetPivotDataの生成」のチェックを外します。
  4. 表の外で「=」を入力し、ピボット内の値をクリックして式を確認します。

既に入力してあるGETPIVOTDATA式が、この設定だけでセル参照へ置き換わるわけではありません。既存式を変更する場合は、参照対象を確認して個別に直します。

3. 今回だけならセル番地を入力する

設定を変えずに=B5を直接入力する方法もあります。相対参照なら下へコピーするとB6、B7と変わります。常にB5を参照するなら=$B$5ですが、どちらも支店名を条件として探す式ではありません。

Windows版では「ファイル」→「オプション」→「数式」にある、ピボットテーブル参照でGetPivotDataを使う設定からも切り替えられます。共有先の利用環境まで一律に変更する設定ではないため、ブックを渡す前に数式そのものを点検します。

4. GETPIVOTDATAをコピーして使う

E2に支店名がある例なら、項目を指定する引数へE2を使えます。例は=GETPIVOTDATA("売上",$A$3,"支店",E2)です。下へコピーするとE3、E4を読み、支店名を切り替えられます。

売上や支店は実際のフィールド名に合わせ、$A$3は対象ピボット内のセルにします。まずクリックで生成された式を参考にし、必要な項目部分だけをセル参照へ変えると確認しやすくなります。

5. 並べ替えとフィルターで試す

表の行を並べ替えた後も、目的の支店の値を取得できるか確かめます。通常のセル参照を使うなら、ラベルと数値を一緒に確認してください。合計行の位置が変わる場合もあります。

GETPIVOTDATAが#REF!になる時は、対象のピボット、フィールド名、項目名、表示中の範囲を確認します。エラーを0で隠す前に、0円なのか項目を取得できないのかを分けます。

6. 参照目的に合わせて選ぶ

一時的な計算で固定位置を読むならセル参照、更新後も特定の項目を読むならGETPIVOTDATAが候補です。コピーの便利さだけで全式を置き換える必要はありません。

構文と自動生成の設定はMicrosoftのGETPIVOTDATA説明で確認できます。設定変更後も、既存式と新しい式を区別して点検します。

📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。
この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】