FC2ブログ

はっしーのデジタルワーク

コンピュータ利用からデジタルに関わる様々なことを書き記します。

〔Excel〕重複データのチェック方法

Posted by はしかわ on   0  0

先日、仕事で嵌ってしまった一意性違反を起こすデータをExcelシート上で事前にチェックする方法です。
IF式とCOUNTIF関数を使います。

例えば、A列の値に重複値がないかをB列に表示させる方法です。
Excelシートの1行目は、見出し行として、10000行目までのデータがある場合ですが、

A2セルの値がA10000セルまでの間に重複するデータがないかを判定します。
B2セルに次の式を入力します。
  = IF(COUNTIF($A$2:$A$10000,A2)>1,"重複","-")
※ この式を、B3セルからB10000セルまでコピーします。
  A2の部分が相対セルになっていますので、コピー先では、n行目では、Anをなります。

まず、COUNTIF($A$2:$A$10000,A2) の意味は、A2のセルの値が、A2セルからA10000セルまでの間にいくつあるかです。重複がなければ結果は、自分自身をカウントした「1」となります。
他のセルに同一の値があれば、「2」以上となります。

ここが「2」となった場合は、IF式で
  IF( 2 > 1,"重複","-") で
  2 > !が「真」であれば、最初のカンマの後の「重複」の文字がA2 セルに表示されます。
  「偽」となれば、「ー」がセルに表示されます。
  IF ( 判定式 , 「真の場合の代入値」 , 「偽の場合の代入値」 ) が、IFの式の処理内容です。

ただし、データの列数やマシンの性能にもよりますが、数万行のデータであれば結果が出るのに数分要する場合もあります。
注意すべき事項は、このようなデータを扱う場合、データと式をセットするまでは、再計算オプションを無効にしておかないと、まるでハングしてしまったような状態になります。
全てのデータと式のセットが終わった段階で、
「数式」リボンメニューから「計算方法」グループの「再計算実行」をクリックします。
この処理も数分要する場合がありますので、Excelのステータスバーに注意してください。
計算経過が、%値で表示されています。これを見逃すと、重複がないと思い込んでしまう場合があります。
(特に、せっかちの方は、要注意です。私もこの部類です。)

もう一つのチェック方法として、「ホーム」リボンメニューの「スタイル」から「条件付き書式」→「セルの強調表示ルール」→「重複する値」と進むと重複しているセルに色を付ける機能がありますが、処理速度は、上記の場合以上の時間を要します。

関連記事

はしかわ

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation.

Leave a reply






管理者にだけ表示を許可する

Trackbacks

trackbackURL:http://yhashii.blog.fc2.com/tb.php/44-edf36b7a
該当の記事は見つかりませんでした。