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のグループ化機能により、階層的なデータ構造を柔軟に作成し、必要に応じて展開したり折りたたんだりすることができます。

クイックスタート:行と列のグループ化およびグループ解除を簡単に行う

エクセルデータを数秒で整理し始めましょう—ワークブックを読み込み、そのワークシートでUngroupColumns呼び出し、節約。 IronXLは行や列のグループ化やグループ解除を直感的かつ迅速に行うことができます。複雑なスプレッドシートの場合は、ワークシートの管理のガイドをチェックして、整理のテクニックを追加してください。

  1. IronXL をNuGetパッケージマネージャでインストール

    PM > Install-Package IronXL.Excel
  2. このコード スニペットをコピーして実行します。

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

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

    arrow pointer


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

ご注意以下のすべてのインデックス位置は0ベースのインデックスを使用します。 グループ化およびグループ解除は、値を含むセルにのみ適用できます。

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");
Imports IronXL

' Load existing spreadsheet
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet

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

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

出力

ID、名前、役職の列を含む従業員データを示す、グループ化のために行 1〜9 が選択された Excel シート

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

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");
Imports IronXL

' Load existing spreadsheet
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet

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

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

出力

グループ化前の従業員データを示す、行 2〜9 が選択(赤で強調)された Excel スプレッドシート
グループ化コントロールが強調された、従業員データを含むグループ化された行 2〜9 を示す Excel スプレッドシート

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");
Imports IronXL

' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

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

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

出力

グループ化のデモンストレーション用に赤い矢印で強調された列 C(役職)を示す、従業員データを含む Excel スプレッドシート

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");
Imports IronXL

' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

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

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

出力

グループ化のデモンストレーション用に役職列を指す赤い矢印付きの、従業員データを含む Excel スプレッドシート
赤い矢印で強調された列グループ化コントロールと従業員データを示す、グループ化された列を含む Excel スプレッドシート

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

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

:path=/static-assets/excel/content-code-examples/how-to/group-and-ungroup-rows-columns-6.cs
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");
Imports IronXL

' Create hierarchical grouping for financial data
Dim workBook As WorkBook = WorkBook.Load("financial_report.xlsx")
Dim workSheet As 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の[`autosize`](https://ironsoftware.com/csharp/excel/how-to/autosize-rows-columns/)機能を活用してください

複雑なエンタープライズアプリケーションの場合、敏感なグループ化されたデータを含むワークブックに``しつつグループ構造を維持することも検討してください。

まとめ

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

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

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

準備はできましたか?
Nuget ダウンロード 2,134,203 | バージョン: 2026.7 リリースされたばかり
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronXL.Excel
サンプルを実行する あなたのデータがスプレッドシートになるのを見る。