はっぱち雑記ブログ

【Excel】で複数条件を使った重複チェックの方法!関数・条件付き書式・VBAも解説

Excelでデータ管理をする際、複数の条件を組み合わせて重複をチェックしたいケースは多いですよね。

たとえば、「氏名+日付」や「商品名+ID」のように、複数列を基にしてデータの重複を特定したい場合です。

この記事では、Excelで複数条件を使った重複チェックの方法を、条件付き書式やCOUNTIFS関数、さらにはVBAでの自動化まで詳しく解説します。

重複データの特定や削除でお困りの方は必見です!


Excelで重複チェックを行う基本的な方法とは?


1. 単一条件での重複チェック

単一の列で重複を確認する場合、**「条件付き書式」または「フィルター」**を使うのが一般的です。

条件付き書式で重複をハイライト

  1. 対象の列を選択。
  2. 「ホーム」タブ → 「条件付き書式」 → 「セルの強調表示ルール」 → 「重複する値」を選択。
  3. 表示形式を選び「OK」。

2. 複数条件での重複チェック

複数の列を条件として重複を確認したい場合は、COUNTIFS関数条件付き書式のカスタムルールを活用します。


複数条件を使った重複チェック:条件付き書式編


条件付き書式を利用して、複数条件を満たす重複データをハイライト表示する方法を解説します。

手順

  1. データ範囲を選択(例:列A~列C)。
  2. 「ホーム」タブ → 「条件付き書式」 → 「新しいルール」を選択。
  3. 「数式を使用して、書式設定するセルを決定」を選ぶ。
  4. 次のような数式を入力:swiftCopy code=COUNTIFS($A$2:$A$100,A2,$B$2:$B$100,B2)>1
    • $A$2:$A$100:重複チェックする範囲(氏名列)。
    • $B$2:$B$100:日付列。
    • >1:同じ組み合わせが複数回出現していることを判定。
  5. 書式設定を選択して色を指定し、「OK」。

これで、複数条件を満たす重複データがハイライトされます。


COUNTIFS関数で複数条件の重複をチェックする方法


COUNTIFS関数を使うと、特定の条件を満たすデータが何回出現しているかを計算できます。

これを利用して重複データを判定する方法を紹介します。

COUNTIFS関数の基本構文

scssCopy code=COUNTIFS(条件範囲1, 条件1, 条件範囲2, 条件2, ...)

具体例

  1. データ例
    • 列A:氏名
    • 列B:日付
  2. 手順
    1. 列Cに以下の式を入力:swiftCopy code=COUNTIFS($A$2:$A$100,A2,$B$2:$B$100,B2)
    2. COUNTIFSの結果が「2以上」であれば、該当データは重複しています。
  3. 重複データを見分ける
    • 列Cにフィルターをかけて「2以上」を抽出。
    • 重複データを確認できます。

重複データを効率よく削除する手順


Excelでは、「データツール」の**「重複の削除」**機能を使って簡単に重複データを削除できます。

手順

  1. データ範囲を選択。
  2. 「データ」タブ → 「重複の削除」をクリック。
  3. 「列の選択」で重複判定に使う列を指定(例:氏名と日付)。
  4. 「OK」をクリックして重複を削除。

注意:重複削除は元のデータを削除するので、事前にバックアップを取っておくことをおすすめします。


VBAで複数条件の重複チェックを自動化する方法


手動で重複チェックを行うのが面倒な場合、VBAを使うことで自動化できます。

サンプルコード:複数条件で重複をチェック

以下のコードを使うと、重複データを色付けできます。

vbaCopy codeSub 重複チェック()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim i As Long
    Dim j As Long

    ' ワークシートの指定
    Set ws = ThisWorkbook.Sheets("Sheet1")
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

    ' 重複チェック
    For i = 2 To lastRow
        For j = i + 1 To lastRow
            If ws.Cells(i, 1).Value = ws.Cells(j, 1).Value And _
               ws.Cells(i, 2).Value = ws.Cells(j, 2).Value Then
                ws.Cells(i, 1).Interior.Color = RGB(255, 0, 0) ' 赤でハイライト
                ws.Cells(j, 1).Interior.Color = RGB(255, 0, 0) ' 赤でハイライト
            End If
        Next j
    Next i
End Sub

使い方

  1. Excelで「Alt + F11」を押してVBAエディタを開く。
  2. 「挿入」→「モジュール」を選択。
  3. 上記コードを貼り付けて実行。

よくある質問


Q1. COUNTIFS関数でエラーが出る場合、どうすればいいですか?

A. 範囲の指定が正しいか確認してください。

また、データの範囲に空白や誤入力がないかもチェックしましょう。


Q2. 重複削除で重要なデータを消したくない場合、どうすればいいですか?

A. 削除前に必ずデータのバックアップを取るか、条件付き書式で重複を確認した後に削除を検討してください。


Q3. VBAが動作しない場合の対処法は?

A. マクロのセキュリティ設定を確認し、「信頼されたドキュメント」または「マクロ有効」に設定してください。


参考リンク


Excelで複数条件を使った重複チェックは、関数や条件付き書式、さらにはVBAを活用することで効率的に行えます。

この記事を参考にして、データ管理の精度をさらに高めましょう!

Pick up

1

2022年5月3日頃より、一部のInstagramユーザーの間で、アプリを起動すると突然 「生年月日を追加」 という生年月日の入力を強制する画面が表示されるケースが急増しているようです。 この影響で、 ...

2

スマホでGoogle検索を利用しようとした際に、検索キーワードの候補として、 検索履歴ではなく「話題の検索キーワード」が表示される場合がありますよね。 この「話題の検索キーワード」に表示される検索キー ...

3

TikTokの動画再生画面の左下に、 「再投稿」ボタンが表示されるようになった影響で、 間違えてタップしてしまった、というユーザーがいらっしゃるようです。 そしてその後ボタンは、 「再投稿しました」→ ...

no image 4

目の保養に!AI画像【ブラジャースタイル】ビキニ姿の美女① 目の保養に!AI画像【ブラジャースタイル】ビキニ姿の美女② 目の保養に!AI画像【ブラジャースタイル】ビキニ姿の美女③ 目の保養に!AI画像 ...

5

iOSの最新版である「iOS16」がリリースされたことが話題ですよね。 しかし「ソフトウェア・アップデート」の画面を確認してみると… 同時に「iOS15.7」という、iOS15系の最新版もリリースされ ...

-はっぱち雑記ブログ