Excelのピボットテーブルをフィルターする8つの効果的な方法
ピボットテーブルを活用していると、必要なデータだけを抽出するためにフィルターをかけたい場面が頻繁にあります。幸いなことに、Excelにはピボットテーブルを絞り込むための便利な機能が数多く用意されています。この記事では、ピボットテーブルをフィルターする8つの効果的かつ定番の方法を、具体的な手順とともにわかりやすく解説します。
記事はやや長めですので、まず全体の構成を確認し、自分の目的に合った方法から読み進めるのがおすすめです。最も簡単な方法から順に説明し、その後複数列へのフィルター、最後にVBAによる自動化の方法をご紹介します。
Excelピボットテーブルをフィルターする8つの方法
今回使用するサンプルデータは、米国の各州(States)別に商品カテゴリ(Product Category)、注文日(Order Date)、数量(Quantity)、売上(Sales)をまとめたものです。

上記データセットからピボットテーブルを作成する手順については、「ピボットテーブルの作成方法」の記事をご参照ください。ここでは、すでに作成済みの以下のピボットテーブルを使用します。

それでは、ピボットテーブルのフィルター方法をひとつずつ見ていきましょう。
1. レポートフィルターを使って絞り込む
最初にご紹介するのは、レポートフィルターを使ってピボットテーブルの情報を絞り込む方法です。
例として、「アリゾナ州(Arizona)における全商品カテゴリの売上合計」を求めたい場合を考えてみましょう。
以下の手順に従って操作してください。
⏩ レポートフィルターを有効にするには、フィールド一覧から「States」フィールドを選択し、「フィルター」エリアへドラッグします。

⏩ すると、「States」フィールドの横にドロップダウン矢印が表示されます。

⏩ ドロップダウン矢印をクリックすると、すべての州がフィルター候補として表示されます。「Arizona」を選択して「OK」を押しましょう。

⏩ これで、目的どおりアリゾナ州のデータのみが表示された結果が得られます。

2. 値フィルターを活用する
数値に基づいて絞り込みたい場合は、値フィルターが最適です。値フィルターにはさまざまな条件が用意されており、ここでは特によく使われる3つのパターンをご紹介します。
2.1. 上位項目を抽出する
例えば、「売上合計の上位5件の商品カテゴリ」を抽出したいとします。
⏩ 「行ラベル」のドロップダウン矢印をクリックします。
⏩ 「値フィルター」>「トップテン」を選択します。

⏩ 「10」を「5」に変更して「OK」を押します。

これで売上上位5件の商品カテゴリだけが表示されます。

2.2. 割合(パーセント)で抽出する
次に、「総売上のうち上位50%を占める商品」を抽出したいケースを見てみましょう。
前の例と同様に「トップテン」フィルターを開きます。
⏩ 「10」を「50」に変更し、種類を「パーセント」に設定して「OK」を押します。

⏩ これで、総売上の上位50%に該当する商品のみが表示されます。

2.3. 特定の値で抽出する
さらに、特定の数値を指定してピボットテーブル全体を絞り込むことも可能です。例えば、「売上合計が2,500より大きいデータ」だけを表示したい場合を考えます。
⏩ 「行ラベル」のドロップダウン矢印をクリックします。
⏩ 「値フィルター」>「指定の値より大きい」を選択します。

⏩ 条件ボックスに「2500」を入力して「OK」を押します。

⏩ すぐに、売上合計が2,500を超える行だけが表示された結果が得られます。

関連記事: Excelで重複しない値をフィルターする方法
3. ラベルフィルターを適用する
値フィルターを操作している際に、隣にある「ラベルフィルター」というオプションに気づいた方もいるでしょう。ここでは、その使い方を解説します。
例えば、商品カテゴリの中から「Books(書籍)」を含む行だけを抽出したいとします。つまり、書籍カテゴリの売上合計だけを確認したいケースです。
⏩ 「行ラベル」のドロップダウン矢印をクリックします。
⏩ 「ラベルフィルター」>「指定の値を含む」を選択します。

⏩ ラベルフィルターのダイアログボックスに「Books」と入力します。

