Excelで表を作成する際、「同じ値が縦に並んでいる部分をまとめたい」「縦方向のセルを一括で結合してスッキリ見せたい」というニーズはよくあります。特に帳票やレポート、アンケート集計表などでは、同じカテゴリをまとめることで可読性が大きく向上します。
しかし、手動で1つずつ結合していくのは手間がかかるうえ、結合後の並べ替えや編集でトラブルになることも。この記事では、Excelで縦方向にセル結合を一括実行する方法と、実務での効果的な活用法・注意点を詳しく解説します。
目次
✅ 縦方向のセル結合が必要になる場面
1. 同じカテゴリをグループ化したいとき
例えばアンケート集計で「地域」や「部署名」が同じ行をひとまとめにして表示する場合、縦方向のセル結合は見た目をシンプルにします。
2. 帳票や申請書で区切りを明確にしたいとき
発注書や契約書などのフォームでは、同じ顧客名や案件名が複数行にまたがる場合があります。その際に縦結合を使うと読みやすくなります。
3. ラベル印刷やPOP作成
Excelでラベルを作るとき、同じ商品カテゴリを縦方向に結合して大きく見せるケースもあります。
✅ 手動で縦方向のセルを結合する手順
・基本手順
- 結合したい縦方向のセルを選択
(例:A2~A5) - 「ホーム」タブ →「セルを結合して中央揃え」
- 必要に応じて水平方向の配置を調整
✅ 一括で縦方向のセルを結合する方法(VBA活用)
複数の範囲をまとめて縦方向に結合したい場合は、VBAで自動化すると効率的です。
以下は連続する同じ値を縦結合するマクロ例です。
Sub 縦方向セル結合()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long, startRow As Long
Set ws = ActiveSheet
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
startRow = 2
For i = 2 To lastRow + 1
If ws.Cells(i, 1).Value <> ws.Cells(startRow, 1).Value Then
If i - startRow > 1 Then
ws.Range(ws.Cells(startRow, 1), ws.Cells(i - 1, 1)).Merge
ws.Range(ws.Cells(startRow, 1), ws.Cells(i - 1, 1)).HorizontalAlignment = xlCenter
ws.Range(ws.Cells(startRow, 1), ws.Cells(i - 1, 1)).VerticalAlignment = xlCenter
End If
startRow = i
End If
Next i
End Sub
・このマクロのポイント
- 同じ値が連続している範囲を自動検出
- 縦結合と同時に中央揃え設定
- 数百行あっても数秒で処理可能
✅ 結合を避けた方がいい場面と代替策
・結合のデメリット
- 並べ替えやフィルタが使えなくなる
- 関数参照が複雑化する
- データ加工時に解除が必要
参考:【VBA】フィルターをかける方法を徹底解説|実務で使える自動化テクニックとトラブル防止策
・代替策:「選択範囲内で中央」
- 結合したい範囲を選択
- 「ホーム」→「配置」→「選択範囲内で中央」
この方法なら結合せずに見た目を整えられます。
✅ 実務での活用例(縦結合のメリットと応用)
- アンケート集計表
同じ選択肢をまとめて縦結合 → 読みやすさ向上 - 受発注管理表
同じ注文番号の明細行を縦結合 → 帳票感が出る - 学校の時間割表
同じ授業名を連続行で縦結合 → 見やすい表に
参考:【Excel】【経理実務】支払い方法や税区分によって自動で消費税計算を切り替える方法|Excel×IF関数で実務効率化!
✅ よくある失敗と回避方法
| 失敗例 | 原因 | 回避策 |
|---|---|---|
| 並べ替えができなくなった | 結合でセル構造が変わる | 代替策(選択範囲内で中央)を使う |
| データが消える | 複数セルに異なる値 | 結合前にデータ退避 |
| 自動処理で結合が解除 | ピボットやクエリ更新 | 更新後にマクロ再実行 |
✅ まとめ:縦方向のセル結合は自動化と使い分けがカギ
縦方向のセル結合は、見た目の整理に非常に有効ですが、多用するとデータ操作の自由度を奪うこともあります。
実務では次のポイントを意識すると効果的です。
- 連続データの縦結合はVBAで一括処理
- 編集や分析が必要な場合は結合を避ける
- 必要に応じて代替の書式設定を活用
これらを押さえることで、表の見やすさと操作性の両立が可能になります。