|
私の仕事ではエクセルをデータ集計で使うよりは、データベース的な使い方、つまり表として作成してデータを利用することが多いです。ただ、エクセルはAccessのようなデータベースではないので、データの重複がないかということは自分でチェックするしかありません。IPアドレスのような細かいデータであっても、ひとつ間違えば通信できなくなるので正確性が要求されます。IPアドレスでなくても、難しい漢字を使用した地名、人名などでも目視で重複チェックしていたら目がチカチカしてきますよね。
重複チェックする方法ですが、ネットで調べてみると、以下のようなものがあります。
①条件付き書式でカラーリング
②COUNTIF関数を使用
③フィルタオプションを使用
私は、手軽に重複チェックできるツールとしてマクロボタンを作成しました。 下記が今回の対象データです。5個のデータがあり、「BBB」が重複しています。
まず、データタブ>昇順並べ替え をクリックし、対象データを並べ替えます。
次に、マクロボタン「重複チェック」をクリックします。
すると、セルをアクティブにしたセルB4〜最下行の8行目までを重複チェックしてくれます。
このマクロは上下の隣り合うセルが同じかどうかチェックするツールです。
なので、マクロ実行前に事前に並べ替えを行う必要があります。
ツールでチェックしたくなりますね。目も疲れますし、自分に自信が持てません。
今回のプラグラムは以下のようになっています。
Sub 重複チェック()
'①アクティブセルの行数と最下行を取得
srow = ActiveCell.Row
erow = ActiveCell.End(xlDown).Row
DCount = 0
'②最下行まで重複チェックを繰り返す
For Row = srow To erow - 1
'③上下のセルが同じ値かチェックする
If Cells(Row, scol) = Cells(Row + 1, scol) Then
'④同じ値だったら"重複"と記載する
Cells(Row, scol + 1) = "重複"
'⑤重複数をカウントする
DCount = DCount + 1
End If Next
MsgBox (DCount & "件差異あり。" & srow & "行〜" & erow & "行まで比較完了")
End Sub ネットで紹介されていた重複チェックの方法は、ファイルやシートが変わるごとに
新たに関数を埋め込む必要があります。
マクロに仕込んでおけば、どのファイルやシートでも同じ方法で重複チェックでき、
汎用性があると思います。
|

- >
- コンピュータとインターネット
- >
- コンピュータ
- >
- ソフトウェア




