エクセルのデータで重複を探す方法

このQ&Aのポイント
  • エクセルの2列に入っているデータの重複を探す方法について説明します。
  • エクセルのバージョンが2003で、A列とB列にそれぞれ2文字の熟語が入っています。他の列に、入れ替わってかぶっているデータを見つける方法をご紹介します。
  • 検索を手作業で行う以外にも、印をつけるなどの方法でも重複を見つけることができます。
回答を見る
  • ベストアンサー

エクセル2列に入っているデータのカブリを探したい

A列2文字、B列2文字の熟語が入っているときに 他の列に、入れ替わってかぶっていることを見つける方法はありますか。 エクセルのバージョンは2003です。 データ例 A  B 算数 国語 松本 佐藤 桑田 竹内 年月 金曜 国語 算数 斉藤 米山 金曜 年月 杉本 長谷 吉岡 西川 ・  ・   ・  ・   ・  ・   ・  ・   というようなデータがたくさんあるときに 1行目の算数 国語と5行目の国語 算数 4行目の年月 金曜と7行目の金曜 年月を 「カブリ」と考えて 見つけたいと思っています ひとつひとつ検索する以外で簡単な方法はありますか。 他の列に印がつくとか、見つかる方法は問いません よろしくお願いいたします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

D1に =A1&B1 E1に =B1&A1 をそれぞれ入れてリストの下端までコピーしておき,現在の並びリストと「入れ替わり」を是正したリストを用意します C1に =IF(COUNTIF(E:E,D1),"×","") または =IF(COUNTIF(E:E,D1),MATCH(D1,E:E,0),"") のように数式を入れると,印が現れます。後者の式は自分の入れ替わりが何行目にあるかを示します。

nekomyumyu
質問者

お礼

ありがとうございます。 お返事に少し時間がかかりすみません。 最初私が行を少し勘違いしていて、思ったような結果がでていませんでしたが もう一度試したところ、うまくいきました。 このような結果を望んでいました! すばらしいです、ありがとうございます。

その他の回答 (4)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.5

NO3です。 「カブリ」についてもう少し補足した方が良いと思う。 仮に2列のデータが入れ替わっている行を抽出という事ならば次の方法は如何でしょうか。 A1:B100範囲とすると、範囲を選択→書式→条件付き書式設定→「数式がを選択」、数式欄に=SUMPRODUCT((CONCATENATE($A$1:$A$100,$B$1:$B$100)=$B1&$A1)*1)→書式→パターンタブで赤を選択→OK 又は、C1に=if(SUMPRODUCT((CONCATENATE($A$1:$A$100,$B$1:$B$100)=$B1&$A1)*1),"カブリ","")として下方向にコピー

nekomyumyu
質問者

お礼

ありがとうございます、できました! 皆さんありがたいのですが、500以上のデータがあったことで さらに便利な「どことカブッているか」のアイディアまでくださった 1さんにBAを、と思います。 1さんが素早くきちんとご回答くださっていたのに 最初に勘違いしたせいでみなさんのお手をわずらわせすみません。 でも「色」や「別の行は使わない」方法がよい場合にはこちらを 使わせていただきたいと思います、ありがとうございました。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

C1セルに次の式を入力し下方にオートフィルドラッグします。 =IF(COUNTA(A1:B1)<>2,"",SUMPRODUCT((A$1:A$100=B1)*(B$1:B$100=A1))) カブリが有れば1が表示されます。

nekomyumyu
質問者

お礼

ありがとうございます、できました! 皆さんありがたいのですが、500以上のデータがあったことで さらに便利な「どことカブッているか」のアイディアまでくださった 1さんにBAを、と思います。 1さんが素早くきちんとご回答くださっていたのに 最初に勘違いしたせいでみなさんのお手をわずらわせすみません。 でも「別の行は使わない」方法がよい場合にはこちらを 使わせていただきたいと思います、ありがとうございました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

かぶっているセルに色付けする方法は如何でしょうか。 (1)A列を選択→書式→条件付き書式設定→「数式がを選択」、数式欄に=COUNTIF(B:B,A1)→書式→パターンタブで赤を選択→OK (2)B列を選択→書式→条件付き書式設定→「数式がを選択」、数式欄に=COUNTIF(A:A,B1)→書式→パターンタブで赤を選択→OK

nekomyumyu
質問者

お礼

