IRONSOFTWAREHOME

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

Curtis Chau
Curtis Chau
Updated: 2026年4月22日

IronXLは、C#開発者が簡単なメソッド(例:Unmerge())を使用して、複数のExcelセルを1つの大きなセルに結合したり、個別のセルに分割したりすることを可能にします。これにより、Excel Interopを使用せずにフォーマットやデータのプレゼンテーションの柔軟性を提供します。

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

数行でブックを読み込み、IronXLのMergeメソッドを利用して指定されたセル範囲を結合し、ファイルを保存することができます。これは、Excel Interopを使用せずにセルを簡単に結合し始めるために設計されています。

  1. 1Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

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

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

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

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

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

ご注意: フィルター範囲内でセルを結合することは、Excelファイルに競合を引き起こし、スプレッドシートを表示するためにExcelの修復を必要とする可能性があります。

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

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

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

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

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

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

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

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

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

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

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

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

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

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);
}

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

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

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

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

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

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

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

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

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

ご注意: セルアドレスは結合領域と正確に対応しなければなりません。 結合された部分の一部を結合解除することはできません。
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");

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

従業員データをマージしたセル(左)とマージしていないセル(右)を示す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なレイアウトを作成できます。

What are some common use cases for retrieving merged regions with IronXL?

Common use cases include analyzing spreadsheet structure, validating data integrity, replicating formatting patterns across different sheets, and processing templates where merged regions need to be identified and managed programmatically.

How do I unmerge cells in Excel using IronXL?

Unmerge cells in Excel using IronXL by using the `Unmerge` method with either the cell address, like `B3:D3`, or by accessing the index of the merged region programmatically, using the `GetMergedRegions` method to identify the target merge.

What are the differences between address-based and index-based unmerging in IronXL?

Address-based unmerging is suitable for static templates where merge patterns are known, allowing you to specify exact coordinates. Index-based unmerging is more flexible for dynamic spreadsheets involving varying merge patterns and batch processing of multiple regions.

Curtis Chau
テクニカルライター

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

...
詳しく読む

準備はできましたか?

Nuget Downloads 2,237,574バージョン:2026.9リリースされたばかり

無料をゲット

30日間の試用キーをすぐに取得。

bullet_checkedクレジットカードやアカウントの作成は不要です。
bullet_test製品版でのテスト
透かしなし
bullet_calendar30日間
完全機能の製品
bullet_support試用期間中の
24/5テクニカルサポート
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDF用C# NuGetライブラリ
NuGetでインストール

バージョン: 2026.9

PM > Install-Package IronXL.Excel
nuget.org/packages/IronXL.Excel/
  1. ソリューションエクスプローラーで参照を右クリックし、NuGetパッケージを管理を選択
  2. 参照選択し、"IronXL"を検索
  3. パッケージを選択してインストール
C# PDF DLL
DLLをダウンロード

バージョン: 2026.9

  1. IronXLを~/Libsなどの場所にダウンロードし、ソリューションディレクトリに解凍します
  2. Visual Studioのソリューションエクスプローラ内で参照を右クリックし、を選択「IronXL.dll」参照選択

ライセンス$999から

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。