とむとむのブログ

エクセルで業務の効率化、自動化に取り組んでいます。残業が少なくなってきたので、家の住み心地もレポートできそうです。

全体表示

[ リスト ]

私の仕事ではエクセルをデータ集計で使うよりは、データベース的な使い方、つまり表として作成してデータを利用することが多いです。ただ、エクセルはAccessのようなデータベースではないので、データの重複がないかということは自分でチェックするしかありません。IPアドレスのような細かいデータであっても、ひとつ間違えば通信できなくなるので正確性が要求されます。IPアドレスでなくても、難しい漢字を使用した地名、人名などでも目視で重複チェックしていたら目がチカチカしてきますよね。

重複チェックする方法ですが、ネットで調べてみると、以下のようなものがあります。
①条件付き書式でカラーリング
②COUNTIF関数を使用
③フィルタオプションを使用

私は、手軽に重複チェックできるツールとしてマクロボタンを作成しました。

下記が今回の対象データです。5個のデータがあり、「BBB」が重複しています。
イメージ 1

まず、データタブ>昇順並べ替え をクリックし、対象データを並べ替えます。
イメージ 2
次に、マクロボタン「重複チェック」をクリックします。
すると、セルをアクティブにしたセルB4〜最下行の8行目までを重複チェックしてくれます。
このマクロは上下の隣り合うセルが同じかどうかチェックするツールです。
なので、マクロ実行前に事前に並べ替えを行う必要があります。

イメージ 3
5個くらいのデータであれば目視で確認できますが、画面におさまりきれない50個以上とかになると
ツールでチェックしたくなりますね。目も疲れますし、自分に自信が持てません。

今回のプラグラムは以下のようになっています。

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

ネットで紹介されていた重複チェックの方法は、ファイルやシートが変わるごとに
新たに関数を埋め込む必要があります。
マクロに仕込んでおけば、どのファイルやシートでも同じ方法で重複チェックでき、
汎用性があると思います。

「業務の効率化・自動化」書庫の記事一覧


.

Yahoo!からのお知らせ

とむとむ
とむとむ
男性 / 非公開
人気度
Yahoo!ブログヘルプ - ブログ人気度について
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

過去の記事一覧

スマートフォンで見る

モバイル版Yahoo!ブログにアクセス!

スマートフォン版Yahoo!ブログにアクセス!

よしもとブログランキング

もっと見る

[PR]お得情報

ふるさと納税サイト『さとふる』
実質2000円で特産品がお手元に
11/30までキャンペーン実施中!
話題の新商品が今だけもらえる!
ジュレームアミノ シュープリーム
プレゼントキャンペーン

その他のキャンペーン


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事