• 公開日:
  • 更新日:

エクセルのピボットテーブルの範囲変更方法

Excel(エクセル)でピボットテーブルの範囲を変更する方法をご紹介します。またピボットテーブルの範囲をテーブルにすることで新しく行を追加した場合も更新すれば最新の内容に反映されるやり方も説明しています。

さらにVBAを使って自動的に範囲を反映させるサンプルコードと使い方もご紹介していますのでご参考ください。

手順で使用するフォーマットのダウンロードはこちら

ピボットテーブルの範囲を変更する方法

ピボットテーブルの範囲を変更する方法をご紹介します。

データソースの変更

①範囲を変更したいピボッドテーブルを選択し、②【ピボットテーブル分析】タブを選択します。③【データソースの変更】を押します。

範囲の変更

「ピボッドテーブルのデータソースの変更」ダイアログボックスが表示されるので「テーブルまたは範囲を選択」右端の【↑】ボタンを押します。

変更したい範囲をドラッグで選択し、【Enter】キーを押します。例ではB2からG15のセル範囲を選択しています。

OKボタンを押す

新しいピボッドテーブルの範囲が指定されていることを確認し、【OK】ボタンを押します。

ピボッドテーブルの範囲変更

ピボッドテーブルの範囲を変更することで新しい範囲に基づいてピボッドテーブルが更新されます。例では、赤枠の行が範囲を変更することで追加されました。

ピボットテーブルの範囲を可変にする方法

ピボットテーブルの元のデータをテーブルとして設定することで行を追加した際も更新をかけることで反映する方法をご紹介します。

テーブルの設定

①可変としたい範囲をドラッグで選択し、②【挿入】タブを選択してから③【テーブル】を押します。

テーブルの作成

「テーブルの作成」ダイアログボックスが表示されます。テーブルに変換するデータ範囲を確認して問題なければ【OK】ボタンを押します。

ピボットテーブルの作成

選択した範囲がテーブルに変換されました。実際にピボットテーブルを作成してみましょう。

①範囲が選択されている状態で【挿入】タブを選択し、②【ピボットテーブル】を押します。

既存のワークシートに作成

【既存のワークシート】を選択し、②ピボットテーブルを挿入したい場所(上図ではI2セル)を選択します。③【OK】ボタンを押します。

フィールドの設定

「ピボットテーブルのフィールド」が画面右側に表示されます。①【日付】、②【単価】、③【数量】、④【合計】をチェックします。これでピボットテーブルが作成されました。

更新

元のテーブルに行を追加してみましょう。①15行目にデータを追加します。②更新したいピボットテーブルを選択し、③【ピボットテーブル分析】タブ、④【更新】を押します。

「更新」メニューを押す代わりにAlt+F5のショートカットキーでも可能です。

追加したデータの反映

元のテーブルに追加した内容がピボットテーブルに反映されました。

VBA(マクロ)を使ってピボットテーブルを自動的に更新する方法

通常のピボッドテーブルでは元のデータを変更した場合、「更新」をする必要があります。VBAを使えば自動的に変更を反映させることができます。サンプルコード付きで使い方をご紹介します。

テーブルの設定

①ピボッドテーブルにしたい範囲をドラッグで選択し、②【挿入】タブを選択してから③【テーブル】を押します。

テーブルの作成

「テーブルの作成」ダイアログボックスが表示されます。テーブルに変換するデータ範囲を確認して問題なければ【OK】ボタンを押します。

ピボットテーブルの作成

選択した範囲がテーブルに変換されました。実際にピボットテーブルを作成してみましょう。

①範囲が選択されている状態で【挿入】タブを選択し、②【ピボットテーブル】を押します。

新規ワークシート

①【新規ワークシート】を選択し、②【OK】ボタンを押します。

フィールドの設定

表示させたいフィールドにチェックします。例では、【日付】、【単価】、【数量】、【合計】をチェックしました。これでピボットテーブルが作成されました。

ピボッドテーブル名の確認

ピボッドテーブル名を確認します。ピボッドテーブルが入っているシートを開き、①自動反映したいピボッドテーブルを選択し、②【ピボッドテーブル分析】タブの中の③「ピボッドテーブル名」を確認します。例では「ピボッドテーブル2」と表示されています。

コードの表示

元のデータが入っているシート名の上で【右クリック】し、コンテキストメニューから【コードの表示】を選択します。

コードの記述

VBE(Visual Basic Editor)が起動しますので下記のサンプルコードを入力します。これで元のデータを変更すると自動的にピボッドテーブルにも反映されるようになります。


Private Sub Worksheet_Change(ByVal Target As Range)

 Worksheets("Sheet2").PivotTables("ピボットテーブル2").PivotCache.Refresh
 
End Sub
  • Worksheets("Sheet2"):自動反映したいピボッドテーブルが入っているシートを指定します。
  • PivotTables("ピボットテーブル2"):自動反映したいピボッドテーブルのピボッドテーブル名を指定します。
行の追加

元のデータに行を追加してみましょう。15行目にデータを追加しました。

自動反映の確認

ピボッドテーブルに自動的に変更が反映されています。

ピボットテーブル専門の本をご紹介

ピボットテーブルをより深く勉強したい方はこちらの本でさらに理解を深めてみてはいかがでしょうか?

Excelピボットテーブル データ集計・分析の「引き出し」が増える本 第2版

Excelピボットテーブル データ集計・分析の「引き出し」が増える本 第2版