ピボットテーブルに計算フィールドを追加する

可能な使用シナリオ

既知のデータに基づいてピボットテーブルを作成すると、それに含まれるデータが望んでいるものではないことがあります。望んでいるデータは、これらの元のデータの組み合わせです。たとえば、データを望んだ形式にするために、元のデータを加算、減算、乗算、除算する必要があります。その場合、計算フィールドを構築し、計算用の対応する式を設定する必要があります。その後、計算フィールドで統計などの操作を行います。

Excelのピボットテーブルに計算フィールドを追加

Excelのピボットテーブルに計算フィールドを挿入するには、以下の手順に従います:

  1. 追加したいピボットテーブルを選択します。
  2. リボットテーブルツールの「分析」タブに移動します。
  3. 「フィールド、アイテム、およびセット」をクリックし、その後、ドロップダウンメニューから「計算フィールド」を選択します。
  4. 「名前」フィールドに、計算フィールドの名前を入力します。
  5. “式"フィールドに、適切なピボットテーブルのフィールド名と数学演算子を使用した使用法を入力します。
  6. 「OK」をクリックして計算フィールドを作成します。
  7. 新しい計算フィールドは、値のセクションの下にあるピボットテーブルフィールドリストに表示されます。
  8. 計算フィールドをピボットテーブルの値セクションにドラッグして、計算された値を表示します。

ピボットテーブルに計算フィールドを追加する

以下のサンプルコードを参照してください。コードはまず元のデータを設定し、ピボットテーブルを作成します。次に、既存のピボットテーブル内のPivotFieldに基づいて計算フィールドを作成し、データ領域に計算フィールドを追加します。最後に、output XLSX形式でブックを保存します。例のコードを実行すると、計算フィールドが追加されたピボットテーブルがワークシートに追加されます。

サンプルコード

//Instantiating an Workbook object
Workbook workbook = new Workbook();
//Obtaining the reference of the newly added worksheet
Worksheet ws = workbook.getWorksheets().get(0);
Cells cells = ws.getCells();
//Setting the value to the cells
Cell cell = cells.get("A1");
cell.putValue("Fruit");
cell = cells.get("B1");
cell.putValue("Count");
cell = cells.get("C1");
cell.putValue("Price");
cell = cells.get("A2");
cell.putValue("Apple");
cell = cells.get("A3");
cell.putValue("Mango");
cell = cells.get("A4");
cell.putValue("Blackberry");
cell = cells.get("A5");
cell.putValue("Cherry");
cell = cells.get("B2");
cell.putValue(5);
cell = cells.get("B3");
cell.putValue(3);
cell = cells.get("B4");
cell.putValue(6);
cell = cells.get("B5");
cell.putValue(4);
cell = cells.get("C2");
cell.putValue(5);
cell = cells.get("C3");
cell.putValue(20);
cell = cells.get("C4");
cell.putValue(30);
cell = cells.get("C5");
cell.putValue(60);
//Adding a PivotTable to the worksheet
int i = ws.getPivotTables().add("=A1:C5", "D10", "PivotTable1");
//Accessing the instance of the newly added PivotTable
PivotTable pivotTable = ws.getPivotTables().get(i);
pivotTable.addFieldToArea(PivotFieldType.ROW, 0);
//Adding a calculated field to PivotTable and drag it to data area.
pivotTable.addCalculatedField("total", "=Count*Price", true);
pivotTable.refreshData();
pivotTable.calculateData();
workbook.save("out.xlsx");