• ベストアンサー

エクセル表での列単位の重複チェックについて教えてください。

エクセル表の複数列の重複チェックのやり方を教えてください。 内容は一列につきデータが3000件ほどあるのですが 列はとびとびで3~4列ほどあります。 その列に入力したデータの重複チェックです。 いくつかのサイトをみてみたんですが なにぶん初心者なのでお願いいたします。 勝手かもしれませんが関数を記載していただければ幸いです。 行き詰まっている状態なんですがご教授お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

=COUNTIF(列1,対象セル)+COUNTIF(列2,対象セル)+COUNTIF(列3,対象セル) とCOUNTIFを繰り返して結果が1なら重複なしになりますが... =IF(COUNTIF(列1,対象セル)+COUNTIF(列2,対象セル)+COUNTIF(列3,対象セル)=1,"OK","重複") とかにするとか 「書式」「条件付き書式」にて 「数式が」「COUNTIF(列1,対象セル)+COUNTIF(列2,対象セル)+COUNTIF(列3,対象セル)>1」 で塗りつぶしの色を設定して確認するとか...

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

3列のデータが同じ場合を「重複」とする。(4列の場合は同様なので応用のこと)。2列一致は別データとする。 <準備> (1) 空き列を探す。そこへ行ごとに連番を振る  そのために関数は =row()と入れて下方向に式を複写する。 自分自身に自分の値を複写して、式を消す (2)元のデータをコピーする。すなわちデータのあるシートのコピーをとる。基データは残しておく。 <ソート> コピーをとった方(副)のデータで、3列について 大分類>中分類>小分類になるよう、3列をキーとして、大分類に当たる列を第1キー、中分類に当たる列を第2キー、小分類に当たる列を第3キーにして、全レコードを並べ替える。前列全行範囲指定をしてソートすること。 (4列あるときは最初に第4キーで並べておき、あと上記を行う) <重複検出> 下記をVBEのThisWorkbookの標準モジュールに貼り付けてF5キーを押すと実行されて、Sheet2にッ重複リストが出る。 Sub test02() d = Range("A65536").End(xlUp).Row j = 1 '--- For i = 2 To d If Cells(i, "A") = Cells(i - 1, "A") And Cells(i, "C") = Cells(i - 1, "C") And _ Cells(i, "D") = Cells(i - 1, "D") Then For K = 1 To 7 Worksheets("Sheet2").Cells(j, K) = Cells(i - 1, K) Next K For K = 1 To 7 Worksheets("Sheet2").Cells(j + 1, K) = Cells(i, K) Next K j = j + 2 End If Next i End Sub Ifのところに"A","C","D"がありますが  A,C、D 列について重複を考えています。別の場合は変え方は判りますね。 K = 1 To 7の7は基データが連番を含めてG列までとしています。 J列まであれば10です。 重複リストはSheet2に出しています。別のシートに出すときはシート名を別のものに変えること。 4列の場合はAnd _ Cells(i, "G") = Cells(i - 1, "G") などをDの後に追加 ーー 重複リスト(上記ではSheet2)は、3つ以上重複しているときは(手抜きで)重複して出ますが、簡単のためのそうしています。 重複リストの例 イメージ aaa ccc dddd 1 aaa ccc dddd 6 aaa ccc dddd 6 aaa ccc dddd 10 ad pd sd 2 ad pd sd 5 ad pd sd 5 ad pd sd 8 ーーー これではデータ内容に不統一があるとチェックにもれます。 何のことか判りますね。あと元データを見直してください。

  • ensan8
  • ベストアンサー率45% (45/100)
回答No.2

質問への質問ですが、複数の列を仮にA列、C列、E列とします。重複はA列の中での重複をチェックするのですか?それともA列、C列、E列のどこにでも同じデータがあれば重複とするのですか? 列の中だけでの重複チェックならその列の隣にチェック用の列を作り、countif文でチェック用の列のセルの隣のデータセルと同じデータの個数を列全体で数えて、個数が2以上の場合にエラーメッセージを出せば良いのです。 複数のとびとびの列のデータ間の重複チェックとなるとそのままではcountif文で指定できないので、別に連続した列(例えばG列、H列、I列)に元の列のコピーを作っておいて(単純に=文で良いです)そこでcountif文でデータの個数を数えれば良いでしょう。

