Excelでセルを結合および結合解除する方法

C#でIronXLを使ってセルをマージ/アンマージする方法

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

IronXLは、C#の開発者がMerge("B3:D3")Unmerge()のようなシンプルなメソッドを使用して、複数のExcelセルを1つの大きなセルにマージしたり、個々のセルにマージ解除したりすることを可能にし、Excelのインターオプなしで書式設定やデータ表示の柔軟性を提供します。

クイックスタート: 単一の呼び出しでセル範囲を結合

わずか数行でワークブックを読み込み、IronXLのMergeメソッドを使って指定したセル範囲をマージし、ファイルを保存することができます。これは開発者がExcel Interopなしで簡単にセルのマージを開始できるように設計されています。

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

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

    PM > Install-Package IronXL.Excel

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

    var ws = WorkBook.Load("file.xlsx").DefaultWorkSheet; ws.Merge("B3:D3"); ws.SaveAs("merged.xlsx");
  3. 実際の環境でテストするためにデプロイする

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

C#を使用して Excel でセルを結合するにはどうすればよいですか?

Mergeメソッドは、セルの範囲をマージするために使用することができます。 このプロセスは既存の値やデータを消去せずにセルを結合しますが、結合された領域内の最初のセルの値のみが表示されます。 しかし、結合されたセルの値はIronXLでアクセス可能です。 この機能は、フォーマットされたヘッダーでスプレッドシートを作成するときや、Excelテンプレートで作業するときに特に役立ちます。

フィルタ範囲内でセルをマージすると、Excelファイルで競合が発生する可能性があり、スプレッドシートを表示するにはExcelの修復が必要です。

以下のコード例は、アドレスを指定してセル範囲を結合する方法を示しています。

:path=/static-assets/excel/content-code-examples/how-to/csharp-excel-merge-cells-merge.cs
using IronXL;

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

var range = workSheet["B2:B5"];

// Merge cells B7 to E7
workSheet.Merge("B7:E7");

// Merge selected range
workSheet.Merge(range.RangeAddressAsString);

workBook.SaveAs("mergedCell.xlsx");
Imports IronXL

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

Private range = workSheet("B2:B5")

' Merge cells B7 to E7
workSheet.Merge("B7:E7")

' Merge selected range
workSheet.Merge(range.RangeAddressAsString)

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

マージするとセルの値はどうなりますか?

Excel のセルをマージするデモで、列をまたいで強調表示されたセルをマージする前と後の従業員データを示しています。

なぜセルの結合が Excel のコンフリクトを引き起こすことがあるのですか

セルの結合は、隣接する2つ以上のセルを1つの大きなセルにまとめるプロセスを指します。 セルの結合解除とは、結合されたセルを元の個々のセルに戻す逆のプロセスです。 この機能は柔軟性、一貫した配置、より良いデータ分析を可能にします。 セルの書式設定セルのスタイル設定を使用する場合、マージされたセルが、並べ替えやフィルタリングのようなExcelの他の機能に干渉することがあります。

Excelのコンフリクトは通常、マージされたセルがフィルタ範囲と重なる場合や、マージされたセルを含むデータを並べ替えようとする場合に発生します。 Excelでは、結合されたセルは1つの単位として扱われるため、範囲内の個々のセルに対する通常の操作が妨げられる可能性があり、このような問題が発生します。 これらの制限を理解することは、ワークシートを管理するときや、スプレッドシートの構造を計画するときに役立ちます。

ビジネス アプリケーションではどのような場合にセル マージを使用する必要がありますか?

セルの結合は、複数の列にまたがるヘッダーの作成、より見やすく表示するためのレポートの書式設定、より大きな入力領域を持つフォームの作成に特に役立ちます。 請求書テンプレート、ダッシュボード、データ入力フォームでよく使用されます。 ビジネスアプリケーションからExcelにエクスポートする場合、セルの結合はプロフェッショナルなドキュメントを作成するのに役立ちます。

一般的なビジネスシナリオは以下のとおりです:

  • レポートヘッダー:データの幅にまたがるタイトルの作成
  • ダッシュボードのデザイン:要約統計やKPIのためのセルの組み合わせ
  • フォーム作成:より大きなテキスト入力領域のためにセルをマージする
  • 請求書テンプレート:会社情報のセルをマージしてプロフェッショナルなレイアウトを作成する

ワークシート内のマージされたすべての領域を取得するにはどうすればよいですか?

マージされた領域を取得することは、Microsoft Excelのようなスプレッドシート視覚化ソフトウェアで表示された値を識別するのに便利です。 マージされたリージョンのリストを取得するには、GetMergedRegionsメソッドを使用します。 これは、既存のスプレッドシートをロードしてその構造を理解するときに特に役立ちます。

:path=/static-assets/excel/content-code-examples/how-to/csharp-excel-merge-cells-retrieve-merged-regions.cs
using IronXL;
using System.Collections.Generic;
using System;

WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Apply merge
workSheet.Merge("B4:C4");
workSheet.Merge("A1:A4");
workSheet.Merge("A6:D9");

// Retrieve merged regions
List<IronXL.Range> retrieveMergedRegions = workSheet.GetMergedRegions();

