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

IronXL を使用して C# でセルを結合および結合解除する方法

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

セルの結合は、隣接する2つ以上のセルを1つの大きなセルにまとめるプロセスを指します。 一方で、セルの解除は、結合されたセルを元の個別のセルに分割する逆のプロセスです。 この機能は柔軟性、一貫した配置、より良いデータ分析を可能にします。

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

数行で、ワークブックをロードし、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

セル結合の例

Mergeメソッドは、セルの範囲を結合するために利用できます。 このプロセスは既存の値やデータを消去せずにセルを結合しますが、結合された領域内の最初のセルの値のみが表示されます。 しかし、結合されたセルの値はIronXLでアクセス可能です。

ご注意フィルタ範囲内のセルを結合すると、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

デモンストレーション

セルの結合のデモンストレーション

結合領域を取得する例

結合領域を取得することは、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

セル解除の例

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

または、結合領域のインデックスに基づいてセルを解除することもできます。 結合された領域は時系列順にリストされています。 これを行うためには、最初に結合された領域を取得し、希望するインデックスをUnmergeメソッドに渡すことができます。

ご注意セル アドレスは結合領域と正確に一致する必要があります。 結合された領域の一部を結合解除することはできません。

: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 Interopを使用せずにC#でセルを結合するにはどうすればよいですか?

Excel Interopを使用せずにC#でセルを結合するには、IronXLのMergeメソッドを利用することができます。これはブックを読み込み、ワークシートを選択し、範囲を指定し、Mergeメソッドを適用してセルを組み合わせる作業を含みます。

C#アプリケーションでセルを解除するにはどうすればよいですか?

C#アプリケーションでIronXLを使用してセルを解除するには、Unmergeメソッドを使用できます。結合済み領域の範囲アドレスまたはインデックスを指定して、結合をリバースします。

Excel操作を行うためにIronXLの利用を開始するプロセスは何ですか?

Excel操作にIronXLを使用し始めるには、NuGetからライブラリをダウンロードし、スプレッドシートを読み込むか作成し、MergeUnmergeのようなメソッドを利用してプログラム的にセル操作を行います。

スプレッドシートで結合済み領域のリストを取得することはできますか?

はい、IronXLのGetMergedRegionsメソッドを使用して、スプレッドシート内の結合済み領域のリストを取得できます。これはワークシートでどのセルが結合されたかを特定するのに役立ちます。

Microsoft ExcelをインストールせずにExcelスプレッドシートを管理することはできますか?

はい、IronXLはMicrosoft Excelがシステムにインストールされていなくても、プログラム的にセルを結合したり解除したりするなど、Excelスプレッドシートの管理を可能にします。

フィルタ範囲内でセルを結合するときに考慮すべき点は何ですか?

フィルタ範囲内でセルを結合すると、Excelファイルで競合が発生する可能性があり、スプレッドシートを正しく表示するためにExcelの修復ツールを使用する必要があるかもしれません。

Mergeメソッドはセルのデータを消去しますか?

いいえ、Mergeメソッドはデータを消去しません。それはセルを結合し、最初のセルの値のみを表示しますが、他のすべてのセルの値はアクセス可能なままです。

IronXLでの結合と解除プロセスを視覚化するにはどうすればいいですか?

IronXLは結合と解除のプロセスを実行する方法を示すコード例とデモを提供しています。これらの例は、Excelファイルのプログラム的な操作方法を視覚化するのに役立ちます。

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