Excelでデータを並べ替えようとして、エラーメッセージ「すべての結合セルを同じサイズにする必要があります。」が出る場合、原因はほぼ1つだけです。並べ替え範囲のなかに、ほかと違うサイズの結合セルが混ざっていることが原因です。実機での完全な文言は§1の画像で確認できます。
この記事では、エラーの正確な発生条件を実機で再現したうえで、結合をすべて解除する/「選択範囲内で中央」に置き換える/結合のサイズを統一する/テーブル化して再発を防ぐ/VBAで一括解除するの5つの対処法を、画面のラベルどおりに図解します。
結論を先に書くと、業務でもっとも安全で早い解決は「並べ替え範囲の結合セルをすべて解除する」です。最短手順は §5 にあります。
この記事で使うサンプル: 書籍カタログのデータ(A列「書籍番号」、B列「書名」、C列「発刊日」、D列「金額」)を題材にします。D3:D4(金額の2700)とC5:C6(発刊日の2014/10/27)がそれぞれ縦結合されている状態で並べ替えを実行すると、必ずこのエラーが出ます。
- 1. 「すべての結合セルを同じサイズにする必要があります」とは
- 2. このエラーが出る操作と、出ない操作
- 3. エラーが出る正確な条件
- 4. 結合セルがどこにあるかを最速で見つける
- 5. 対処1:並べ替え範囲の結合をすべて解除する(最短手順)
- 6. 対処2:「選択範囲内で中央揃え」に置き換える(見た目を残す)
- 7. 対処3:結合セルのサイズを統一する(結合のまま並べ替える)
- 8. 対処4:テーブル(Ctrl+T)に変換して再発を防ぐ
- 9. 対処5:VBAで結合セルを一括解除する
- 10. 5つの対処法の使い分け早見表
- 11. オートフィルターでも結合があると表示が崩れる
- 12. よく似たエラーや警告との違い
- 13. まとめ
1. 「すべての結合セルを同じサイズにする必要があります」とは
結合セルを含む範囲を並べ替えようとすると、Excelは下のダイアログを出して並べ替えを中止します。

