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

Excel で1 列内の重複をもとに不要な行を削除するには?

著者ケリー変更日

Excel では、重複を削除データタブの機能を使えば、重複する行を簡単に削除できます。しかし、特定の1 列内の重複値に基づいて行全体を削除するのは、それほど直感的ではないかもしれません。本記事では、こうしたケースに役立ついくつかの簡単な方法をご紹介し、データの正確性と簡潔性をしっかり確保できるようにします。特定の列の重複に基づいて行を削除するスキルは、レポートや分析のためのデータ準備時や、特定の基準に従って一意のレコードだけを残したいときに非常に重要です。以下で紹介する方法は、Excel の組み込み機能から数式・ VBA の活用法、さらにはKutools for Excelが提供するソリューションまで幅広く網羅しており、ユーザーは自身の状況やワークフローに最も適したアプローチを自由に選べます。それぞれの手法は、タスクの複雑さやデータ量、Excel ツールへの習熟度に応じて独自のメリットをもたらします。


行の削除を1 列内の重複に基づき重複を削除機能で実行

この方法では、Excel の重複を削除機能を使って、指定した列内に重複エントリを含む行全体を簡単に削除できます。これは最も迅速な解決策の一つで、データがすでに整理されており、各重複値のうち最初の1 件以外をすべて削除したい場合に最適です。

  1. 1 列内の重複に基づいて行を削除する範囲を選択し、次にデータ>重複を削除をクリックします。
  2. 重複を削除ダイアログボックスが表示されたら、行全体の削除基準として使用する重複する値を含む列の横にあるチェックボックスのみをオンにして、OKボタンをクリックしてください。注:列の選択を今一度ご確認ください。チェックした列のみが重複の評価対象となります。誤って他の列もチェックしてしまうと、意図した重複をすべて削除できない可能性があります。
  3. その後、ダイアログボックスに検出・削除された重複値の件数が表示されます。OKをクリックしてダイアログボックスを閉じると完了です。このメッセージでは、削除された重複行の件数と残った一意の行数を確認できます。

メリットシンプルなタスクに最適!アドインや数式は不要で、各重複データの最初の出現を自動的に保持します。
デメリット削除対象の行はすべての列ごと削除され、削除前に重複を「確認」する柔軟性がありません。


行の削除(1 列内の重複に基づく)— Kutools for Excel 使用

Kutools for Excel の重複するセル/一意のセルを選択ユーティリティを使えば、列内の重複する値に基づいて行を削除し、一意の値を持つ行だけを残すことができます。さらに、重複する行のうち最初の出現を維持してそれ以外を削除するか、最初の出現を含めすべての重複行を削除するかを柔軟に選択可能。この機能は、Excel の標準機能では物足りない、より細やかな制御を求めるユーザーに最適です。

Kutools for Excelは300 以上の高度な機能を提供し、複雑な作業を効率化して、創造性と生産性を高めます。AI 機能と統合されたKutools は、正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。
  1. 行削除の基準となる重複する値を含む列を選択し、Kutools > 選択 > 重複するセル/一意のセルを選択をクリックします。ヒント:意図しない削除を防ぐには、重複をチェックしたい列だけを選択することをおすすめします。
  2. 開いた重複するセル/一意のセルを選択ダイアログボックスで、重複(最初の1 件を除く)オプションまたはすべての重複(最初の1 件を含む)オプションをルールセクションで必要に応じて選択します。次に、行全体を選択オプションをオンにして、OKボタンをクリックします。

    パラメーターの説明:
    重複(最初の1 件を除く): 最初の出現行は保持され、それ以降の重複行がすべて削除対象として選択されます。
    すべての重複(最初の1 件を含む): 対象列に重複する値を持つすべての行(最初の出現行を含む)が選択されます。

  3. 下図のようなダイアログボックスが表示され、選択された列内の重複する値に基づいて、該当する行数が示されます。OKボタンをクリックして閉じてください。
  4. ホーム>削除>シート行の削除をクリックすると、重複する値を持つ選択された行が削除されます。これにより、指定された列の重複する値に基づいてすべての該当行が削除されました。Excel で [ホーム] > [シートの行を削除] オプションを使用して選択した行を削除するスクリーンショットヒント:ファイルを削除する前に、必ずバックアップを保存することを強くおすすめします。一度削除された行は、その後の大規模な操作やファイルの保存・終了後には元に戻せません。

