Excel内の行と列をグループ化およびグループ解除する方法 | IronXL

C#で行と列をグループ化およびグループ化解除する方法

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronXLは、C#を使用してExcelスプレッドシートの行や列をプログラムでグループ化したりグループ化解除したりする簡単な方法を提供します。

Excelでは、グループ化機能は行または列の折りたたみ可能なセクションを作成することによりデータを整理するのに役立ちます。 これにより、大規模なデータセットのナビゲーションと分析が簡素化されます。 逆に、グループ解除機能は元のグループ化されていない状態を復元します。 これらの機能はデータ管理を強化し、特定のスプレッドシートセクションの集中した調査を可能にします。

IronXL はC# .NETのInteropを必要とせず、プログラムによるグループ化とグループ解除を可能にします。 財務報告書の作成、在庫データの管理、従業員記録の整理など、IronXLのグループ化機能により、階層的なデータ構造を柔軟に作成し、必要に応じて展開したり折りたたんだりすることができます。

  • as-heading:2(クイックスタート:行と列を簡単にグループ化およびグループ解除する)*

ワークブックを読み込み、ワークシート上で GroupRows, UngroupRows, GroupColumns, UngroupColumns を呼び出し、保存するだけです。 IronXLは行や列のグループ化やグループ解除を直感的かつ迅速に行うことができます。複雑なスプレッドシートの場合は、ワークシートの管理のガイドをチェックして、整理のテクニックを追加してください。

Nuget Icon今すぐ NuGet で PDF を作成してみましょう:

  1. NuGet パッケージ マネージャーを使用して IronXL をインストールします

    PM > Install-Package IronXL.Excel

  2. このコード スニペットをコピーして実行します。

    IronXL.WorkBook.Load("data.xlsx").DefaultWorkSheet.GroupRows(0, 4).WorkBook.SaveAs("grouped.xlsx");
  3. 実際の環境でテストするためにデプロイする

    今すぐ無料トライアルでプロジェクトに IronXL を使い始めましょう
    arrow pointer


Excelで行のグループ化とグループ解除を行うには?

ご注意以下で説明するすべてのインデックス位置は、ゼロベースのインデックスに従います。 グループ化とグループ解除は、値を含むセルにのみ適用できます。

Excelで行をグループ化することは、組織図、サブカテゴリを持つ財務諸表、フェーズを持つプロジェクトのタイムラインなど、階層的なデータ構造を扱う場合に特に便利です。 IronXLは直感的なAPIによってこのプロセスを簡単にします。 より高度な表計算操作については、包括的なIronXLドキュメントをご覧ください。

GroupRowsを使用して行グループを作成するにはどうすればよいですか?

GroupRowsメソッドは、グループ化を適用する行のインデックス位置を取ります。 必要に応じて、同じ行または異なる行グループに対してこのメソッドを複数回使用できます。 特に、データを論理的なセクションに整理し、ユーザーが読みやすいように展開したり折りたたんだりできるようにすると便利です。

従業員データ、財務記録、在庫リストを扱う場合、行のグループ化によって折りたたみ可能なセクションを作成し、スプレッドシートのナビゲーションを向上させることができます。 このメソッドは、開始行インデックスと終了行インデックス(両方とも含む)の2つのパラメータを受け付けます。

:path=/static-assets/excel/content-code-examples/how-to/group-and-ungroup-rows-columns-group-row.cs
using IronXL;

// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Ungroup row 1-9
workSheet.GroupRows(0, 7);

workBook.SaveAs("groupRow.xlsx");
$vbLabelText   $csharpLabel

出力

Excel sheet with rows 1-9 selected for grouping, showing employee data with ID, name, and job title columns

より複雑なシナリオの場合、同じワークシート内にネストされたグループや複数の別々のグループを作成することができます。 範囲を選択して、特定のデータセクションを効果的に扱う方法については、こちらをご覧ください。

UngroupRowsを使用して行グループを削除するにはどうすればよいですか?

UngroupRowsメソッドを使用して、以前にグループ化された行をグループ解除します。 この方法は、グループの真ん中に適用することで、グループを2つに分割することもできます。しかし、できあがったセクションは、再度グループ化しない限り、別々のグループにはなりません。

グループ化解除機能は、データ構造を再編成する必要がある場合や、グループ化階層を必要としないさまざまな読者向けにスプレッドシートを準備する場合に不可欠です。 この方法は、Excelのデータ構成を動的に管理する柔軟性を提供します。