キャプション: 並べ替え(昇順)を実行した直後のダイアログ。タイトルはMicrosoft Excel、本文は画像のとおり「すべての結合セルを同じサイズにする必要があります。」を含む文言で、末尾には句点が付きます。ボタンはOK(O)のみで、警告アイコン(黄色の三角形)が表示されます。
このエラーの正体は、Excelの並べ替えロジックが、結合セルとそれ以外のセルを同じ「1まとまり」として扱えないことに起因します。並べ替え範囲に結合セルが含まれていても、結合セルとそれ以外のセル構造がすべて同じサイズ(たとえば全行が2行×1列の結合)に統一されていれば、エラーは出ません。混在することが問題です。
2. このエラーが出る操作と、出ない操作
このエラー本文(9115)が出るのは、おもに並べ替え系の操作のときだけです。フィルターやコピペで何か警告が出た場合、別文言のメッセージか、そもそも何の表示もない場合があります。
| 操作 | 9115のエラーが出るか | 備考 |
|---|---|---|
| データタブ →(昇順/降順)並べ替え | 出る | 本記事の主題 |
| 並べ替えダイアログから複数キーで並べ替え | 出る | 同上 |
| オートフィルターをONにするだけ | 出ない | 表示そのものは崩れない |
| オートフィルターで抽出条件を設定 | 出ない | 結合セルを含む列を条件にすると表示が崩れる(§11で詳述) |
| セルをコピーして結合領域に貼り付け | 別文言 | 「この操作は結合したセルには行えません。」(貼り付け範囲の形状次第) |
| 結合領域に行を挿入/削除 | 条件次第 | 9115ではなく別ダイアログまたは無反応 |
| Ctrl+Tでテーブル化 | 出ない | 結合がそのまま静かに解除される(§8) |
「フィルターやコピペでもエラーが出る」と書いている解説がありますが、出るエラーの文言が違います。本記事は並べ替えで出る9115(「すべての結合セルを同じサイズにする必要があります。」)に絞って解説します。
3. エラーが出る正確な条件
並べ替えエラーの発生条件は、並べ替え範囲のなかに含まれるセル「ブロック」(結合領域と単独セル)が全て同じサイズでないことです。「同じサイズの結合セルだけを使えば回避できる」とは限らない点に注意してください。
実機で確認した発生/非発生の典型例です。
| 並べ替え範囲のなか | 結果 |
|---|---|
| 結合がまったくない | 並べ替え成功 |
| ヘッダー行も含めて全行・全列が同じサイズ(2行×1列など)の結合だけ | 並べ替え成功 |
| 2行×1列の結合が1か所だけ、他は単独セル | エラー |
| 同じサイズ(2行×1列)の結合が2か所、他は単独セル | エラー |
| 横方向の結合(B2:C2 など)が1か所、他は単独セル | エラー |
| 並べ替えキーの列に結合が1か所、他は単独セル | エラー |
| 並べ替え範囲の外に結合(F10:F12 など)、範囲内は無結合 | 並べ替え成功 |
ここから読み取れる実務的な指針は2つです。
- 並べ替え範囲のなかの結合は、1か所でもあればエラーの原因になりやすい(単独セルとサイズが合わない)
- シート全体の結合を消す必要はなく、並べ替え範囲だけの結合を解除すれば十分
4. 結合セルがどこにあるかを最速で見つける
まず、どの行のどのセルが結合されているかを検索機能で一覧化します。クリックして探すより圧倒的に速いです。
- 結合がありそうなシートを開く
Ctrl+Fを押して検索と置換ダイアログを開く- 右下の
オプション(T) >>を押してダイアログを広げる 検索する文字列(N)欄の右にあるプレビュー欄のさらに右に書式(M)...ボタンがあるので、これを押す- 開いた書式の検索ダイアログで配置タブに切り替え、文字の制御セクションの
セルを結合する(M)にチェックを入れてOK - 検索ダイアログに戻ったら、
検索する文字列(N)は空のまますべて検索(I)を押す
書式の検索ダイアログの配置タブはこの形です(実画像は結合済みセルD3:D4を選んでCtrl+1で開いたセルの書式設定ですが、UI構造は書式の検索と同じです)。

キャプション: 配置タブの文字の制御セクションにあるセルを結合する(M)にチェックを入れた状態。OKを押すと、検索条件に「結合セルだけを探す」が加わります。

キャプション: 書式条件を設定して検索と置換ダイアログに戻ると、検索する文字列(N)欄の右にあるプレビュー欄の表示がプレビュー*に変わり、書式フィルターが有効になっていることが分かります。
検索結果ペインに、結合されているセルの先頭アドレス(たとえば$D$3、$C$5)が一覧で並びます。あとはどれを残し、どれを解除するか判断してから、対処に進みます。
5. 対処1:並べ替え範囲の結合をすべて解除する(最短手順)
もっとも早い解決策で、業務上はこれで十分なことがほとんどです。手順は3ステップです。
- 並べ替えたい範囲(例:
A1:D7)を選択する - リボンのホームタブ →配置グループ →
セルを結合して中央揃えボタンの右にある▼→セル結合の解除を選ぶ - もう一度
並べ替えを実行する

キャプション: 初期状態。A1:D7の表のなか、D3:D4(金額の2700)とC5:C6(発刊日の2014/10/27)が縦結合されています。この状態で並べ替えを実行すると§1のエラーになります。

キャプション: 結合解除後、もう一度並べ替えてもエラーは出ない状態。元のデータが書籍番号順だったため、行の並びそのものに変化はありません。
シート全体を解除する必要はありません。 並べ替えに使う範囲(上の例ではA1:D7)だけ選んで解除すれば足ります。範囲外の表に残した結合は並べ替えに影響しません。
6. 対処2:「選択範囲内で中央揃え」に置き換える(見た目を残す)
「結合をやめると見た目が崩れる」のが嫌な場合は、結合をやめて中央寄せの見た目だけ残す方法があります。「選択範囲内で中央」という配置設定です。
- 中央寄せにしたい範囲(例:
A10:D10)を選択する。値は左端のセル(A10)にだけ入れておく Ctrl+1でセルの書式設定ダイアログを開く- 配置タブに切り替える
- 文字の配置の
横位置(H):のドロップダウンから選択範囲内で中央を選ぶ OKを押す

