メインコンテンツへスキップ

結合されたセルを含むデータをExcelで並べ替える方法は?

Author: Siluvia Last Modified: 2025-08-06
a prompt box will appear while sorting merged cells

結合されたセルを含むExcelのデータを並べ替えようとすると、左のスクリーンショットに示されているように、エラーメッセージが表示されることがよくあります。この動作は、Excelの現在の制限によるものであり、結合された範囲は基盤となるデータ構造を乱し、通常の並べ替え機能の動作を困難にするため、Excelでは結合されたセルを持つ範囲の並べ替えをネイティブにはサポートしていません。

書式設定やデータのグループ化のために結合されたセルを使用するワークシートを操作する際も、データを整理したり順序を変更したりする必要がある場合があります。これを実現するには、まずこれらの結合されたセルを適切に処理する必要があります。以下に、情報を保持しながら結合されたセルを持つデータを処理および並べ替えるためのいくつかの実用的な方法を紹介します。

すべてのセルを最初に分割してから結合されたセルを含むデータを並べ替える
Kutools for Excelを使用して結合されたセルを含むデータを並べ替える
VBA自動化(分割、埋める、並べ替え、再結合)により結合されたセルを含むデータを並べ替える


すべてのセルを最初に分割してから結合されたセルを含むデータを並べ替える

Excelのデフォルトの並べ替え機能は結合されたセルを持つ範囲で動作しないため、必要なアプローチは、データリスト内のすべての結合されたセルを最初に分割することです。分割後、結合されたセルがあった場所に空白が現れるので、正確な並べ替えを維持するためにこれらの空のセルを埋める必要があります。以下はその手順です:

1. 並べ替えたい結合されたセルを含むフルリストまたはテーブルを選択します。データを選択した状態で、「ホーム」>「中央揃えと結合」をクリックしてすべての結合されたセルを分割します。視覚的なガイダンスについては、以下のスクリーンショットを参照してください:

click Home > Merge & Center to unmerge merged cells

2. 分割後、以前結合されていたエリアが今では空白のセルになっていることに気づくでしょう。結合されたセルがまだ選択されている状態で、「ホーム」タブに行き、「検索と選択」>「条件を選択して移動」をクリックします。このステップにより、範囲内のすべての空白セルを効率的に一括選択でき、次のステップがより迅速になります。

click Go To Special under Home tab

3. 「条件を選択して移動」ダイアログボックスで、「空白セル」オプションを選択し、「OK」をクリックします。これにより、選択範囲内のすべての空白セルがすぐに強調表示されます。

select the Blanks option in the dialog box

4. 空白セルがまだ強調表示されている状態で、数式バーに行き、「=」記号を入力し、最初の空白セルの上にあるセルを選択して参照式を作成します(例:C3が空白の場合、=C2を入力)。Enterキーだけを押すのではなく、Ctrlキーを押しながらEnterキーを押して、すべての選択された空白セルを一度にそれぞれの上のセルの値で埋めます。

このステップ後、以前結合されていたすべてのエリアが元の値で埋められ、並べ替え中のデータの整合性が保たれます。

enter a formula and press the Ctrl + Enter to fill the cells with above value

5. これで、データを通常通り並べ替える準備が整いました。任意の列を選択し、「データ」タブに行き、「AからZへ並べ替え」または「ZからAへ並べ替え」を選択します。並べ替え後に結合された書式を復元したい場合は、手動で隣接する同一の値を再結合できますが、無関係なデータ間での結合を避けるよう注意が必要です。

ヒント: 結合された書式を保持することが重要な場合は、必ず元のデータのバックアップを作成してください。また、分割と空白の埋め込み後には数式が存在しているため、並べ替え後に不要な数式の更新を避けるために、参照範囲を選択してコピーし、値として貼り付けて数式を値に変換することをお勧めします。


Kutools for Excelを使用して結合されたセルを含むデータを並べ替える

Kutools for Excelは、特に大規模なデータセットや頻繁な書式設定要件を扱う際に、結合されたセルを含むデータを並べ替えるためのより簡単で効率的なソリューションを提供します。「セルの分割と値の埋め込み」ユーティリティは、結合されたセルを自動的に分割し、生成された空白セルを元の結合された値で埋めることで、手動での操作を排除し、大幅に効率を向上させます。

