エクセルのセル結合その使い方何か違うけど?驚きの実例と結合の問題点

当ページのリンクには広告が含まれています。

エクセルのセル結合による問題は、今もなお頻繁に見られます。私がエクセルを使い始めたエクセル2002年当時、セルを細かく区切り、まるで方眼紙のようなシートにセル結合を多用したデータをよく目にしました。

エクセル方眼紙

今でも完全にはなくならず、時折似たようなエクセルシートに遭遇します。

もちろん、見た目を整えるために仕方なくセルを結合する場合もあります。しかし、後から修正が難しくなったり、データの再活用を阻害したりする問題を引き起こします。

上記の場合以外に、「これ、一体何の意味があるの?」と首をかしげるような無意味で謎めいたセル結合も見受けられます。

目次

よくあるエクセルのセル結合例

エクセルでセル結合を使うことは、特に見栄えを整えたいときに非常に便利です。たとえば、部署ごとに社員データをまとめる際、以下のような表を作るときにセル結合がよく使われます。

一見するときれいで、印刷用としては非常に使いやすいですが、実際にこのデータを再利用しようとしたときに問題が発生します。

結合→解除→結合

部署名をセル結合するパターンで、過去にこんなことがありました。結合した後になって「やっぱりこうしてほしい」「ああしてほしい」と言われ、結局結合を解除せざるを得ないことが頻発したのです。

しかも、そのデータは非常に大きなものでした。手作業で対応するのは現実的ではなく、最終的に手作業での修正は断念しました。

パワークエリで問題ない?

エクセルで結合したセルをパワークエリで処理するのは簡単だという意見もあります。

一度だけ解除する場合は問題ないですが、頻繁に結合と解除を繰り返す必要がある場合は手間がかかります。また、単純な結合であればパワークエリで対応可能ですが、エクセル方眼紙のように複雑にセルが結合されている場合、それを処理するのも非常に手間がかかります。

参考

エクセルVBAのコードで対応する場合の例です。シート「一覧」にあるA列のデータを結合します。

Sub ketugo()
    Dim ws As Worksheet
    Dim i As Long
    Dim sName As String: sName = "一覧"
    Dim lastR As Long
    
    ' エラー処理
    On Error Resume Next
    Set ws = ActiveWorkbook.Worksheets(sName)
    On Error GoTo 0
    If ws Is Nothing Then
        MsgBox "シート '" & sName & "' が見つかりません。", vbExclamation
        Exit Sub
    End If
    
    lastR = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
    If lastR < 2 Then
        MsgBox "データがありません。", vbExclamation
        Exit Sub
    End If
    
    With Application
        .ScreenUpdating = False
        .DisplayAlerts = False
    End With
    
    ' A列をD列にコピー
    ws.Range("D1:D" & lastR).Value = ws.Range("A1:A" & lastR).Value
    
    ' マージ処理
    For i = 2 To lastR - 1
        If ws.Cells(i, 4) = ws.Cells(i + 1, 4) Then
            ws.Range(ws.Cells(i, 1), ws.Cells(i + 1, 1)).Merge
        End If
    Next i
    
    '抽出時に対象データを正しく表示
    ws.Range("D1:D" & lastR).Copy
    ws.Range("A1:A" & lastR).PasteSpecial Paste:=xlPasteFormulas
    
    ' A列の文字を縦方向中央揃えに設定
    ws.Range("A1:A" & lastR).VerticalAlignment = xlCenter
    
    ' D列のデータを削除、再度結合解除する場合があるならこの処理はしない
    ws.Range("D1:D" & lastR).ClearContents
    
    With Application
        .Goto Reference:=ws.Range("A1"), Scroll:=True
        .ScreenUpdating = True
        .DisplayAlerts = True
        .CutCopyMode = False
    End With
    
    MsgBox "終わり"
End Sub
  • エラー処理を入れているため、長いです。
  • 結合しても抽出データを正しく表示します

わかるけど困るエクセル方眼紙

エクセル方眼紙(セルを正方形にしてマス目状に使う方法)にいまだに遭遇することがあります。この形式、見た目は整っているものの、データを活用したい場面では非常に困ることが多いです。

なぜこのような作り方をするのかは理解できます。例えば、異なる幅や高さの表を1つのシートに収めたい場合や、印刷物として見栄えを良くしたい場合などが理由として挙げられます。ただし、印刷だけで完結するならまだしも、データを活用しようとすると、編集が煩雑で効率が悪くなります。

データを効率的に活用するには
  • データ部分と集計部分を別シートに分ける
    データはシンプルな表形式でエクセルに入力し、合計金額や統計値などは別のシートで計算する。
  • アクセスなどのデータベースを利用する
  • 差し込み印刷を活用する
    データはエクセルに入力し、見栄えが求められる文書や帳票はWordの差し込み印刷機能を利用する。

他にもやり方はあります。

驚きのセル結合事例

エクセルのセル結合といえば、見栄えを整えるために「部署」や「グループ」をまとめる際によく使われますが、次のような用途でセルを結合するケースがあります。

出典:データは厚生労働省の「令和6年度地域別最低賃金改定状況」の一部を利用してます

セル結合の例・行

このようなデータを見たときには驚きを隠せませんでした。行の幅を広げたかったようです。

元のデータです。

行幅を広げれば済む

セル結合の例・列

この場合も、列幅は通常の方法で自由に変更できるのに、セル結合を使ってしまう謎の操作です。

セル結合の問題点

  • データ再利用が難しい
  • データの並べ替えができない
  • データのインポートや抽出が難しい
  • 加工の手間が増える

データ再利用が難しい

データの再利用が難しいケースについて、思わずイライラしてしまった経験があります。

以前、列方向に無意味なセル結合が施されたデータを渡されました。消費税額を計算するためにそのデータを利用しようとしましたが、まず結合を解除して整える作業が必要でした。しかも、この作業を毎回繰り返さなければならず、かなり手間がかかりました。

困り果てた私は、お客様にお願いしてデータの作成者に修正を依頼してもらったのですが、返ってきたのは「文句を言われたことはない」という逆ギレの反応でした。結局、何も言わずにこちらで加工するしかないのかもしれないと、諦めざるを得ませんでした。

データの並べ替えができない

並べ替えをしたい場合は、セルの結合を解除する必要があります。その後また結合した状態に戻すのは、一般機能では手間がかかります。

データのインポートや抽出が難しい

データの再利用が難しいです。

データベースや他のシステムにインポートできません。まれに結合でもインポートできることもありますが、修正する必要があります。

加工の手間が増える

結合セルを解除し、正しい形に修正する手間が発生します。この作業はデータ量が多い場合に非常に時間がかかり、効率が大幅に下がります。

まとめ

セル結合は、適切に使用すれば便利ですが、誤った用途で使うと作業効率を著しく下げる原因になります。特に行や列を結合して高さや幅を調整する方法は、エクセルの基本操作を知らないがゆえの「勘違い作業」といえるでしょう。

セル結合には多くの問題が伴いますが、必ずしも改善を求められるわけではありません。結局、自分の思い通りにデータが作られるとは限らず、現場では黙って対応せざるを得ないこともあります。

しかし、だからこそ思うのは、エクセルを使用する人は基本的な操作だけでもしっかり学ぶべきだということです。少しの知識と工夫で、後々の手間やトラブルを大幅に減らせるからです。

データの再利用性を考えたエクセルの使い方を心がければ、お互いにとってより快適で効率的な作業環境を作ることができるはずです。

目次