エクセルの表でA列とB列を比較して重複確認や突合する方法

エクセル

あなたはエクセルで2つの表の重複や、片方の表にだけ含まれていて、もう一方の表に含まれていないものの照合や確認をするのが大変だと思ったことはありませんか?

いわゆる表と表を突き合わせる「突合」です。

会員登録の2重登録者をチェックしたり、品目リストの重複をチェックしたり、納品前後のリストをチェックしたり・・・突合の機会は多いと思います。

突合はデータの数が少なければ目視でがんばれますが、量が多いとちょっとがんばれません。

エクセルのマクロを使って、片方に含まれるもの、両方に含まれるものを一瞬で判別できる方法があります。

今回は「エクセルの表でA列とB列を比較して重複確認や突合する方法」を紹介します。

エクセルの表でA列とB列を比較して重複確認や突合する方法

エクセルの表でA列とB列を比較して重複確認や突合する方法です。

下の画像のように、A列とB列にそれぞれ数字や記号が入っていて、重複を確認する例になります。

マクロを作るときは、「開発」タブを使います。
開発タブが出ていない方は、下のリンクで出し方を紹介していますので、まずは準備をお願いします。
→エクセルで開発タブを表示する方法

1.「開発」タブをクリック →「挿入」をクリック →「ボタン」をクリック

2.「新規作成」をクリック

3.コード入力画面が開く

4.コードを入力

コードを入力します。

A列だけに存在するセルを黄色に、B列だけに存在するセルを緑色に、A列とB列の両方に存在するセルを青色に、という意味です。

赤枠部のコードです。

   Dim ws As Worksheet
    Dim cellA As Range, cellB As Range
    Dim lastRowA As Long, lastRowB As Long
    Dim compareRange As Range

    ' 対象のシートを指定
    Set ws = ThisWorkbook.Sheets("Sheet56")  ' シート名に適宜変更してください

    ' A列とB列の最終行を取得
    lastRowA = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    lastRowB = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row

    ' 比較対象の範囲を設定
    Set compareRange = ws.Range("A1:B" & Application.WorksheetFunction.Max(lastRowA, lastRowB))

    ' 初期設定:すべてのセルの色をクリア
    compareRange.Interior.ColorIndex = -4142  ' xlNone

    ' A列だけに存在するセルを黄色に
    For Each cellA In ws.Range("A1:A" & lastRowA)
        If Application.WorksheetFunction.CountIf(ws.Range("B1:B" & lastRowB), cellA.Value) = 0 Then
            cellA.Interior.Color = RGB(255, 255, 0)  ' Yellow
        End If
    Next cellA

    ' B列だけに存在するセルを緑色に
    For Each cellB In ws.Range("B1:B" & lastRowB)
        If Application.WorksheetFunction.CountIf(ws.Range("A1:A" & lastRowA), cellB.Value) = 0 Then
            cellB.Interior.Color = RGB(0, 255, 0)  ' Green
        End If
    Next cellB

    ' A列とB列の両方に存在するセルを青色に
    For Each cellA In ws.Range("A1:A" & lastRowA)
        If Application.WorksheetFunction.CountIf(ws.Range("B1:B" & lastRowB), cellA.Value) > 0 Then
            cellA.Interior.Color = RGB(0, 0, 255)  ' Blue
        End If
    Next cellA

    ' B列とA列の両方に存在するセルを青色に(追加)
    For Each cellB In ws.Range("B1:B" & lastRowB)
        If Application.WorksheetFunction.CountIf(ws.Range("A1:A" & lastRowA), cellB.Value) > 0 Then
            cellB.Interior.Color = RGB(0, 0, 255)  ' Blue
        End If
    Next cellB
End Sub

コードを入力したら、コードの入力画面を閉じて下さい。

5.ボタンができた →ボタンをクリック

ボタンができました。

ボタンをクリックします。

セルの色が変わりました。

これなら重複チェックが簡単です。

でも青色セルは青色がきつくて、文字が読めないですね。

薄い青色にしたいです。

6.青色を薄い色に変更

青色がきつかったので、色を指定する数字を変更します。

再びボタンを押したら、薄い水色になりました。

これなら数字も読みやすいですね!

色は、RGBの数字を指定すると変わりますので、読みやすい、見やすい色に変更して使って下さい。

ちなみにRGBは、

R・・・Red  赤
G・・・Green 緑
B・・・Blue  青 です。

最初「RGB(0,0,255)」だったので「青」しかなかったのを、「RGB(221,235,247)」として赤と緑を混ぜました。

まとめ

エクセルの表でA列とB列を比較して重複確認や突合する方法のまとめです。

1.「開発」タブをクリック →「挿入」をクリック →「ボタン」をクリック

2.新規作成をクリック

3.コードを入れる画面が出る

4.コードを入力

5.ボタンができた →ボタンをクリック

6.重複セルの色が変わった

これで表の重複チェック、一致や不一致のチェック、突合が簡単になりますね!

コメント

タイトルとURLをコピーしました