- 公開日:
- 更新日:
ExcelのGETPIVOTDATA関数の使い方|ピボットテーブルのデータ取得
この記事では、ExcelのGETPIVOTDATA関数の使い方についてご説明します。
GETPIVOTDATA関数の書式や、GETPIVOTDATA関数でエラーが表示された場合の対処法等についてご紹介していますので、お困りの方は参考にしてみてください。
GETPIVOTDATA関数とは?
GETPIVOTDATA(ゲットピボットデータ)関数とは、ピボットテーブル内から任意のデータを取得するための関数です。
例えば画像内のB10のセルにある「5月1日の総売り上げ」は、ピボットテーブル内のF4のセルにある「1916」というデータを、GETPIVOTDATA関数を使って取り出したものになります。
ピボットテーブルとは、Excelで大量のデータを集計し、分析することができる機能のことです。
ピボットテーブルの詳細については、以下の記事をご参照ください。
GETPIVOTDATA関数の書式
まずは、GETPIVOTDATA関数の書式を確認していきましょう。
GETPIVOTDATA関数の書式は「=GETPIVOTDATA(データフィールド,ピボットテーブル,[フィールド1,アイテム1],…)」のように記述し、フィールドとアイテムの引数の組み合わせを最大126個設定することが出来ます。
引数を1つずつ確認していきましょう。
※引数(ひきすう)とは、Excelの関数を使用する際に必要な情報です。関数が結果を返すための判断材料とイメージしましょう。関数名の後の括弧「()」内に入力します。
第1引数(データフィールド)
1番目の引数は「データフィールド」です。この引数は必須です。ピボットテーブル内で取得したいデータを含むフィールド名を指定します。
この「フィールド名」は、ピボットテーブルの元のリスト内でのカテゴリのことをいいます。
例えば画像のようにピボットテーブルの元のリスト内にある「日付」「商品名」等の項目で分けられたデータの列を、それぞれ「フィールド」といいます。
「フィールド名」は、各項目の1行目にあるカテゴリ名のことです。
例えば画像のように各売り上げでまとめたピボットテーブルの中から「5月1日の総売り上げ」のデータを取得したい場合は、「売り上げ」というフィールド名がデータフィールドの引数になります。
第2引数(ピボットテーブル)
2番目の引数は「ピボットテーブル」です。この引数は必須です。データを取得するピボットテーブルを指定します。
ピボットテーブル内の任意のセル、もしくはピボットテーブルを範囲選択することで設定できます。
例えば画像のような場合は、A2からF8にピボットテーブルが表示してあるので「A2:F8」が「ピボットテーブル」の引数になります。
第3引数(フィールド1)
3番目の引数は「フィールド1」です。この引数は省略できます。取得するデータのフィールド名を指定します。
例えば画像のB10のセルのように「5月1日の総売り上げ」のデータを取得したい場合、ピボットテーブルの元のリストで「5月1日」を「日付」のカテゴリで入力していれば「日付」というフィールド名がフィールドの引数になります。
省略した場合は、データフィールドの引数で指定したデータの総計が表示されます。例えば、データフィールドの引数に「売り上げ」と設定していた場合は、売り上げの総計が表示されます。
第4引数(アイテム1)
4番目の引数は「アイテム1」です。この引数は省略できます。取得するデータの具体的な名前を指定します。
例えば画像のB10のセルのように「5月1日の総売り上げ」のデータを取得したい場合は、「5月1日」がアイテムの引数になります。
省略した場合は、データフィールドの引数で指定したデータの総計が表示されます。例えば、データフィールドの引数に「売り上げ」と設定していた場合は、売り上げの総計が表示されます。
GETPIVOTDATA関数の使い方
GETPIVOTDATA関数の使い方について、ご紹介します。
GETPIVOTDATA関数を自動的に入力する方法
Excelのデフォルトの設定では、ピボットテーブル内のデータを他のセルで参照する際に、GETPIVOTDATA関数が自動的に入力されるようになっています。
任意のExcelファイルを開きます。今回は画像のようなピボットテーブルを使って、GETPIVOTDATA関数を自動的に入力し、ピボットテーブル内のデータを取得する方法についてご説明します。
データを取得したいセルを選択します。①【任意のセル(例:B10)】を選択し、『=』と入力します。②【データを取得したいセル(例:F4)】を選択します。
ここまでの操作で、「=」の後にGETPIVOTDATA関数が自動的に入力されます。【Enter】キーを押します。
これで、GETPIVOTDATA関数を自動的に入力し、ピボットテーブル内のデータを取得することができました。
複数条件でデータを取り出す方法
GETPIVOTDATA関数は自動的に入力される関数ですが、手入力で複数条件を指定してデータを取り出すことも出来ます。
GETPIVOTDATA関数を手入力し、複数条件を指定してデータを取り出す方法については以下の通りです。
任意のExcelファイルを開きます。
今回は画像のピボットテーブルを使用して、「5月1日のいちごの売り上げ」をピボットテーブル内のデータから取得する方法についてご説明します。
GETPIVOTDATA関数を入力します。
【任意のセル(例:B10)】を選択し、『=GETPIVOTDATA(』と入力します。
データフィールドの引数を設定します。
今回は売り上げのデータを取得するので、「=GETPIVOTDATA(」に続いて『"売り上げ",』と入力します。
ピボットテーブルの引数を設定します。
「"売り上げ",」に続いて、『A2:F8,』と入力します。
フィールド1の引数を設定します。
「5月1日」はピボットテーブルの元のリスト内で「日付」のカテゴリに入力されているので、フィールド1の引数は「日付」になります。
「A2:F8,」に続いて『"日付",』と入力します。
アイテム1の引数を設定します。
「5月1日」のデータを取得したいので、アイテム1の引数は「5月1日」になります。
「"日付",」に続いて『"5月1日",』と入力します。
フィールド2の引数を設定します。
「いちご」はピボットテーブルの元のリスト内で「商品名」のカテゴリに入力されているので、フィールド2の引数は「商品名」になります。
「"5月1日",」に続いて『"商品名",』と入力します。
アイテム2の引数を設定します。
「いちご」のデータを取得したいので、アイテム2の引数は「いちご」になります。
「"商品名",」に続いて『"いちご")』と入力し、Enterを押します。
これでGETPIVOTDATA関数を手入力し、複数条件を指定してデータを取り出すことが出来ました。
SUM関数と組み合わせて使う方法
SUM関数を使って、GETPIVOTDATA関数で取得したピボットテーブル内のデータの合計を求めることが出来ます。
SUM関数の詳細については、以下の記事をご参照ください。
GETPIVOTDATA関数とSUM関数を組み合わせる方法は、以下の通りです。
任意のExcelファイルを開きます。
今回は画像のようなピボットテーブルを使い、GETPIVOTDATA関数とSUM関数を組み合わせて、5月1日のいちごの売り上げと5月2日のみかんの売り上げを合計する方法をご説明します。
SUM関数を入力します。
SUM関数の書式は「=SUM(数値1,[数値2],…)」です。
まずは【任意のセル(例:A11)】を選択し、『=SUM(』と入力します。
次に、数値1を設定します。
「5月1日のいちごの売り上げ」を数値1の引数に設定したいので、「=SUM(」に続けて『GETPIVOTDATA("売り上げ",$A$2,"日付","5月1日","商品名","いちご"),』と入力します。
数値2を設定します。
「5月2日のみかんの売り上げ」を数値2の引数に設定したいので、「GETPIVOTDATA("売り上げ",$A$2,"日付","5月1日","商品名","いちご"),」に続けて『GETPIVOTDATA("売り上げ",$A$2,"日付","5月2日","商品名","みかん"))』と入力し、Enterを押します。
GETPIVOTDATA関数とSUM関数を組み合わせて、5月1日のいちごの売り上げと5月2日のみかんの売り上げを合計することが出来ました。
VLOOKUP関数でデータを取得する方法
VLOOKUP関数を使うと、GETPIVOTDATA関数と同じようにピボットテーブル内からデータを取得することが出来ます。
VLOOKUP関数の詳細については、以下の記事をご参照ください。
ExcelのVLOOKUP関数の使い方|指定の列と同じ行にある値を返す
VLOOKUP関数でデータを取得する方法は、以下の通りです。
任意のExcelファイルを開きます。
今回は画像のような表を例に挙げて、VLOOKUP関数を使ってデータを取得する方法についてご説明します。
画像のピボットテーブル内のF4からF7の総計を、B11からB14のセルに表示します。
VLOOKUP関数の書式は、「=VLOOKUP(検索値,範囲,列番号,[検索方法])」です。
まずは【任意のセル(例:B11)】を選択し、『=VLOOKUP(』と入力します。
検索値の引数を設定します。
A11のセルに入っている日付を検索値の引数に設定したいので、「=VLOOKUP(」に続けて『A11,』と入力します。
範囲の引数を設定します。
ピボットテーブル内のセルを範囲の引数に設定したいので、「A11,」に続けて『$A$4:$F$7,』と入力します。
列番号の引数を設定します。
日付ごとの総売り上げは、先ほど範囲選択した「A4:F7」の範囲内で左から6番目にあるので「$A$4:$F$7,」に続けて『6,』と入力します。
検索方法の引数を設定します。
「6,」に続けて『FALSE)』と入力し、Enterを押します。
この「FALSE」は、VLOOKUP関数において「検索値と完全に一致する場合に値を返す」という意味の引数です。
数式をオートフィルでコピーします。
【VLOOKUP関数を入力したセル(例:B11)】を選択し、セルの右下にある【■(フィルハンドル)】を下方向へドラッグします。
これで、VLOOKUP関数を使ってピボットテーブル内のデータを取得することが出来ます。
データ更新してエラーになった時の対処法
ピボットテーブルの元になるリスト内のフィールド名を書き換えて更新した場合、GETPIVOTDATA関数がエラーになる場合があります。
試しに、ピボットテーブルの元になるリスト内のフィールド名を変更してみましょう。
まずは【リスト内の任意のフィールド名(例:E1)】を選択し、「売り上げ」というフィールド名を『金額』に変更してみます。
ピボットテーブルに移動します。
①【ピボットテーブル内の任意のセル(例:F2)】、②「ピボットテーブル ツール」の【分析】タブ、③【更新】の順に選択します。
ピボットテーブル内の数値が消え、GETPIVOTDATA関数を入力したセル(例:B10)にも「#REF!」エラーが表示されてしまいました。
元のリストのフィールド名を変更した後は、変更したフィールド名をピボットテーブルとGETPIVOTDATA関数に反映させる必要があります。
変更したフィールド名を、ピボットテーブルとGETPIVOTDATA関数に反映させる方法は以下の通りです。
画面右端にあるピボットテーブルのフィールド内に、先ほど「金額に変更したフィールド名」があるので【チェックマーク】を入れます。
次に、【GETPIVOTDATA関数を入力したセル(例:B10)】を選択し、GETPIVOTDATA関数の「データフィールド」の引数を「売り上げ」から『金額』に書き換えてEnterを押します。
これで変更したフィールド名を、ピボットテーブルとGETPIVOTDATA関数に反映させることが出来ました。
#REFが表示されてエラーになった時の対処法
GETPIVOTDATA関数では、ピボットテーブル内に無いデータを取得することはできません。
試しに、「いちごとぶどうの売り上げを合わせた数値」をピボットテーブルから取得してみます。
【任意のセル(例:B10)】を選択し、『=GETPIVOTDATA("売り上げ",A2:F8,"商品名","いちご","商品名","ぶどう")』と入力し、Enterを押します。
#REF!のエラーが表示されてしまいました。
#REF!のエラーが表示された理由は、「いちごとぶどうの売り上げを合わせた数値」がピボットテーブル内に無いためです。
#REF!のエラーが表示された場合は、ピボットテーブル内に無い数値を取得しようとしていないか確認してみましょう。