DioDocs for Excel
DioDocs for Excel
アウトライン小計の適用
機能 > グループ化 > アウトライン小計の適用

スプレッドシートに膨大なデータが保持されている際、データを分析することが困難な作業になる場合があります。その時、アウトラインを適用して、ソートされたデータをグループに整理できます。アウトラインデータを展開したり折りたたんだりして、特定のグループを表示または非表示にすることができます。グループ化された値に小計を適用することで、アウトラインデータから重要な情報を要約して得ることもできます。

DioDocs for Excelでは、アウトライン小計を適用してソートされたデータをグループに整理し、各グループの末尾に小計を表示できます。 

アウトライン小計の作成

IRangeインタフェースのSubtotalメソッドを使用して、アウトライン小計を作成できます。このメソッドは、フィールドごとのグループ化、SUBTOTAL 関数の割り当て、既存の小計の置き換え、改ページの追加、サマリーデータの配置のために様々ンパラメーターを提供します。

以下のコードは、アウトライン小計を作成するデータを示します。

C#
コードのコピー
public void PopulateData(Workbook workbook)
{
    IWorksheet worksheet = workbook.Worksheets[0];

    // 範囲内のデータを定義します           
    worksheet.Range["A1:C20"].Value = new object[,]
       {
        {"項目", "単位", "単価"},
        {"ペンのセット", 62, 4.99},
        {"バインダー", 29, 1.99},
        {"ペンのセット", 55, 12.49},
        {"バインダー", 81, 19.99},
        {"ペンのセット", 42, 23.95},
        {"鉛筆", 35, 4.99},
        {"机", 3,  275},
        {"机", 2, 125},
        {"鉛筆", 7, 1.29},
        {"ペンのセット", 16, 15.99},
        {"ペン", 76, 1.99},
        {"バインダー", 28, 8.99},
        {"バインダー", 57, 19.99},
        {"ペン", 64, 8.99},
        {"鉛筆", 14, 1.29},
        {"ペン", 15, 19.99},
        {"バインダー", 11, 4.99},
        {"ペンのセット", 96, 4.99},
        {"バインダー", 94, 19.99}
       };

アウトライン小計を作成する方法については、次のサンプルコードを参照してください。

C#
コードのコピー
IWorksheet _worksheet = workbook.Worksheets[0];

// Sort メソッドを使用して、値によって並べ替えます
_worksheet.Range["A2:C20"].Sort(_worksheet.Range["A2:A20"], orientation: SortOrientation.Columns);

// グループを作成し、Subtotal メソッドを使用してグループ化された値を小計します
_worksheet.Range["$A$1:$D$20"].Subtotal(1, ConsolidationFunction.Sum, new[] { 2, 3 });

// ワークシートを保存します
workbook.Save("OutlineSubtotal.xlsx");

アウトライン小計の削除

IRangeインタフェースのRemoveSubtotalメソッドを使用して、アウトライン小計を削除できます。

アウトライン小計を削除する方法については、次のサンプルコードを参照してください。

C#
コードのコピー
Workbook workbook = new Workbook();
workbook.Open("OutlineSubtotal.xlsx");

IWorksheet _worksheet = workbook.Worksheets[0];

// 小計を削除し、小計と合計行を含むセル範囲を渡します
_worksheet.Range["$A$1:$C$26"].RemoveSubtotal();

// ワークシートを保存します
workbook.Save("OutlineNoSubtotal.xlsx");