キャプション: 横位置(H):を選択範囲内で中央に設定。これは結合ではないので、セルを結合する(M)のチェックは入れません。
この設定を当てると、見た目は中央寄せ(複数列にまたがって中央に表示)になりますが、セルは結合されていません。並べ替え範囲に含めても§1のエラーにはなりません。

キャプション: A10セルにだけ文字列を入れてA10:D10の範囲に「選択範囲内で中央」を適用した例。値はA10だけにあるのに、A〜D列の中央に表示されます。
並べ替えに含めたときの動きに注意: 「選択範囲内で中央」を設定したセルを並べ替え対象に含めた場合、その書式は通常のセル書式と同じで行の移動に追従します。元の位置(たとえばB2)に書式が固定して残るわけではない点だけ覚えておいてください。
7. 対処3:結合セルのサイズを統一する(結合のまま並べ替える)
どうしても結合を残したい場合は、並べ替え範囲のなかの全セルを同じサイズの結合に揃えることで並べ替え可能にする方法があります。実例としてはヘッダー行(A1:A2とB1:B2)も2行結合にし、データ行も2行ずつ結合するパターンです。
ただし、ヘッダーと本文の構造を完璧に揃える必要があるため、現実の業務データではほとんど採用されません。「理屈上は通る」程度に覚えておけば十分です。実用面では§5(結合解除)または§6(選択範囲内で中央)を選んでください。
8. 対処4:テーブル(Ctrl+T)に変換して再発を防ぐ
同じ表で何度も結合が混入して並べ替えが止まる場合は、表をテーブル化(Ctrl+T)しておくと再発を防ぎやすくなります。テーブル化には2段の予防効果があります。
1段目は既存の結合を自動で解除する動きです。結合が混在する範囲を選んでCtrl+Tを押すと、警告ダイアログは出ずに、そのままテーブルの作成ダイアログが開きます。

キャプション: Ctrl+T直後のテーブルの作成ダイアログ。範囲は自動で$A$1:$D$7が入り、先頭行をテーブルの見出しとして使用する(M)のチェックは既定でオン。OKを押すと、もとの結合(D3:D4とC5:C6)が静かに解除されてテーブルが作成されます。
2段目はテーブル化後の結合操作がブロックされる動きです。テーブル内のセルを選んでホームタブのセルを結合して中央揃えボタンを押しても、Excelは反応しません。ダイアログも出ず、結合もされず、ただ無視されます。VBAからRange.Mergeを呼び出した場合も実行時エラーになり、検証では HRESULT -2146827284 が返りました。
つまりテーブル化しておけば、「あとから誰かが結合してしまって並べ替えが止まる」事故を構造的に防げます。集計用の表はテーブル化しておくのがおすすめです。
9. 対処5:VBAで結合セルを一括解除する
大きな表で結合がたくさん点在している場合は、VBAでまとめて解除する方が早いです。アクティブシート全体を一括解除するコードはこちらです。
Sub UnmergeAllInSheet()
On Error GoTo CleanUp
Application.ScreenUpdating = False
ActiveSheet.UsedRange.UnMerge
CleanUp:
Application.ScreenUpdating = True
If Err.Number <> 0 Then
MsgBox "結合解除に失敗しました: " & Err.Description, vbExclamation
End If
End Sub使い方は、Alt+F11でVBE(Visual Basic Editor)を開き、左のプロジェクトウィンドウから対象のブックを右クリック →挿入 →標準モジュール → 開いたモジュールに上記コードを貼り付け →F5で実行、です。
ブック内のすべてのシートをまとめて処理したい場合はこちらに差し替えてください。
Sub UnmergeAllInBook()
Dim ws As Worksheet
On Error GoTo CleanUp
Application.ScreenUpdating = False
For Each ws In ActiveWorkbook.Worksheets
If Not ws.ProtectContents Then ws.UsedRange.UnMerge
Next ws
CleanUp:
Application.ScreenUpdating = True
If Err.Number <> 0 Then
MsgBox "結合解除に失敗しました: " & Err.Description, vbExclamation
End If
End Sub保護されているシートはProtectContentsで除外しています。業務ブックでは、念のため実行前にバックアップを取ってから走らせてください。
10. 5つの対処法の使い分け早見表
状況別の選び方をまとめます。
| 状況 | 選ぶ対処法 | 理由 |
|---|---|---|
| とにかく早く並べ替えたい | §5 結合をすべて解除 | 3ステップ。シート全体ではなく並べ替え範囲だけでOK |
| 見た目(中央寄せ)を残したい | §6 選択範囲内で中央 | 結合しないが見た目は同じ。並べ替え可 |
| どうしても結合を残したい | §7 サイズを統一 | 全行同じ結合構造に揃える。実用性は低い |
| 同じ表で何度も結合が混入する | §8 テーブル化 | 既存結合を解除しつつ以降の結合操作も無効化 |
| 結合が大量にあって手作業がきつい | §9 VBA一括解除 | ワンクリックで全シート対応 |
11. オートフィルターでも結合があると表示が崩れる
「9115のエラーは並べ替えで出る」と書きました。一方フィルターでもまったく問題ないわけではありません。エラー文言こそ出ないものの、抽出結果のほうが崩れます。