:path=/static-assets/excel/content-code-examples/how-to/group-and-ungroup-rows-columns-ungroup-row.cs
using IronXL;

// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Ungroup row 3-5
workSheet.UngroupRows(2, 4);

workBook.SaveAs("ungroupRow.xlsx");
$vbLabelText   $csharpLabel

出力

Excel spreadsheet with rows 2-9 selected (highlighted in red) showing employee data before grouping
Excel spreadsheet showing grouped rows 2-9 with employee data and grouping controls highlighted

Excelで列をグループ化およびグループ化解除するにはどうすればよいですか?

列のグループ化は、複数のデータ・カテゴリーを含む広いスプレッドシートを扱う場合に特に有用です。 例えば、財務データを管理する場合、毎月の列を四半期ごとにグループ化したり、従業員データを扱う場合、個人情報の列を業績評価指標とは別にグループ化したりします。 その他のデータ操作テクニックについては、行と列の追加に関するガイドを参照してください。

GroupColumnsを使用して列グループを作成するにはどうすればよいですか?

列は行と同様にグループ化できます。 GroupColumnsメソッドを使用して、列のインデックス番号または列の文字を指定して列をグループ化します。 この柔軟性により、アプリケーションに最も便利な形式で列参照を扱うことができます。

プログラムで列をグループ化する機能は、サマリーデータを表示し、詳細をドリルダウンするオプションが必要なレポートを作成する際に非常に貴重です。 これは、財務報告、在庫管理、データ分析アプリケーションでよく使用されます。

:path=/static-assets/excel/content-code-examples/how-to/group-and-ungroup-rows-columns-group-column.cs
using IronXL;

// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Apply grouping to column A-F
workSheet.GroupColumns(0, 5);

workBook.SaveAs("groupColumn.xlsx");
$vbLabelText   $csharpLabel

出力

Excel spreadsheet with employee data showing column C (Job Title) highlighted by red arrow for grouping demonstration

UngroupColumnsを使用して列グループを削除するにはどうすればよいですか?

行のグループ解除と同様に、UngroupColumnsメソッドを使用して列のグループを分割することができます。 このメソッドを列グループの中央に適用すると、それを2つの部分に分割します。 この機能は、レポートを再構築したり、さまざまな表示設定用にスプレッドシートを適応させたりする場合に特に役立ちます。

複雑なスプレッドシートを扱う場合、グループ化を解除することで、並べ替えすべての列に数式を適用するといった操作のために、一時的に階層をフラットにすることができます。

:path=/static-assets/excel/content-code-examples/how-to/group-and-ungroup-rows-columns-ungroup-column.cs
using IronXL;

// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Ungroup column C-D
workSheet.UngroupColumn("C", "D");

workBook.SaveAs("ungroupColumn.xlsx");
$vbLabelText   $csharpLabel

出力

Excel spreadsheet with employee data and red arrow pointing to Job Title column for grouping demonstration
Excel spreadsheet with grouped columns showing employee data and column grouping controls highlighted with red arrows

高度なグループ化テクニック

より高度なXL.Excel自動化シナリオのために、グループ化と他のIronXL機能を組み合わせることができます。 複数のネストしたグループを作成する例を示します:

using IronXL;