foreach (IronXL.Range mergedRegion in retrieveMergedRegions)
{
    Console.WriteLine(mergedRegion.RangeAddressAsString);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

なぜプログラムでマージ領域を取得する必要があるのですか?

マージされた領域を取得することは、スプレッドシートの構造を分析したり、データの整合性を検証したり、他のワークシートで書式を複製したりする必要がある場合に役立ちます。 テンプレートを処理したり、スプレッドシートの自動修正を行うアプリケーションには不可欠です。 この能力は、プログラムでExcelファイルを編集するときや、既存の書式を保持する必要があるツールを構築するときに重要になります。

マージされたリージョンを取得するためのユースケースは以下の通りです:

  • テンプレート処理: データを入力する前にテンプレート内のマージされた領域を識別する
  • フォーマットの複製:あるワークシートから別のワークシートへのマージパターンのコピー
  • データ検証:セルがマージされたファイルを処理するときにデータの整合性を確保する
  • レポート生成:動的なレポート作成のための既存のマージパターンを理解する

マージされたリージョンはどのような順序で返されますか?

マージされたリージョンは、作成された日付順に返されます。 この順序は、インデックスベースのマージ解除操作を使用する場合に重要です。 この順序を理解することは、元に戻す/やり直し機能のような機能を実装するときや、処理のために特定の範囲を選択する必要があるときに役立ちます。

IronXLでExcelのセルを結合解除するには?

結合された領域の解除は、2つの異なるアプローチで達成できます。 最初の最も単純な方法は、B3:B6のようなセル・アドレスを指定して結合を解除することです。

また、マージされた領域のインデックスに基づいてセルをアンマージすることもできます。 結合された領域は時系列順にリストされています。 これを行うには、まずマージされたリージョンを取得し、Unmergeメソッドに希望のインデックスを渡します。 この柔軟性により、Excelファイルをプログラムで処理する際のさまざまなシナリオに対応できます。

[{i:(セル アドレスは結合領域と正確に一致する必要があります。 マージされた領域の一部を解除することはできません。

:path=/static-assets/excel/content-code-examples/how-to/csharp-excel-merge-cells-unmerge.cs
using IronXL;

WorkBook workBook = WorkBook.Load("mergedCell.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Unmerge the merged region of B7 to E7
workSheet.Unmerge("B7:E7");

workBook.SaveAs("unmergedCell.xlsx");
Imports IronXL

Private workBook As WorkBook = WorkBook.Load("mergedCell.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Unmerge the merged region of B7 to E7
workSheet.Unmerge("B7:E7")

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

セルの結合を解除するときによくある問題は何ですか?

従業員データをマージしたセル(左)とマージしていないセル(右)を示すExcelスプレッドシートの比較

どのマージ解除方法を使用すればよいですか?

正確なマージ領域の座標がわかっている場合は、アドレスベースのアンマージを使用してください。 すべてのマージされたリージョンをプログラムで繰り返し処理するときや、正確なアドレスが異なる可能性があるときは、インデックスベースのアンマージを使用してください。 以下は、決定に役立つ比較です:

アドレスベースのアンマージ:

  • 既知のマージパターンを持つ静的テンプレートに最適
  • 標準化されたレポートの処理に最適
  • 特定地域を扱う場合のコードの簡素化

インデックスベースのアンマージ:

  • さまざまなマージパターンを持つダイナミックなスプレッドシートに最適です。
  • ユーザーがアップロードしたファイルを処理する際に便利
  • 複数のマージされたリージョンをバッチ処理するのに適しています。

セル操作を含むより複雑なシナリオについては、IronXL API Referenceを参照して、マージされたセルを効率的に処理するための追加のメソッドとプロパティを発見してください。

よくある質問

C#を使用してExcelでセルを結合するにはどうすればよいですか?

IronXLのMergeメソッドを使えば、C#を使ってExcelのセルをマージすることができます。ワークブックをロードし、セル範囲を指定してMergeメソッドを呼び出し(例:ws.Merge("B3:D3"))、ファイルを保存するだけです。これは、Excel Interop を必要とせずに、複数のセルを 1 つの大きなセルに結合します。

セルを結合すると、セルの値はどうなりますか?

IronXLを使用してセルを結合する場合、既存の値やデータを消去することなくセルを結合します。マージされた領域内の最初のセルの値のみがマージされたセルに表示されますが、IronXLではプログラムによって元のすべての値にアクセスすることができます。

セルの結合がExcelのコンフリクトを引き起こすことがあるのはなぜですか?

エクセルのコンフリクトは通常、マージされたセルがフィルタ範囲と重なる場合や、マージされたセルを含むデータをソートしようとする場合に発生します。IronXL.Excel はこのような問題を特定するのに役立ちます。フィルタ範囲内でセルをマージすると、スプレッドシートを正しく表示するためにExcelの修復が必要になることがあります。

以前にマージしたセルを元に戻すことはできますか?

はい、IronXLはマージされたセルを元の個々のセルに分割するUnmergeメソッドを提供しています。範囲アドレスかインデックスのどちらかを指定することで結合を解除できますので、データ分析や書式の調整に柔軟に対応できます。

プログラムでセルを結合するには、Microsoft Excelがインストールされている必要がありますか?

IronXLはMicrosoft ExcelやExcel Interopをインストールすることなく、C#でExcelセルのマージとアンマージを可能にします。このライブラリは独立して動作するため、サーバー環境や自動化されたプロセスに最適です。

セルのマージは、フォーマットされたヘッダーを作成するのに便利ですか?

IronXLのマージ機能は、フォーマットされたヘッダーを持つスプレッドシートを作成するときや、Excelテンプレートを使用するときに特に便利です。タイトルやセクションヘッダーのセルを組み合わせることで、Professionalなレイアウトを作成できます。

Chaknith Bin
ソフトウェアエンジニア
ChaknithはIronXLとIronBarcodeに取り組んでいます。彼はC#と.NETの深い専門知識を持ち、ソフトウェアの改善や顧客サポートに貢献しています。ユーザーとの対話から得られる洞察が、より良い製品、ドキュメント、および全体的な経験に寄与しています。
準備はできましたか?
Nuget ダウンロード 1,765,830 | バージョン: 2025.12 リリース