⏩ 「OK」を押すと、「Books」に基づいて絞り込まれたピボットテーブルが表示されます。

4. 日付フィルターを作成する
続いて、日付を基準にピボットテーブルを絞り込む方法をご紹介します。
サンプルデータには「Order Date(注文日)」フィールドがあります。例えば、2022年2月15日〜2022年5月10日といった特定の期間で絞り込みたい場合の手順は以下のとおりです。
⏩ まず、「Order Date」フィールドを「行」エリアへドラッグします。

⏩ 次に、「ラベルフィルター」>「指定の範囲内」(Between)を選択します。

⏩ ダイアログボックスで、開始日と終了日を指定します。

⏩ 「OK」を押すと、指定期間内のデータだけが表示されます。

関連記事: Excelで日付を基準にフィルターする方法
あわせて読みたい記事
- Excelで複数列を同時にフィルターする方法(3選)
- Excelで複数行をフィルターする11の方法
- Excelで横方向のデータをフィルターする3つの方法
- Excelフィルターのショートカットキー活用術(実例付き)
5. 検索ボックスを使って絞り込む
検索ボックスを使う方法は非常にシンプルです。フィルターの検索欄に、絞り込みたいキーワード(下図の例では「Ohio」)を入力するだけです。

すると、オハイオ州のデータのみを含むピボットテーブルが即座に表示されます。

関連記事: Excelのフィルターで複数項目を検索する方法
6. オートフィルターでピボットテーブルを絞り込む
Excelの経験者なら、「フィルター」機能をご存じでしょう。しかし残念ながら、通常のフィルター機能はピボットテーブルに対しては直接使えません(下図参照)。

ところが、ピボットテーブルの隣接するセルにカーソルを置いた状態でフィルターを実行すると、なんと機能します。

フィルターをクリックすると、すべての列にドロップダウン矢印が表示されます。これで、他の方法を使わずとも任意の列を自由に絞り込めるようになります。

7. 複数項目をフィルターする方法
Excelのピボットテーブルで最も洗練され、人気の高いフィルター手法が「複数列へのフィルター」です。作業時間を大幅に短縮でき、要件に応じて素早く絞り込めるのが魅力です。
7.1. スライサーで複数項目を絞り込む
スライサーを使えば、州(States)を基準にピボットテーブルをより直感的かつスピーディーに絞り込めます。
ピボットテーブル内のセルを選択した状態で、以下を操作します。
⏩ 「挿入」タブ>「フィルター」グループの「スライサー」をクリックします。
⏩ スライサーの挿入ダイアログで「States」にチェックを入れます。

⏩ すると、移動可能な「States」のフィルターパネルが表示されます(下図右側)。

使い方は簡単です。例えば「Arizona」をクリックすれば、左側のピボットテーブルに即座にアリゾナ州の結果が反映されます。

7.2. TEXTJOIN関数とコンマで複数項目を表示する
さらに、スライサーで選択中のフィルター条件を1つのセルにまとめて表示したい場合は、TEXTJOIN関数が便利です。
例えば、セルG4に次の数式を入力します。
=TEXTJOIN(",",TRUE,B6:B15)ここで「,」は区切り文字、TRUEは空のセルを無視する設定、B6:B15はデータセットの商品カテゴリの範囲です。

数式を入力しておけば、スライサーで何を選択しても、そのフィルター条件が1つのセルに自動的に表示されます。

下図では、フィルター条件である「Books」「Sports」がセルG4に表示されています。
7.3. フィルター条件を組み合わせて複数項目を絞り込む
この方法では、2つのピボットテーブルを連携させ、両方に同時にフィルターを適用するテクニックをご紹介します。
まず、既存のピボットテーブルをCtrl + Cでコピーし、近くの場所にCtrl + Vで貼り付けます。

貼り付け後、2つ目のピボットテーブルは行ラベルのみを残すように調整します。
この状態でスライサーから任意の州(例:Florida)を選択すると、2つのピボットテーブルに同時にフィルターがかかります。1つ目のテーブルは商品カテゴリを、2つ目のテーブルは州を基準に絞り込まれます。