元のデータ:
重複する行を削除する前の Excel の元のデータセットのスクリーンショット

重複を削除後の結果:

  • 重複(最初の1 件を除く)」オプションを選択した場合:
    Excel で最初の出現を除いて重複を削除した後の結果

  • すべての重複(最初の1 件を含む)」オプションを選択した場合:
    Excel で最初の出現を含むすべての重複を削除した後の結果

メリット:柔軟な選択とプレビューが可能で、すべての重複、または特定の重複のみを削除でき、高い制御性を実現します。
デメリット:インストールが必要です。


VBA コードを使用して列内の重複に基づき行の削除

この方法では、VBA マクロを使用してデータの選択範囲を自動的にループし、列を指定内で重複する値が見つかった場合に行全体を削除します。この解決策は、大規模なデータセットや繰り返しのクリーンアップ作業に特に有効で、手動操作よりも高い自動化を実現します。VBA コードを実行する前に、必ずワークブックのバックアップを取得してください。マクロによる変更は簡単に元に戻せないためです。

  1. 開発 > Visual Basic をクリックして、Microsoft Visual Basic for Applications エディターウィンドウを開きます。「開発」タブが表示されない場合は、ファイル > オプション > リボンのユーザー設定から有効化できます。
  2. VBA エディターで、挿入>標準モジュールをクリックして新しいコードモジュールを作成し、次のコードをモジュールウィンドウに貼り付けます:
Sub DeleteRowsWithDuplicateInColumn()
    Dim rng As Range
    Dim i As Long, j As Long
    Dim lastRow As Long
    Dim colNum As Long
    Dim ws As Worksheet
    Dim dict As Object
    On Error Resume Next
    Set ws = ActiveSheet
    Set rng = Application.InputBox("Select your data range (including column headers)", "KutoolsforExcel", ws.UsedRange.Address, Type:=8)
    If rng Is Nothing Then Exit Sub
    colNum = Application.InputBox("Enter the column number to check for duplicates (e.g.,2 for column B):", "KutoolsforExcel", 1, Type:=1)
    Set dict = CreateObject("Scripting.Dictionary")
    lastRow = rng.Rows.Count
    For i = lastRow To 2 Step -1
        If dict.Exists(rng.Cells(i, colNum).Value) Then
            rng.Rows(i).EntireRow.Delete
        Else
            dict.Add rng.Cells(i, colNum).Value, 1
        End If
    Next i
End Sub

3。コードを入力したら、実行ボタンボタンをクリックしてコードを実行します。プロンプトが表示されたら、ヘッダーを含むデータ範囲を選択し、重複をチェックしたい列の番号を入力してください(例:列 B の場合は)2と入力)。

マクロはデータを下から上へ自動的にループし、指定した列に重複値が見つかった行を削除しますが、各一意な値の最初の出現は保持されます。

注意事項マクロを実行する前に、必ずワークシートのバックアップを取得して、取り返しのつかないデータ損失を防ぎましょう。

Excel の数式とヘルパー列を使用して重複を含む行の削除を特定および行の削除

数式ベースの解決策をご希望の場合は、ヘルパー列を使って重複する値にフラグを付け、その後、手動でフラグ付きの行を削除できます。この方法は、どの行が重複しているかを削除前に視覚的に確認したい場合に最適で、透明性が高い一方、一部の手順は手動での操作が必要です。

1。データテーブルに新しいヘルパー列を追加します(例:列 D)。次に、データの横にある空のセル(例:D2)に次の数式を入力します。

=COUNTIF($A$2:$A2,A2)>1

2。この数式を関連するすべての行にコピーまたはフィルダウンしてください。TRUEの結果は重複を示し、FALSEは最初の出現を示します。

3。ヘルパー列を含むデータ範囲にフィルター機能を適用し、ヘルパー列でTRUEの値を表示します。これらは最初の出現以降の重複行です。

4。フィルターされた行を選択し、ホーム > 削除 > シートの行を削除を使ってテーブルから削除してください。必要に応じて、後でヘルパー列を削除するか非表示にしてください。

5。重複行を削除した後、フィルターをクリックしてフィルターを解除し、非表示のデータを再表示します。

最初の出現を含むすべての重複する値にフラグを付ける:ヘルパー列に次の数式を使用します:

