KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel で重複行を削除する方法:3 つの簡単な方法

著者Siluvia変更日

重複行は、異なるワークシートからデータをコピーしたり、外部システムからレポートをインポートしたり、Excel で複数のリストを結合したりする際に頻繁に発生します。これらを削除しないと、集計値やピボットテーブル、レポート、さらにはデータ分析の結果に悪影響を及ぼす可能性があります。

このチュートリアルでは、Excel で重複行を削除する3 つの実用的な方法をご紹介します。具体的には、Excel の標準機能である重複を削除機能の使い方、Kutools for Excelを使って削除前に重複行を選び・確認する方法、そしてVBAで作業を自動化する方法です。

Excel で重複する行を削除


Excel で重複行を削除する理由

重複行とは、同じレコードがワークシート内に複数回現れることを指します。たとえば、注文リストで同じ注文、顧客、製品、金額が繰り返し表示される場合があります。

注文 ID顧客製品金額
1001グリーンマーケットラップトップスタンド85
1002ノースライン社キーボード45
1001グリーンマーケットラップトップスタンド85
1003ブライトオフィスモニター220
1002ノースライン社キーボード45

上記の例では、注文 ID 1001注文 ID 1002のレコードがそれぞれ2 回ずつ出現しています。重複する行を削除すれば、各レコードのクリーンなコピーを1 つだけ残せます!

💡ヒント:重複行を削除する前に、特に重要なレポートや大規模なデータセットを扱っている場合は、ワークシートのバックアップコピーを作成することをお勧めします。

方法1:Excel の重複を削除機能で重複行を削除

Excel には標準の重複を削除機能があり、範囲を選択するだけで重複する行をすばやく削除できます。この方法は、重複を直接削除して各レコードの最初の出現のみを残したい場合に最適です。

  1. 重複する行を含むデータ範囲を選択してください。
  2. データタブに移動し、重複の削除データツールグループ内でクリックします。
    TabsデータツールPowerPoint グループで [[PH_2]]重複の削除[[PH_3]] をクリック
  3. 重複を削除ダイアログボックスで、次のようにオプションを設定します。
    1. ① 範囲を選択する際にヘッダーが含まれている場合は、タイトルを含めるをオンにしてください。
    2. ② 重複をマーキングするために使用する列を選択します。
      • すべての列を選択した場合、Excel は完全に同一の行のみを削除します。
      • 1 列またはいくつかの列のみを選択した場合、Excel はその選択範囲内で同じ値を持つ行を重複として扱います。
      この例では、行全体が重複している場合にのみその行を削除するため、すべての列を選択しています。
    3. OKをクリックします。
      Tabs重複の削除PowerPoint ダイアログ ボックス内
  4. Excel がメッセージボックスを表示し、削除された重複する値の数と残った一意の値の数を示します。「OK」をクリックして閉じてください。
    削除された重複値の数と残った一意な値の数を示すメッセージ ボックス

結果:Excel が「範囲を選択してください」から重複行を削除し、重複レコードの最初の出現を保持します。
Excel は選択範囲から重複する行を削除し、各重複レコードの最初の出現を保持します

✅ 利点:この方法は高速で、Excel に標準搭載されており、シンプルな重複削除タスクに簡単に使えます。
❌ 制限事項:Excel は重複行を直接削除しますが、削除前にそれらの行を選択・ハイライト・確認できる便利な機能は提供されていません。

方法2:Kutools で重複行を選択・ハイライトして削除

削除前に重複行を確認したい場合は、Kutools for Excelがより簡単で安全な方法を提供します。重複するセル/一意のセルを選択機能を使えば、まず重複行をすばやく選択し、必要に応じてハイライトして確認したうえで、ワークシートから削除できます。この方法は、最初の出現を残して追加の重複行だけを削除したい場合に特に役立ちます。