// Create hierarchical grouping for financial data
WorkBook workBook = WorkBook.Load("financial_report.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Create main category groups
workSheet.GroupRows(1, 5);   // Revenue section
workSheet.GroupRows(7, 11);  // Expenses section
workSheet.GroupRows(13, 17); // Summary section

// Create sub-groups within expenses
workSheet.GroupRows(8, 9);   // Operating expenses
workSheet.GroupRows(10, 11); // Administrative expenses

// Group quarterly columns
workSheet.GroupColumns(1, 3);   // Q1 (Jan-Mar)
workSheet.GroupColumns(4, 6);   // Q2 (Apr-Jun)
workSheet.GroupColumns(7, 9);   // Q3 (Jul-Sep)
workSheet.GroupColumns(10, 12); // Q4 (Oct-Dec)

workBook.SaveAs("hierarchical_financial_report.xlsx");
using IronXL;

// Create hierarchical grouping for financial data
WorkBook workBook = WorkBook.Load("financial_report.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Create main category groups
workSheet.GroupRows(1, 5);   // Revenue section
workSheet.GroupRows(7, 11);  // Expenses section
workSheet.GroupRows(13, 17); // Summary section

// Create sub-groups within expenses
workSheet.GroupRows(8, 9);   // Operating expenses
workSheet.GroupRows(10, 11); // Administrative expenses

// Group quarterly columns
workSheet.GroupColumns(1, 3);   // Q1 (Jan-Mar)
workSheet.GroupColumns(4, 6);   // Q2 (Apr-Jun)
workSheet.GroupColumns(7, 9);   // Q3 (Jul-Sep)
workSheet.GroupColumns(10, 12); // Q4 (Oct-Dec)

workBook.SaveAs("hierarchical_financial_report.xlsx");
$vbLabelText   $csharpLabel

このアプローチにより、ユーザーが必要に応じてセクションを折りたたんだり展開したりできる、整理された財務レポートが作成されます。 その他の書式オプションについては、グループ化されたセクション内で重要なデータを強調するための条件付き書式に関するガイドをご覧ください。

ベストプラクティスとパフォーマンスに関する考察

グループ化およびグループ化解除の操作を行う場合は、以下のベストプラクティスを考慮してください:

1.構造を計画する:過剰な再グループ化操作を避けるために、実装前にグループ化階層を設計してください。 2.パフォーマンス:グループ操作は軽量ですが、大きなデータセットを扱うときは、バッチ操作でまとめてください。 3.ユーザーエクスペリエンス:論理的なグループ分けはデータの理解度を向上させます。 4.他の機能と組み合わせる:グループ化されたコンテンツが適切に表示されるように、IronXLのオートサイズ機能を活用してください。

複雑なエンタープライズ アプリケーションの場合、機密性の高いグループ化されたデータを含むワークブックに password protection を実装したり、export to different formats をグループ化構造を維持したまま実行したい場合もあります。

まとめ

IronXLのグループ化とグループ解除機能は、Excelデータをプログラムで整理するための強力なツールを開発者に提供します。 レポートシステム、データ分析ツール、自動Excelジェネレータのいずれを構築する場合でも、これらの機能により、データの読みやすさとナビゲーションを向上させた、プロフェッショナルでユーザーフレンドリーなスプレッドシートを作成できます。 Excel Interopに依存することなくプログラムでデータ整理を制御できるIronXLは、表計算データを扱う最新の.NETアプリケーションにとって不可欠なツールです。

よくある質問

C#を使用してExcelで行をグループ化するにはどうすればよいですか?

IronXLのGroupRowsメソッドを使ってExcelの行をグループ化することができます。ワークブックをロードし、グループ化したい行のインデックス位置を指定してワークシート上でGroupRowsを呼び出し、ファイルを保存するだけです。例えばIronXL.WorkBook.Load("data.xlsx").DefaultWorkSheet.GroupRows(0, 4).WorkBook.SaveAs("grouped.xlsx");

Excelの列をプログラムでグループ化したりグループ化解除したりできますか?

はい、IronXLはC#を使用してExcelスプレッドシートの列をプログラムでグループ化およびグループ化解除するGroupColumnsおよびUngroupColumnsメソッドを提供します。これらのメソッドは行のグループ化と同様に機能し、Interopの依存関係を必要とせずに折りたたみ可能な列セクションを作成できます。

行と列のグループ化は、どのようなデータ構成に有効ですか?

IronXLのグループ化機能は、サブカテゴリーを持つ財務報告書、組織図、フェーズを持つプロジェクト・タイムライン、従業員記録、在庫データのような階層的なデータ構造の整理に特に役立ちます。折りたたみ可能なセクションを作成することで、大規模なデータセットのナビゲーションと分析を簡素化することができます。

C#で行や列をグループ化するには、Microsoft Office Interopが必要ですか?

IronXLはMicrosoft Office Interopを必要とせず、プログラムによる行や列のグループ化やグループ解除が可能です。これはC# .NETアプリケーションにとってより軽量で導入しやすいソリューションとなります。

複数の行や列にグループ化を適用できますか?

はい、IronXLではGroupRowsメソッドとGroupColumnsメソッドを同じ行や列のグループに対して複数回使用することができます。この柔軟性により、必要に応じて複数の折りたたみ可能なセクションを持つ複雑な階層データ構造を作成することができます。

グループ化されたExcelデータを保存する場合、どのようなファイル形式がサポートされますか?

IronXLでは、グループ化された行と列を持つExcelファイルを様々なファイル形式にエクスポートすることができます。グループ化操作を適用した後、SaveAsメソッドを使用してワークブックを保存すると、出力ファイルにグループ化構造を維持することができます。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Nuget ダウンロード 1,802,965 | バージョン: 2025.12 リリース