Kutools for Excelは、300以上の高度な機能を提供し、複雑なタスクを簡素化し、創造性と効率を向上させます。 AI機能と統合され、Kutoolsは正確にタスクを自動化し、データ管理を容易にします。Kutools for Excelの詳細情報...無料トライアル...

1. 並べ替えたい結合されたセルを含む範囲を選択します。次に、「Kutools」>「結合と分割」>「セルの分割と値の埋め込み」に進みます。以下のスクリーンショットを参考にしてください:

click Unmerge Cell & Fill Value feature of kutools

この操作を実行すると、選択範囲内のすべての結合されたセルが即座に分割され、新たに作成された空白セルが以前結合されていたセルの対応する値で埋められ、表全体の一貫性が確保されます。

all merged cells are unmerged and filled the values above

2. これで、いつものようにデータを並べ替えることができます。並べ替え後、見た目を統一するか、データ表示の目的で、Kutoolsは同じ内容のセルを簡単に再結合する方法も提供します。単に並べ替えられた範囲を選択し、「結合と分割」>「同じセルを結合」に進んで、同じ値を持つ部分のみに効率的に結合された書式を再適用します。

  このユーティリティを無料で試用したい場合(30日間)、こちらをクリックしてダウンロードし、上記の手順に従って操作を適用してください。

利点:このアプローチは手動でのステップを最小限に抑え、エラーの可能性を減らし、特に複雑なテーブルや定期的なレポート作成のニーズがある場合に適しています。常に、並べ替え後の結合された出力を確認し、重要なデータ関係が除外されていないことを確認してください。


Kutools for Excelを使用して結合されたセルを含むデータを並べ替える

 

VBA自動化(分割、埋める、並べ替え、再結合)によって結合されたセルを含むデータを並べ替える

マクロに精通しているユーザーにとって、VBAを介してプロセスを自動化することで、繰り返しの多い大規模な並び替え作業における結合されたセルの処理を簡素化できます。このアプローチでは次のように効率的に作業を行えます:

  • 指定された範囲内のすべての結合されたセルを分割する
  • 結果として生じる空白セルを上からの値で埋めて一貫性を保つ
  • 指定された任意の列でデータを並べ替える
  • オプションで、並べ替えられたデータ内で連続する同一の値を再結合する

この方法はカスタマイズされたワークフローに柔軟に対応できますが、マクロの有効化と慎重な操作が必要で、データの損失を回避するためです。VBAに慣れていない場合は、最初にサンプルシートでテストすることを考慮してください。

操作手順:

1. リボンで「開発」>「Visual Basic」をクリックして、Visual Basic for Applicationsウィンドウを開きます。次に「挿入」>「モジュール」をクリックします。次のコードをモジュールウィンドウにコピーして貼り付けます:

Sub SortDataWithMergedCells()
    Dim ws As Worksheet
    Dim rng As Range, cell As Range
    Dim lastRow As Long, lastCol As Long
    Dim sortCol As Variant
    Dim reMerge As VbMsgBoxResult
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set ws = ActiveSheet
    Set rng = Application.InputBox("Select the data range to sort", xTitleId, Selection.Address, Type:=8)
    
    If rng Is Nothing Then Exit Sub
    
    ' Store dimensions
    lastRow = rng.Rows.Count + rng.Row - 1
    lastCol = rng.Columns.Count + rng.Column - 1
    
    ' Unmerge and fill down values
    rng.UnMerge
    For Each cell In rng
        If IsEmpty(cell.Value) Then
            cell.Value = cell.Offset(-1, 0).Value
        End If
    Next cell
    
    ' Ask for sort column
    sortCol = Application.InputBox("Enter column number in your selection to sort by (e.g. 1 for first column)", xTitleId, 1, Type:=1)
    
    If sortCol = False Then Exit Sub
    
    ' Sort the range
    rng.Sort Key1:=rng.Cells(1, sortCol), Order1:=xlAscending, Header:=xlNo
    
    ' Ask if user wants to re-merge identical consecutive values
    reMerge = MsgBox("Do you want to re-merge identical consecutive values in the sorted range (column " & sortCol & ")?", vbYesNo + vbQuestion, xTitleId)
    
    If reMerge = vbYes Then
        Dim startCell As Range, endCell As Range
        Dim currVal As Variant
        Dim i As Long
        
        Set startCell = rng.Cells(1, sortCol)
        currVal = startCell.Value
        Set endCell = startCell
        
        For i = 2 To rng.Rows.Count
            If rng.Cells(i, sortCol).Value = currVal Then
                Set endCell = rng.Cells(i, sortCol)
            Else
                If startCell.Address <> endCell.Address Then
                    ws.Range(startCell, endCell).Merge
                End If
                Set startCell = rng.Cells(i, sortCol)
                currVal = startCell.Value
                Set endCell = startCell
            End If
        Next i
        
        ' Final group
        If startCell.Address <> endCell.Address Then
            ws.Range(startCell, endCell).Merge
        End If
    End If
    
    On Error GoTo 0
