Excel - 2つの列を比較して重複を削除する

大量のデータを含むExcelワークシートでは、時間がかかりすぎるため、数学的または論理的な操作を手動で行うことはできません。 しかし、Excelは、マクロまたはVBAプログラムコードを介してデータを自動的に操作できる効率的なオフィスソフトウェアプログラムです。2つの列を比較し、Excelで重複を削除するには、列を論理的または数学的に比較するマクロを作成できます。重複データを含む行を削除します。 よく書かれたExcelマクロは、タスクを迅速かつ正確に達成することができます。 2つの列を比較し、Excelで重複を削除するのは簡単です。

  • 問題
  • 溶液
  • 注意

問題

2つのセルに基づいて行を比較し、重複しているものを見つけるExcelスプレッドシート用のマクロが必要です。

この例では、最初の2つの列(AとB)が一意でなければなりません。 マクロは、両方の列で完全に一致する行のみにフラグを立てる必要があります。 そのため、この例では、5行目にのみフラグを立てる必要があります。これは上記の行と完全に一致するためです。

例:

 コルAコルBコルCコルD 00001 AAAA1 xxxx yyyy 00001 BBBB 1 xxxx xxxx 00001 BBBB 2 yyyy yyyy 00002 AAAA 1 yyyy xxxx 00002 AAAA 1 yyyy xxxx 00003 AAAA 1 xxxx yyyy 

溶液

この解決策はスプレッドシートのデータを変更するので、必ずバックアップコピーを保存してください。

まず、列AとBのデータをまとめて比較できるようにする必要があります。 これを行うには、データの最初の行の終わりに空のセルを入力します(この例では2行目を使用しています - 必要に応じて変更します)。

 = A2&B2 

スプレッドシート全体に対してこの式をコピーします。

以下のマクロを実行してください。 このサンプルコードでは、上の式をE列に書いたと仮定しています。必要に応じてコードを修正してください。

警告:このマクロは行を削除するので、テストする前にバックアップコピーを作成したことを確認することが重要です。

 サブテキスト()整数としてj、整数としてk、範囲としてr j =範囲( "E2")終了(xlDown)k = jに対して2ステップ-1 MsgBox k r = Range(Cells(k)に設定WorksheetFunction.CountIf(r、Cells(k、 "E"))> 1の場合、Cells(k、 "E")。Cells(k、 "E")、Cells(k、 "E")End(xlUp))。 次の場合は終了を削除 

注意

フォーラムでこのヒントを提供してくれたvenkat1926に感謝します。

前の記事 次の記事

トップのヒント