関連するQ&A

  • エクセルで重複のチェックをしたい

    初心者なので、拙い内容ですが教えてください。 ・エクセル2003 二つのシートにそれぞれA列に企業名、B列に支店名、 C列に郵便番号、D列に住所が入力されています。 二つのシートはほぼ同じ内容で、シート1は3000件の全データ、 シート2は抽出された1300件のデータが入力されています。 やりたいことは3000件のうちの1300件の重複データを シート1の全データの空白列に「重複」や  重複データには行に色をつけて表示させる、などとにかく 重複をわかりやすく表示させたいのです。 過去ログみましたが、いまいち理解できませんでしたので わかりやすく教示してくださると助かります! ちなみに二つのデータをひとつにし、フィルタオプションの 「重複するレコードは・・」は検討違いだったようでうまくいきませんでした・・ ひとつの列に対する重複チェックは理解できたのですが.. 支店によって住所が違ってくるので、たちどまってしまいました。

  • エクセルで重複チェック

    始めまして。エクセルでデータの重複を確認するのにはどんな手法があるかを考えています。アクセスとかだとできそうですが、エクセルでも何か関数を組み合わせてできるものなのでしょうか?データ件数は1500~2000件くらいで、1データはカタカナ、1列なんですけど・・。宜しくお願いします。

  • 重複チェックである値はチェックしない方法

    エクセルの重複データを以下関数でチェックしています。 =IF(COUNTIF(A:A,A2)>1,”重複”,””) 例えばA列に○が複数入力されていた場合、○も重複としてみなされます。 これをカウントしないためには、どうすればいいかわかりますか? 複数条件で○を省くことができれば可能ですか?

  • Excelで隣り合う列にあるデータの重複チェック

    Excelで同一のシート上の隣り合う列に入力されたデータの重複チェックをする方法が知りたいです。 例:A1とB1にそれぞれデータ(長文もあり)が入っていて、それぞれのデータが重複していればC1に「重複あり」などと表示させるための数式が知りたいです。 いろいろとやってみたのですが、どうもうまく行きません。 よろしくお願い致します。

  • Excelの難しい重複チェックについて悩んでいます

    Excelの難しい重複チェックについて悩んでいます。 ★本文     列A     列B     列C     行1  愛      青      パンチ 行2  愛      勇気     友達    行3  勇気     愛      友達   行4  勇気     弁護士    正義    行5  勇気     愛            行6  アイ     ユウキ    トモ    行7  ユウキ    トモ     アイ     ExcelのA列~C列に上記のようにキーワードが記載されているとします。 記載されているキーワードは同一で並び順のみ違うものは重複として記載する関数を教えていただきたいです。 更に、並び順だけが違う行の2つ目以降の行にのみ「重複」と記載させたいです。 (例)     列A     列B     列C    列D 行1  愛      青      パンチ   行2  愛      勇気     友達    行3  勇気     愛      友達   重複 行4  勇気     弁護士    正義    行5  勇気     愛            行6  アイ     ユウキ    トモ    行7  ユウキ    トモ     アイ   重複 行2と行3は順番が異なるだけですべて同じキーワードが掲載されています。 この時、行3のみに「重複」と記載させたいです。 また、 行6と行7は順番が異なるだけですべて同じキーワードが掲載されています。 この時、行7のみに「重複」と記載させたいです。 この様に表全体のキーワードで重複しているキーワードがあるかないのかチェックしたいです。 様々な関数を調べて組み合わせをしてみましたが、 どうしても出来ませんでした。 ものすごく困っているので、お力になっていただけないでしょうか? 宜しくお願いいたします。

  • 【エクセル】データの重複チェック

    次のようなデータが入力されているとします。 A列/B列/C列/D列/E列/F列 1行:都道府県/市区町村/data1/check1/data2/check2 2行:東京/新宿/1/""/1/"" 3行:東京/新宿/2/""/2/"重複" 4行:東京/新宿/3/""/3/"" 5行:東京/渋谷/1/重複/4/"" 6行:東京/渋谷/2/""/5/"" 7行:東京/渋谷/3/""/6/"" 8行:東京/渋谷/4/""/2/"重複" 9行:東京/渋谷/1/重複/7/"" ここで、check1は、 「都道府県」のグループでdata1に重複があれば、「重複」表示をさせます。 また、check2は、 「市区町村」のグループでdata2に重複があれば、「重複」表示をさせます。 例えば、 セルD2=IF(COUNTIF($C$2:$C$4,$C$2:$C$4)>1,"重複","") セルF2=IF(COUNTIF($E$2:$E$9,$E$2:$E$9)>1,"重複","") というように関数を入力して、2行目以下にコピペすればいいのですが、 実際は1万行以上のデータがあり、「都道府県」「市区町村」も多くのグループがあるため いちいち範囲を指定するのも大変です。 そこで、上記関数のように手動で範囲を指定しなくても、 自動で範囲指定をして重複チェックができる良い方法があれば教えてください。 できれば関数がいいのですが、VBAでも構いません。 ご教授のほど、よろしくお願いします。

  • エクセル(セルの値の重複チェック)

    エクセルに入った沢山の氏名に重複がないか調べる方法を教えてください。 現在試した方法は、氏名の列を元に並べ替えを行い、目で見て重複をチェックするものでした。 しかしその場合、「芳賀」を「ハガ」と入力した人と「ヨシ・ガ」と入力した人がいると、一見同じに見えるデータでも並べ替えではそれらは離れた場所に行ってしまい、十分な目視のチェックができませんでした。 元のデータにはフリガナがなかったのでフリガナのデータ追加やフリガナでの並べ替えが出来ません。 これらを、漢字の入力の仕方にとらわれずに並べる方法、もしくは関数などで同じ列の中に重複した氏名がないかをチェックする良い方法があれば教えてください。

  • エクセルの「入力規則」を用いての重複チェックについて

    エクセルの「入力規則」を用いての重複チェックについて エクセルの「入力規則」でcountif関数を使い、重複チェックをしながら 入力をおこなっております。 重複の時メッセージがでるのですが、これに加えてどこと同じなのか その行をセレクトした状態など、該当するデータが分かるようにすることは 可能でしょうか? 何か方法がございましたら、ご助力をお願いいたします。

  • Excel 2007 重複データのチェックについて

    Excel 2007 重複データのチェックについて A列にあるデータ(約100件)で重複している値がある 行についてB列にフラグをつけます。 やりたいことはどの行とどの行が重複しているのかを すぐに分るようにしたいです。 添付画像のように重複している行に番号をつけていくことは可能でしょうか。 番号は1から順番に増えていきます。 自分は下記を考えましたが、これでは重複している行に「重複データ」と入る だけでわかりづらいです。 =IF(COUNTIF($A$2:A2,A2)>1,”重複データ”,”○”) よろしくお願いいたします。

  • Excel2列の重複チェック(左右逆も)

    1 A B 2 C D 3 E F 4 G H 5 D H 6 B A 7 A B 8 Z N 9 A C ExcelのA列B列に上記のようにアルファベットが記載されているとします。 このときに列ごとに重複が無いかをチェックする関数をご教授頂きたく思います。 単純な重複だけではなく、 ABもBAも同じとして認識するような関数を希望しております。 データの結果として 1 A B 2 C D 3 E F 4 G H 5 D H 6 B A 重複 7 A B 重複 8 Z N 9 A C このように記載されるか 1 A B 2 C D 3 E F 4 G H 5 D H 6 7 8 Z N 9 A C このようにデータが消えるかのどちらかのデータがでる形だと助かります。 関数で実現できるのかどうか色々調べましたがまったくわからず、こちらの 方々に助けていただければ幸いです。

専門家に質問してみよう