End Sub

2マクロを実行するには、 Run button 実行 ボタンをVBAエディターでクリックします。データ範囲と並べ替え列番号を選択するよう求められます。各プロンプトを確認し、マクロがすべてのステップを完了させるまで待ちます。再結合を選択した場合、コードは指定された列内の隣接するセルで同じ値を持つものを自動的に結合します。

ヒント:

  • VBAマクロを実行する前に、必ずワークシートのバックアップを作成してください。分割/結合などの操作は元に戻せないためです。
  • ヘッダーや非数値列で並び替える場合、追加の調整が必要になる場合があります。選択した列番号を正しく指定してください。
  • 並べ替え後にエラーが発生した場合、行全体や列全体の参照を確認し、特定のデータレイアウトに合わせてマクロのパラメータを調整してください。

利点: 繰り返しの多い多段階のタスクを自動化し、特に定期的な作業に役立ちます。
制約: VBAマクロはマクロの有効化が必要で(潜在的なセキュリティ警告)、結合が復元された後でも複雑なテーブルレイアウトには手動での確認が必要です。

最良の結果を得るために、最初にデータのコピーでこのマクロをテストしてください。このVBAソリューションは、並べ替えと結合プロセスを頻繁に繰り返す必要があるユーザー、または動的なデータエクスポートを扱うユーザーに特に有用です。


最高のオフィス生産性ツール

🤖 Kutools AI Aide:データ分析を革新:インテリジェント実行   |  コード生成  |  カスタム数式の作成  |  データを分析してグラフを生成  |  Kutools Functions を呼び出す
人気機能重複の検索・ハイライト・マーキング   |  空白行を削除   |  データを失わず列やセルを統合   |   丸める ...
スーパーLOOKUP複数条件VLOOKUP   複数値VLOOKUP  |  複数シートの検索  |  ファジーマッチ ....
高度なドロップダウンリストすばやくドロップダウンリストを作成   |  依存型ドロップダウンリスト   |  複数選択ドロップダウンリスト ....
列の管理:特定数の列を追加  | 列を移動  | 非表示列の表示状態を切り替え |  範囲と列の比較 ...
注目機能グリッドフォーカス   |  デザインビュー  |  強化された数式バー   ワークブック&ワークシートの管理   |  オートテキスト ライブラリ (Auto Text)   |  日付ピッカー   |  データの統合   |  セルの暗号化/復号化    リスト送信で電子メールを送信   |  スーパーフィルター   |   特殊フィルタ(太字/斜体/取り消し線でフィルタ...)
トップ15ツールセット12 種類のテキストツールテキストの追加特定の文字を削除など)  |  50 種以上のグラフ タイプガントチャートなど)  |  40を超える実用的な 数式誕生日に基づいて年齢を計算する、など)  |  19種の 挿入ツールQRコードの挿入パスから画像の挿入など)  |  12種類の 変換ツール単語に変換する通貨変換など)  |  7つの 結合&分割ツール高度な行のマージセルの分割など)  |  ...さらに多数
お好きな言語でKutoolsを使用できます ― 英語、スペイン語、ドイツ語、フランス語、中国語など40以上に対応!

Kutools for ExcelでExcelスキルを強化し、かつてない効率を体験しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と時間短縮を実現します。最も必要な機能を今すぐ取得...


Office TabはOfficeにタブ表示を追加し、作業効率を大幅に向上させます

  • Word、Excel、PowerPointでタブ編集とタブ閲覧を有効にします
  • 同じウィンドウ内の新しいタブで複数のドキュメントを開いたり作成したりできます。新しいウィンドウを開く必要はありません。
  • 生産性が50%向上し、1日に何百回ものマウスクリックも削減できます!