Kutools for Excelは300 以上の高度な機能を提供し、複雑な作業を効率化して創造性と生産性を高めます。AI 機能と統合されたKutools は正確にタスクを自動化し、データ管理を簡単に行えるようにします。Kutools for Excel の詳細情報。。。         無料トライアル。。。
  1. 重複行を検索して削除したい範囲を選択します。
  2. クリックします。Kutools > 選択 > 重複するセル/一意のセルを選択
    Tabs重複セルと一意セルの選択PowerPoint
  3. 重複するセル/一意のセルを選択ダイアログボックスで、次の操作を行います。
    1. 各行基準セクションから選択します。
    2. ルール重複する値(最初の一致を除外)を選択します。
      • 重複する値(最初の一致を除外):余分な重複行のみを選択し、1 つのコピーを保持します。
      • 重複する値(最初の一致を含む):各重複グループ内のすべての行が選択されます。これらを削除すると、そのグループ内の重複レコードがすべて一括で削除されます。
    3. ③ (オプション)削除前に選択した重複行をハイライトしたい場合は、背景色を塗りつぶすまたはフォントの色を塗りつぶすをオンにしてください。
    4. OKをクリックします。
      Tabs重複セルと一意セルの選択PowerPoint ダイアログ ボックス内
  4. メッセージボックスが表示され、選択された行数が確認できます。「OK」をクリックしてください。
    選択された行数を知らせるメッセージ ボックスが表示されます
  5. 選択した行のいずれかを右クリックし、「削除」を選択します。

結果:最初の出現を除く重複行が選択・削除され、各重複レコードのコピーがワークシートに1 つずつ残ります。塗りつぶし色やフォント色を適用すると、削除前に重複行がハイライトされ、確認がさらにスムーズになります。
最初の出現を除く重複行が選択され、削除されます

✅ 利点
  • 削除前に重複行を選択するため、結果を事前に確認できます
  • 確認を容易にするため、重複行を塗りつぶし色またはフォント色でハイライトできます
  • 最初の出現を保持し、余分な重複行のみを選択します
  • 個別のセルではなく、重複行全体を選択できます
  • わかりやすいダイアログボックスで、直感的な重複ルールを提供します
  • 重要なデータを扱う際、重複したメールを削除中を直接使用するよりも安全です
  • 数式、ヘルパー列、VBA コードは不要
 
Kutools for Excel
削除前に重複行を選択・ハイライトしてレビューすることで、繰り返しレコードをより安全かつ視覚的にクリーニングできます。

方法3:VBA で重複行を削除

この VBA コードは、範囲を選択してください内のすべての列に基づいて重複行をチェックします。最初の出現を保持し、後の重複行を削除します。

❗重要:VBA はワークシートを直接変更します。コードを実行する前に必ずバックアップを保存してください。
  1. Alt + F11を押して、Microsoft Visual Basic for Applicationsウィンドウを開きます。
  2. クリックします。挿入 > モジュール
  3. VBA コードをコピーし、モジュールウィンドウに貼り付けてください。
     Sub RemoveDuplicateRows_KeepFirst()
    'Updated by Extendoffice 2026/5/22
        Dim rng As Range
        Dim hasHeaders As VbMsgBoxResult
        Dim firstDataRow As Long
        Dim r As Long, c As Long
        Dim key As String
        Dim seen As Collection
        Dim rowsToDelete As Range
        Dim cellValue As Variant
        
        On Error Resume Next
        Set rng = Application.InputBox("Select the range to remove duplicate rows:", "Remove Duplicate Rows", Type:=8)
        On Error GoTo 0
        
        If rng Is Nothing Then Exit Sub
        
        hasHeaders = MsgBox("Does the selected range include headers?", vbYesNoCancel + vbQuestion, "Header Option")
        If hasHeaders = vbCancel Then Exit Sub
        
        If hasHeaders = vbYes Then
            firstDataRow = 2
        Else
            firstDataRow = 1
        End If
        
        Set seen = New Collection
        
        Application.ScreenUpdating = False
        
        For r = firstDataRow To rng.Rows.Count
            key = ""
            
            For c = 1 To rng.Columns.Count
                cellValue = rng.Cells(r, c).Value
                
                If IsError(cellValue) Then
                    key = key & "[ERROR]" & CStr(rng.Cells(r, c).Text) & Chr(30)
                Else
                    key = key & CStr(cellValue) & Chr(30)
                End If
            Next c
            
            On Error Resume Next
            seen.Add key, key
            
            If Err.Number <> 0 Then
                If rowsToDelete Is Nothing Then
                    Set rowsToDelete = rng.Rows(r).EntireRow
                Else
                    Set rowsToDelete = Union(rowsToDelete, rng.Rows(r).EntireRow)
                End If
                Err.Clear
            End If
            
            On Error GoTo 0
        Next r
        
        If Not rowsToDelete Is Nothing Then
            rowsToDelete.Delete
            MsgBox "Duplicate rows have been removed.", vbInformation
        Else
            MsgBox "No duplicate rows were found.", vbInformation
        End If
        
        Application.ScreenUpdating = True
    End Sub
    
  4. F5を押すか、VBA エディターの「実行」ボタンをクリックして、コードを実行します。
  5. ポップアップボックスで、重複行を削除したい範囲を選択し、「OK」をクリックしてください。
    範囲を選択
  6. 範囲を選択した際にヘッダーが含まれているかどうか尋ねられた場合は、「はい」または「いいえ」を選択してください。
    TabsはいPowerPoint または [[PH_2]]いいえ[[PH_3]] を選択

