当サイトの記事にはプロモーションが含まれています。

Excel VBAで順番に比較して違うときだけ書き出す方法(重複削除付き)

パソコンパソコン・スマホ教室
スポンサーリンク

こんにちは!今回は、Excel VBAを使って「順番に比較して、違うときだけ書き出す方法」について、初心者の方にもわかりやすく解説します。特に、重複データの削除に関する内容を中心にお話ししますので、ぜひ最後までご覧ください。

スポンサーリンク

順番に比較して違うときだけ書き出すとは?

Excelのイメージ

Excelのイメージ

まず、順番に比較して違うときだけ書き出すとは、例えば以下のようなデータがあるときに、

列A 列B
りんご りんご
ばなな みかん
みかん みかん

このような場合に、列Aと列Bを順番に比較し、「違う」と判断したときだけ、その行を新しい場所に書き出すという処理を行います。

なぜこの処理が必要なのか?

実務では、2つのリストを比較して、異なるデータを抽出したい場面がよくあります。例えば、商品リストと在庫リストを比較して、在庫がない商品を抽出するなどです。このような作業を手作業で行うと、時間がかかり、ミスも発生しやすくなります。そこで、VBAを使って自動化することで、効率的に作業を進めることができます。

VBAでの実装方法

では、実際にVBAを使って順番に比較して違うときだけ書き出す方法を見ていきましょう。

  1. まず、Excelを開き、VBAエディタを起動します。
  2. 新しいモジュールを挿入し、以下のコードを入力します。
Sub CompareAndExtract()
Dim ws As Worksheet
Dim lastRowA As Long, lastRowB As Long
Dim i As Long, j As Long
Dim outputRow As Long
Set ws = ThisWorkbook.Sheets("Sheet1")
lastRowA = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
lastRowB = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row
outputRow = 1
For i = 1 To lastRowA
For j = 1 To lastRowB
If ws.Cells(i, "A").Value <> ws.Cells(j, "B").Value Then
ws.Cells(outputRow, "C").Value = ws.Cells(i, "A").Value
outputRow = outputRow + 1
End If
Next j
Next i
End Sub

このコードでは、Sheet1の列Aと列Bを順番に比較し、異なる値があった場合に列Cに書き出しています。

重複データの削除方法

次に、書き出したデータから重複を削除する方法を紹介します。

  1. 先ほどのコードの最後に、以下のコードを追加します。
Sub RemoveDuplicates()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
ws.Range("C1:C" & ws.Cells(ws.Rows.Count, "C").End(xlUp).Row).RemoveDuplicates Columns:=1, Header:=xlNo
End Sub

このコードでは、列Cのデータから重複を削除しています。

実行結果の確認

実行後、Sheet1の列Cには、列Aと列Bを比較して異なるデータが順番に書き出され、重複が削除された状態になります。

よくある質問や疑問

Q1: 列Aと列Bのデータが異なる場合に、どちらを優先して書き出すべきですか?

一般的には、列Aのデータを優先することが多いですが、業務の内容や目的によって異なります。必要に応じて、コードを調整してください。

Q2: 重複データを削除する際に、最初の出現を残す方法はありますか?

はい、RemoveDuplicatesメソッドは最初の出現を残し、それ以降の重複を削除します。

まとめ

今回は、Excel VBAを使って「順番に比較して違うときだけ書き出す方法」と「重複データの削除方法」について解説しました。これらの技術を活用することで、日々の業務を効率化することができます。もし他にも疑問やお悩みがあれば、お気軽にLINEからお声掛けください。

この記事を書いた人
この記事を書いた人

企業の情報システム部門で10年以上、PC・アカウント・社内ネットワーク・Microsoft 365/Google Workspace運用を担当。年間数百件の問い合わせ対応(PC不調、メール送受信、Excel/Word資料、Teams会議、スマホ連携など)を通じて、初心者がつまずくポイントを「再現→原因切り分け→最短解決」の手順に落とし込んできました

現場や身近で実際に起きたトラブルをベースに、手順だけでなく「なぜそうなるか」「失敗しやすい落とし穴」「安全な設定(セキュリティ)」まで含めて解説します。

相談窓口(問い合わせ/LINE等)を設け、記事で解決しないケースも個別にサポートしていますので「パソコンが急に動かなくなった」「スマホの設定がわからない」などの悩みは一人で抱え込まず、お気軽にご相談ください。

【お問い合わせは下記URLから】
https://m32006400n.xsrv.jp/inquiry-form/

【公式LINEは下記URLから】
https://lin.ee/t8TDjcj

uri uriをフォローする
スポンサーリンク
よかったらシェアしてね! /
uri uriをフォローする

コメント

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