ピボットテーブルにフィルターを追加することで、ユーザーは特定の基準に基づいて表示するデータを絞り込むことができます。フィルターを使用することで、分析に最も関連性のあるデータのサブセットに焦点を当て、効率的なデータ探索が可能になります。本記事では、Spire.XLS for .NET を使用して、C# で Excel のピボットテーブルにフィルターを追加する方法を示します。 Excel でピボットテーブルにレポートフィルターを追加 ピボットテーブルの行フィールドにフィルターを追加 ピボットテーブルの列フィールドにフィルターを追加 Spire.XLS for .NET をインストールします まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。 PM> Install-Package Spire.XLS Excel でピボットテーブルにレポートフィルターを追加 Spire.XLS for .NET では、XlsPivotTable.ReportFilters.Add() メソッドを使用して、ピボットテーブルにレポートフィルターを追加できます。詳細な手順は以下の通りです。 Workbook クラスのオブジェクトを作成します。 Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。 Workbook.Worksheets[index] プロパティを使用して、特定のワークシートを取得します。 Worksheet.PivotTables[index] プロパティを使用して、ワークシート内の特定のピボットテーブルを取得します。 PivotReportFilter クラスを使用してレポートフィルターを作成します。 XlsPivotTable.ReportFilters.Add() メソッドを使用して、ピボットテーブルにレポートフィルターを追加します。 Workbook.SaveToFile() メソッドを使用して、ワークブックを保存します。 C# using Spire.Xls; using Spire.Xls.Core.Spreadsheet.PivotTables; namespace AddReportFilter { internal class Program { static void Main(string[] args) { // Workbookクラスのオブジェクトを作成 Workbook workbook = new Workbook(); // Excelファイルを読み込む workbook.LoadFromFile("Sample.xlsx"); // 最初のワークシートを取得 Worksheet sheet = workbook.Worksheets[0]; // 最初のピボットテーブルを取得 XlsPivotTable pt = sheet.PivotTables[0] as XlsPivotTable; // レポートフィルターを作成 PivotReportFilter reportFilter = new PivotReportFilter("日付", true); // レポートフィルターをピボットテーブルに追加 pt.ReportFilters.Add(reportFilter); // 結果のファイルを保存 workbook.SaveToFile("レポートフィルター.xlsx", FileFormat.Version2016); workbook.Dispose(); } } } ピボットテーブルの行フィールドにフィルターを追加 XlsPivotTable.RowFields[index].AddValueFilter() または XlsPivotTable.RowFields[index].AddLabelFilter() メソッドを使用して、ピボットテーブルの特定の行フィールドに値フィルターまたはラベルフィルターを追加できます。詳細な手順は以下の通りです。 Workbook クラスのオブジェクトを作成します。 Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。 Workbook.Worksheets[index] プロパティを使用して、特定のワークシートを取得します。 Worksheet.PivotTables[index] プロパティを使用して、ワークシート内の特定のピボットテーブルを取得します。 XlsPivotTable.RowFields[index].AddValueFilter() または XlsPivotTable.RowFields[index].AddLabelFilter() メソッドを使用して、行フィールドにフィルターを追加します。 XlsPivotTable.CalculateData() メソッドを使用して、ピボットテーブルのデータを計算します。 Workbook.SaveToFile() メソッドを使用して、ワークブックを保存します。 C# using Spire.Xls; using Spire.Xls.Core.Spreadsheet.PivotTables; namespace AddRowFilter { internal class Program { static void Main(string[] args) { // Workbookクラスのオブジェクトを作成 Workbook workbook = new Workbook(); // Excelファイルを読み込む workbook.LoadFromFile("Sample.xlsx"); // 最初のワークシートを取得 Worksheet sheet = workbook.Worksheets[0]; // 最初のピボットテーブルを取得 XlsPivotTable pt = sheet.PivotTables[0] as XlsPivotTable; // ピボットテーブルの最初の行フィールドに値フィルターを追加 pt.RowFields[0].AddValueFilter(PivotValueFilterType.GreaterThan, pt.DataFields[0], 100000, null); // または、ピボットテーブルの最初の行フィールドにラベルフィルターを追加 // pt.RowFields[0].AddLabelFilter(PivotLabelFilterType.Equal, "電子機器", null); // ピボットテーブルのデータを計算 pt.CalculateData(); // 結果のファイルを保存 workbook.SaveToFile("行フィルター.xlsx", FileFormat.Version2016); workbook.Dispose(); } } } ピボットテーブルの列フィールドにフィルターを追加 XlsPivotTable.ColumnFields[index].AddValueFilter() または XlsPivotTable.ColumnFields[index].AddLabelFilter() メソッドを使用して、ピボットテーブルの特定の列フィールドに値フィルターまたはラベルフィルターを追加できます。詳細な手順は以下の通りです。 Workbook クラスのオブジェクトを作成します。 Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。 Workbook.Worksheets[index] プロパティを使用して、特定のワークシートを取得します。 Worksheet.PivotTables[index] プロパティを使用して、ワークシート内の特定のピボットテーブルを取得します。 XlsPivotTable.ColumnFields[index].AddValueFilter() または XlsPivotTable.ColumnFields[index].AddLabelFilter() メソッドを使用して、列フィールドにフィルターを追加します。 XlsPivotTable.CalculateData() メソッドを使用して、ピボットテーブルのデータを計算します。 Workbook.SaveToFile() メソッドを使用して、ワークブックを保存します。 C# using Spire.Xls; using Spire.Xls.Core.Spreadsheet.PivotTables; namespace AddColumnFilter { internal class Program { static void Main(string[] args) { // Workbookクラスのオブジェクトを作成 Workbook workbook = new Workbook(); // Excelファイルを読み込む workbook.LoadFromFile("Sample.xlsx"); // 最初のワークシートを取得 Worksheet sheet = workbook.Worksheets[0]; // 最初のピボットテーブルを取得 XlsPivotTable pt = sheet.PivotTables[0] as XlsPivotTable; // ピボットテーブルの最初の列フィールドにラベルフィルターを追加 pt.ColumnFields[0].AddLabelFilter(PivotLabelFilterType.Equal, "北", null); // または、ピボットテーブルの最初の列フィールドに値フィルターを追加 // pt.ColumnFields[0].AddValueFilter(PivotValueFilterType.Between, pt.DataFields[0], 5000, 10000); // ピボットテーブルのデータを計算 pt.CalculateData(); // 結果のファイルを保存 workbook.SaveToFile("列フィルター.xlsx", FileFormat.Version2016); workbook.Dispose(); } } } 一時ライセンスを申請する 結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。