ありがとうございます 色が着くのは印と同じぐらい助かりますが 見つける対象としてはひとつ下の方と同じことなので 私の希望とは少し違いました 説明が下手ですみません

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.2

たとえばC列に =COUNTIF(A:A,B1) として必要なだけ下にフィルしておけばB列と同じものがA列にあればその数を表示します また =IF(COUNTIF(A:A,B1)>0,"カブリ","") としておけけばカブリという文字が表示されます。 A列を基準にした場合は =COUNTIF(B:B,A1)

nekomyumyu
質問者

お礼

ご回答ありがとうございます この場合、 算数 国語 国語 算数 の「算数」を見つけることはできますが 算数 国語 理科 算数 の場合も見つけてしまうのではないですか? また 算数 国語 国語 算数 理科 社会 算数 国語 となっていた場合の 最初の 算数 は見つけないのでは? 残念ながら少し違うように思いました

関連するQ&A

  • エクセル2列に入っているデータの重複を無視したい

    エクセルのバージョンは2003です。 A列2文字、B列2文字の熟語が入っているときに 他の列に、入れ替わってかぶっているものを削除し、 取り出す方法はありますか。 2列のデータが入れ替わっている行も、同じ行もカブリと考えます。 データ例 A  B 算数 国語 算数 理科 松本 佐藤 桑田 竹内 年月 金曜 国語 算数 斉藤 米山 金曜 年月 杉本 長谷 吉岡 西川 ・  ・   ・  ・   ・  ・   ・  ・   というようなデータがたくさんあるときに 1行目の算数 国語と3行目の算数 国語 5行目の国語 算数 の場合は1行目の算数 国語のみ残し、 5行目の年月 金曜と8行目の金曜 年月の場合は 5行目の年月 金曜のみ残すということです カブリのない松本 佐藤や桑田 竹内などはそのまま残したいです。 ちなみに、このようなカブリが「どこで起こっているか」については http://okwave.jp/qa/q6697902.htmlにて 教えていただきました D1に=A1&B1 E1に=B1&A1 で「入れ替わり」を是正したリストを用意し、 C1に=IF(COUNTIF(E:E,D1),MATCH(D1,E:E,0),"") を入れることでどこでカブッているかわかる大変便利な式で助かりましたが 次の作業として、 カブッている場合に、カブっているものはひとつだけ残す (フィルタオプションの設定で「重複するレコードは無視する」で 残るようなイメージ)ということがしたいのですが、 そんなことは可能なのでしょうか。 カブリ部分の昇順で削除しようとしてみましたが 後ろのほうにあるとも限らず、断念しました。 さすがにそんな方法はないか…と思っていますが こちらの皆さんの博識に期待して、よろしくお願いいたします。

  • エクセルで規則的に列を入れたいのですが・・・

    宜しくお願いします。 エクセル2003で規則的に列を挿入したいです。 例えば ============================= A   B  C  D 算数  国語 社会 ============================== という列があり、A列とB列、B列とC列の 間に10行くらいずつ列を挿入したいです。 列が100行くらいの中に全て7列ずつ挿入したいので 普通にやると時間がかかってしまいます。 なにかいい方法ないでしょうか? 教えて頂ければと思います。 宜しくお願いします。

  • Excel 二つの表を用いたデータ整理

    かなり困っています。 (1)二つのエクセル表が存在 (2)ファイル1には↓のようにデータが並んでいます    A列  B列  C列  D列    生徒A 生徒B 生徒C 生徒D 行1 国語27 国語34 国語54 算数34 行2 数学36 家庭25 算数23 理科23 行3 理科55 理科44 理科21 英語44 行4 社会87 社会33 社会32 行5 英語54  (3)ファイル2は以下のようになっています    A列  B列  C列  D列  E列        国語  算数  理科  社会 行1 生徒A 27   36   55   87 行2 生徒B  (4)要するに、ファイル1のデータから必要な数値を抽出して ファイル2のデータに移し変えたいのですが、ファイルAの中の名称とデータ数が異なる場合があることもあり、整理はコピペしかないのかと半ばあきらめています。 とはいえデータの数は4000…正直なきたいです…何かいい方法はありませんか?

  • EXCEL・ 2つの列内にある文字データで一致するものを検索する方法

    始めまして 例えば 下記の様にA列内の文字データ(数字ですが実際には文字列) とB列内の文字データが同じものを検索する方法です。 C列に同じデータがあれば○と表示する方法でもいいです。 この場合123は検索対象となるので1行目のC列又は2行目のC列に 印か文字を表示させたいです。    A列 B列 1行 123 111 2行 456 123 3行 789 222 よろしくお願いします。

  • エクセルのデータのラップ

    エクセル2003です。 5万件近くあるデータベースにかなりの数重複したデータが入っており、データ(行)を抹消したいのですが、何かいい方法はないでしょうか? 列は、6列程度で、A列は年月、B列は番号の様な文字列(先頭がゼロで始まる同じ桁数の数字群)、C~Eは文字列、F~Gは年月日です。 並べ替えて、手作業で地道に抹消していくぐらいしか思いつきませんので、いい方法がございましたら、教えて下さい。

  • Excelで、条件により行全体の色を変える 

    Excelで、横に 名前,英語,国語,算数 というデータがあります。名前は文字列、それ以外は数値のデータです。 このとき、英語が60点以上かつ算数が80点以上の人のデータを(つまり1行の4つのセル全体を)色を変える、という処理はどうやったらできますか。方法は問いませんが、なるべく簡単にできるものをお願いします。

  • Excel 2007 1列のデータにしたい

    Excel2007で、A1:C3に下のようなデータが入っています。   A  B  C 1 49  65  12 2 77  23  98 3 35  20  81  このデータを下のように別の列に1列に順に並べたいんです。   E 1 49 2 65 3 12 4 77 5 23 6 98 7 35 8 20 9 81  実際のデータは10列×100行あるので、1行コピー → 貼り付け時に行と列の入れ替え を繰り返すのはかなり大変なので、いい方法がありましたらアドバイスよろしくお願い致します。

  • エクセルのデータ管理

    こんにちは いつもお世話になっています。 以下のようなデータがエクセル(2003)にあります。 1 文字列 2 文字列 3 文字列 4 ========== 5 文字列 6 文字列 7 文字列 8 ========== このように原則的には3行文字列が続いて4行目に二重点線があります。 (どうも、ブラウザーでは二重線になってしまうようですが。) 文字列データは全てA列のみにあり、データ自体は様々です。二重点線は全て同じですので置換対象にして一括置換できます。これが、2千行以上あります。 ここで質問なのですが、まれに、文字列が2行続いた後に二重点線になっていることがあります。その場所(セル)を見つけたいのです。 つまり、 8 ========== 9 文字列 10文字列 11========== となっているセルの場所、例えば、A列の11行セルを赤くするとか、あるいはB列11行目に「発見」と表示させるとか、もっと良い方法があるのかもしれませんが、該当箇所がわかればいいのです。 必要な情報が欠けていたら教えてください。 関連情報でもかまいません。よろしくお願いします。

  • Excelで違う列のデータを合わせたい

    A列に名前、B列にA列に関連した数値データがあります。 このA,B列の行は固定して、D列に別の名前のデータがあり、 このD列にあるデータがA列にある場合(D列の名前がいくつかA列にも同じものがある) A,B列の横C列にチェック(あるいはD列の名前を)表示できないでしょうか? この時A,B列の行は動かしたくありません。 例ーーーーーーーーーーーーーーーーーー A列に名前(相沢、赤井、秋山、井上、岩井、上野、、、)とあります。 D列に(間、秋山、相川、石井、岩井、植木、、、)とあり、 この場合D列の名前がA列にある(ここでは秋山と岩井)時、 A列に秋山と岩井の横に例えばC列にチェックあるいはD列の同じ名前を表示できませんか? データーは数百あります。

  • エクセルで、異なる列のデータを、ひとつの列に、ある一定の規則でまとめる方法、を、教えて下さい。

    質問させて頂きます。 A1      A2      A3      ~      A30      B1 B2 B3 ~ B30 C1 C2 C3 ~ C30 A、B、C列に、異なるデータ(関数)が30行まで入っています。 これらのデータをひとつの列にまとめたいのですが、 A1 B1 C1 A2 B2 C2 A3 B3 C3 ~ A30 B30 C30 上記のように、ABCの1行目、ABCの2行目、といった感じに 並び替える方法をご存知でしょうか? ちなみに、それぞれの列に入っているデータは「CONCATENATE関数」です。 「値」ではなく、あくまでも「関数」のまま並び替えたいと思います。 宜しくお願い致します。

専門家に質問してみよう