なぜこのような動作になるのでしょうか?その仕組みを確認してみましょう。
スライサーを右クリックし、「レポート接続」を選択します。

下図のように、PivotTable19(1つ目のテーブル)とPivotTable21(2つ目のテーブル)が接続されていることがわかります。

関連記事: Excelで複数条件を組み合わせてフィルターする方法
8. VBAでセルの値を基準にピボットテーブルをフィルターする
最後に、特定のセルに入力された値を基準にピボットテーブルを絞り込むVBAの活用例をご紹介します。
例えば、セルE7に入力されている州名(ここではFlorida)を基準に、ピボットテーブル全体を自動的に絞り込みたいとします。

以下の手順で実装できます。
ステップ1:
VBAを使うため、まずコードを挿入する方法を確認しましょう。
最初に、「開発」タブ>「Visual Basic」をクリックしてVBEを開きます。

次に、「挿入」>「標準モジュール」を選択します。

ステップ2:
以下のコードをモジュールにコピーします。
Sub Filter_UsingVBA()
Dim pvFld As PivotField
Dim strFilter As String
Set pvFld = ActiveSheet.PivotTables("PivotTable23").PivotFields("States")
strFilter = ActiveWorkbook.Sheets("Sheet14").Range("E7").Value
pvFld.CurrentPage = strFilter
End Sub

このコードでは、pvFldをPivotField型、strFilterをString型として宣言し、それぞれの参照元を設定しています。
コード内で環境に合わせて変更が必要な主な要素は以下の4点です。
- ピボットテーブル名:PivotTable23
- テーブルのフィールド名:States
- アクティブなシート名:Sheet14
- フィルター値の位置:E7セル
ステップ3:
コードを実行します(ショートカットはF5またはFn + F5)。すると、セルE7の値に基づいて絞り込まれた結果が表示されます。

関連記事: Excelでセルの値を基準にデータをフィルターする方法
まとめ
本記事では、Excelのピボットテーブルをフィルターするさまざまな方法を解説しました。レポートフィルターから値・ラベル・日付フィルター、スライサー、そしてVBAまで、状況に応じて使い分けることで、データ分析の効率が大きく向上するはずです。ご不明な点やご意見がありましたら、ぜひコメント欄でお知らせください。
さらに学びたい方へ
- Excelでテキストフィルターを使う方法(5つの例)
- Excelにフィルターを追加する4つの方法
- Excelで色を基準にフィルターする方法(2つの例)
- Excelでユーザー設定フィルターを実行する5つの方法
-
Excelでセルの色を基準にフィルターする2つの簡単な方法
Excelでは、目的に応じてさまざまな色でセルを塗りつぶすことがよくあります。ワークシート内で色を使ってデータの種類を区別しており、特定の色が付いたセルだけを抽出・選択したい場合、この記事が役立ちます。ここでは、Excelでセルの色を基準にフィルター処理を行う方法をわかりやすく解説します。 理解を深めながら実際に練習できるよう、サンプルのExcelブックをダウンロードしてご利用ください。 Excelでセルの色別にフィルターする2つの便利な方法 以下の2つの方法では、「フィルター」コマンドと「検索」コマンドを使用して、セルの色を基準にデータを絞り込む手順を学べます。記事内では、異なる色を付け
-
ExcelでANOVA(分散分析)表を作成する3つの方法|結果の読み方も徹底解説
本記事では、ExcelでANOVA(分散分析)表を作成する方法をわかりやすく解説します。ANOVA表は、データセットに対して帰無仮説を採択すべきか棄却すべきかを判断する際に非常に役立つツールです。Excelに標準搭載されている「分析ツール」を活用すれば、難しい計算式を覚えなくても簡単にANOVA表を作成できます。ぜひ本記事を参考に、お手持ちのデータで分析を試してみてください。 ExcelにおけるANOVA(分散分析)とは? ANOVAは「Analysis of Variance(分散分析)」の略称です。Excelでは、帰無仮説を検定するために必要な数値を算出する手法として利用されます。Exce