結果:選択した範囲内の重複行が削除され、最初の出現が保持されます。
選択範囲内の重複行が削除され、最初の出現が保持されます

✅ 利点:この方法は、補助列や数式を使わずに範囲を選択してください内のすべての列に基づいて重複行を削除します。
❌ 制限事項:VBA は初心者にはやや難解です。また、重複行を直接削除するため、常に事前にデータのバックアップを取っておく必要があります。

どの方法を使うべきか

最適な方法は、標準機能で素早く解決するか、削除前に重複を視覚的に確認できる安全な方法を選ぶか、それともコードベースのアプローチを採用するか、あなたの希望によります。

方法最適な用途最初の出現を保持重複行の最初を選択重複をハイライト可能難易度
Excel 重複を削除重複行をすばやく削除✅ はい❌ いいえ❌ いいえ簡単
Kutools for Excel重複行を選択・ハイライト・確認・安全に削除✅ はい✅ はい✅ はい✅ 非常に簡単
VBAコードによる重複行の削除✅ はい❌ いいえ❌ いいえ上級者向け

素早くデータをクリーンアップするには、Excel の標準機能重複を削除が効果的です。削除前に重複行を選び、ハイライトして確認したい場合は、Kutools for Excelがより安全で視覚的に優れた選択肢です。コードベースのソリューションを好む方には、VBA が役立ちます。


よくあるご質問

Excel で重複する行を削除し、最初の1 行だけを残すにはどうすればよいですか?

Excel の標準重複を削除機能をご利用いただけます。この機能は重複するレコードを削除し、最初に出現した行を保持します。また、Kutools for Excel の「重複する値(最初の一致を除外)」機能を使えば、最初の出現以降の重複行だけを簡単に選択することも可能です。

1 つの列に基づいて重複行を削除するにはどうすればよいですか?

ご使用のデータ範囲を選択し、データ > 重複を削除に進んで、重複検出に使用する列のみをチェックしてください。Excel は、該当の列で同じ値を持つ行を重複と見なし、最初の出現行だけを残します。

重複行を削除せずに見つけるにはどうすればよいですか?

Kutools for Excel の重複するセル/一意のセルを選択機能をご活用ください。この機能を使えば、まず重複行を簡単に選択でき、その後、レビューしたり、ハイライトしたり、コピーまたは削除したりすることが可能です。

重複する値(最初の一致を除外と重複する値(最初の一致を含むの違いは何ですか?))

重複する値(最初の一致を除外)は、最初のレコード以降に繰り返し出現するもののみを選択します。これは、1 つのコピーを残して不要な重複を削除したい場合に最適です。

重複する値(最初の一致を含む)は、各重複グループ内の最初の出現を含むすべての行を選択します。これは、重複グループに属するすべてのレコードを特定したい場合に便利です。

削除前に重複行をハイライトできますか?

はい。Kutools for Excel を使えば、重複する行を簡単に選択し、その場で塗りつぶし色やフォント色を適用できます。これにより、重複レコードを削除する前に内容を確認しやすくなります。

Excel は大文字と小文字を区別して重複する行を削除できますか?

Excel に標準搭載されている重複削除機能は、大文字と小文字を区別した重複検出には対応していません。大文字と小文字を厳密に区別して処理したい場合は、Kutools for Excel の大文字と小文字を区別機能にある重複するセル/一意のセルを選択オプションをご活用ください。


まとめ

Excel データのクリーニングにおいて、重複行の削除は欠かせない重要なステップです。手軽なクリーニングには、Excel 標準搭載の重複を削除機能がおすすめです。より安全に処理したい場合は、Kutools for Excelを使えば、削除前に重複行を確認・レビューできます。繰り返し行うクリーニング作業は、VBA で自動化することも可能です。

大規模なデータセットを頻繁に扱ったり、削除前に慎重に重複を確認したりする必要がある場合は、Kutools の方法が保存時間し、重要なレコードを誤って削除するリスクを軽減できます。