=COUNTIF($A$2:$A$24,A2)>1

下方向にコピーした後、制限された範囲内で2 回以上出現する値を持つレコードは、位置に関係なくすべてTRUEを返します。上記のようにフィルターをかけて削除すると、重複する値を含むすべての行が削除され、一意の項目のみが残ります。

メリット:アドインやマクロ不要で、削除前に視覚的に確認できます。
デメリット:削除には手動操作が必要なため、非常に大規模なデータセットには非効率です。

1 列内の重複に基づき行の削除し、削除された行の値を結合/合計/平均/カウントする

指定した列内の重複する値に基づいて行全体を削除しつつ、その重複データを保持したい場合は、Kutools for Excel の高度な行のマージユーティリティをお試しください。このツールを使えば、選択した列に重複エントリを含む行を効率的に削除しながら、他の列にある削除対象行のデータに対して結合・合計・平均・カウントなどの操作を実行できます。これにより、データセットの整合性と有用性をしっかり維持できます。このアプローチは、重複削除後に関連データを集計する必要があるビジネスプロセス(例:販売記録やトランザクションログの統合)に特に適しています。

Kutools for Excelは300 以上の高度な機能を提供し、複雑な作業を効率化して、創造性と生産性を高めます。AI 機能と統合されたKutools は、正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。
  1. 1 列内の重複に基づいて行を削除する範囲を選択し、Kutools>結合と分割>高度な行のマージをクリックします。
  2. 開いた高度な行のマージダイアログボックスで、例として「Fruit」列の重複する値に基づいて行を削除します。さらに、「Price」列の価格情報を結合し、「Amount」列で各果物の合計金額を集計します。以下の手順に従って処理を実行してください:
    1. ダイアログボックスの列データセクションで、「Fruit」列(重複する値を含み、行の削除基準となる列)を選び、主キー操作ドロップダウンリストから選択します。
    2. 「Price」列を選択して、指定された列の重複に関連付けられたすべての値を結合します。次に、操作ドロップダウンリストから、結合セクション内で区切り文字を選択します。
    3. 「Amount」列の値に対して、指定された列の重複に基づく集計(合計、平均、カウントなど)を適用するには、まずその列を選択します。次に、合計オプションを操作ドロップダウンリストから、集計グループ内で選択してください。
     
  3. OKボタンをクリックすると、指定された列の重複に基づいてすべての行が削除されると同時に、他の列の値が結合または集計されます。

デモ:Excel で1 列内の重複に基づき行の削除

 
Kutools for Excel:300 個を超える便利なツールがすぐそこへ!AI 搭載の機能で、よりスマートでスピーディーな作業をぜひお楽しみください!今すぐダウンロード!

関連記事:

Excel で列内の重複する値をカウントする

Excel で重複行を削除し、最大値のみを保持する

Excel で重複がある場合に行を非表示にする

最高の Office 業務効率化ツール

🤖KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
人気の機能検索・ハイライト、または重複をマーキング     空白行を削除する     データを失うことなく列の結合またはセルを     数式を使用しない四捨五入...
スーパー LOOKUP複数条件 VLookup    複数値 VLookup     複数シート間 VLookup      ファジーマッチ....
高度なドロップダウンリストドロップダウンリストをすばやく作成     連動型ドロップダウンリスト     複数選択可能なドロップダウンリスト....
列マネージャー指定した数の列を追加列の移動非表示列の表示状態を切り替え範囲および列の比較...
注目の機能グリッドフォーカス     デザインビュー   強化された数式バー    ワークブックとシートマネージャー     リソースライブラリ(オートテキスト)  日付ピッカー     ワークシートの統合    暗号化/セルの復号化    リストからメール送信     スーパーフィルター      特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。
トップ15 ツールセット12 テキストツールテキストの追加特定の文字を削除、...)   50+チャートタイプガントチャート、...)   40+実用的関数誕生日に基づいて年齢を計算します、...)   19 挿入ツールQR コードを挿入パスから画像を挿入、...)   12 変換ツール単語に変換する為替レートの変換、...)   7 結合と分割ツール高度な行のマージセルの分割、...)さらに多数
Kutools はお好みの言語でご利用いただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+の他の言語をサポートしています!

Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。


Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします

  • Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
  • 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
  • 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!

すべてのKutools アドインが、たった1 つのインストーラーで完結。

Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得