キャプション: A列にカテゴリの結合(A2:A3=A、A4:A6=B)がある状態でフィルターを「A」で抽出すると、ステータスバーには「6 レコード中 1 個」と出ます。実際の可視行はrow 2のみで、row 3は同じ結合領域に含まれているものの非表示になります。
このように、結合セルを含む列を条件にしたフィルターでは、抽出結果が期待どおりに見えないことがあります。並べ替えやフィルターを使う表では、結合は解除するか、最初から使わない設計にしておくのが安全です。
12. よく似たエラーや警告との違い
結合セル関連のエラーや警告は何種類かあり、混同しやすいので整理しておきます。
| 本文 | 出るタイミング | helpaso記事 |
|---|---|---|
| この操作を行うには、すべての結合セルを同じサイズにする必要があります。 | 並べ替え時(本記事) | 本記事 |
| この操作によって、いくつかの結合されたセルが解除されます。続けてもよろしいですか? | 結合領域に貼り付け/挿入で結合が外れるとき | post 9143 |
| この操作は結合したセルには行えません。 | 結合領域に形状の合わないコピーペーストをしたとき | 本記事§2の表で補足 |
関連して、結合セル自体を扱う記事もあわせて参考にしてください。
- ワークシート内の結合セルを検索する手順・発見して一覧表示する手順(§4で紹介した検索手順の詳細版)
- Excelでブック内の結合セルの情報をリスト化するマクロを作成する(VBAでさらに細かく結合情報を取得したいとき)
13. まとめ
「すべての結合セルを同じサイズにする必要があります。」のエラーは、並べ替え範囲のなかの結合セルが、まわりのセル(単独セルや別サイズの結合)とサイズが合っていないことが原因です。実機で再現できる動きをまとめます。
- このエラー本文が出るのは並べ替え系の操作のとき。フィルターやコピペでは別文言になる
- 解決の最短は並べ替え範囲の結合をすべて解除する(§5、シート全体は不要)
- 見た目を残したい場合は選択範囲内で中央に置き換える(§6、結合せず中央寄せ)
- 同じ表で再発する場合はテーブル化(Ctrl+T)。既存結合は静かに解除され、以降の結合操作もブロックされる
- 大量に結合がある場合はVBAで一括解除(§9)
並べ替えやフィルターを使う前提があるなら、最初から結合を使わない設計の方が事故を減らせます。すでに結合だらけの表に困っている場合は、まず§4の検索で「どこに何個あるか」を可視化してから、§5〜§9のうち合うものを選んでください。
コメント