ピボットテーブルはExcelの便利な機能ですよね。VLOOKUPと組み合わせることで、ピボットテーブルの値の種類を増やしたり、レイアウトの弱点を補ったりといった使い方ができます。
この記事では、Excelの応用例としてピボットテーブルとVLOOKUP関数を組み合わせて使う方法をご紹介します。
ピボットテーブルとVLOOKUP関数を組み合わせて使う
ピボットテーブルの値の種類を増やす
VLOOKUP関数を利用して、複数の表でピボットテーブルを作成します。
例えば、売上表をもとに作成された次のようなピボットテーブルがあるとします。売上表は、日付と商品番号、売上数を記録したデータです。
上記の例では、ピボットテーブルで日付別・商品番号別に販売件数の分析をすることはできますが、売上金額は出せません。
売上金額をピボットテーブル上に表示するには、次のようにVLOOKUP関数を組み合わせます。
- 売上表に「売上金額」の列を追加して、追加した列に以下のようにVLOOKUP関数を用いて商品表から商品の単価を取得する数式を入力します。
- VLOOKUPで取得した「商品単価」と「売上数」を乗算して売上金額を計算する数式に変更します。
- VLOOKUPの検索範囲を絶対参照で固定して、売上表の列全てに数式をコピーします。
- ピボットテーブルを再作成します。売上表のデータセルをどこでもいいのでクリックして、「挿入」リボン→「ピボットテーブル」の順にクリックします。
- ピボットテーブルの作成ダイアログが表示されるので、データ範囲に問題がないことを確認して「OK」をクリックします。
- 売上金額を組み合わせられるピボットテーブルが作成できました。「値」に「売上金額」を追加することで日別・商品別で分析することができます。
最初の例では、ピボットテーブルだけでは売上数の合計までしか出せませんでした。使いたい値をVLOOKUP関数で取得することで、ピボットテーブルだけで表示できなかった値を使うことができます。
この使い方がピボットテーブル+VLOOKUP関数の組みあわせで最もメジャーなのではないかと思います。
ピボットテーブルのレイアウトを変更する
ピボットテーブルは簡単に表を作成できる便利な半面、次のようなデメリットがあります。
- ソートが若干面倒
昇順・降順以外のソート順を指定する場合、手動でドラッグ&ドロップする必要があります。 - 数値が入っていないデータが表示できない
商品ごとの売上を表示する場合、売上がない商品は一覧に表示されません。 - セルを部分的に移動できない
セル自体に数式が入っているわけではないため、個別にセルを離したりすることができません。 - 計算式を変更できない
部分的に計算式を変更することができません。
上記のピボットテーブルの不便な点は、VLOOKUP関数を使うことでカバーすることができます。
具体的には、値の表示はVLOOKUP関数でピボットテーブルから参照することで、通常のエクセルのセルのままピボットテーブルのデータを使うことができます。
例えば、次の商品の売上金額のピボットテーブルがあるとします。
上記のピボットテーブルのデータをVLOOKUP関数を利用して、通常のセルで参照できるようにします。
- 別シートにVLOOKUP用のフォーマットを作成します。
- 値を表示したいセルに、VLOOKUP関数を使って検索範囲をピボットテーブルにして値を取得する数式を入力します。
- 例では、検索値には商品名、参照範囲にはピボットテーブルの範囲、列番号はピボットテーブルから取得したい列番号を設定しています。
- すべてのセルに数式をコピーするため、ピボットテーブルの範囲は絶対範囲で指定しています。
- 数式を他セルにコピーします。
- ピボットテーブルに商品名がないデータは、エラーが表示されます。見辛い場合は、各セルの数式にIFERROR関数を追加して「0」を表示させます。
=VLOOKUP(フォーマット!B4,ピボットテーブル!$A$4:$B$8,2,FALSE)
↓ 訂正後
=IFERROR(VLOOKUP(フォーマット!B4,ピボットテーブル!$A$4:$B$8,2,FALSE),0) - ピボットテーブルの値を作成したフォーマットに表示することができました。
上記のように、ピボットテーブルのデータをVLOOKUP関数で取得することで、通常のセルと同じ使い方ができるようになります。
以上、ピボットテーブルとVLOOKUP関数を組み合わせて使う方法でした。
コメント