• ベストアンサー

エクセルにて複数のセルの組み合わせの重複を削除するには?

 エクセルの重複セルの削除において、通常、条件が一つの場合は出来るのですが、複数セルの組み合わせの場合、どのようにすればいいでしょうか?  例えば、下記のように項目が並んでいるとします     A     B   C    D  1 メーカー  車種  2 トヨタ  クラウン  3 トヨタ  アルファード  4 トヨタ  カローラ  5 トヨタ  クラウン  6 ホンダ  シビック  8 ホンダ  オデッセイ  9 ホンダ  アコード 10 日産   サニー 11 トヨタ  クラウン 12 日産   スカイライン 13 日産   セドリック 14 ホンダ  シビック  ↓   ↓   このような配列でデーター項目セルが1万ほどあります。  例えば、このうちメーカーがトヨタで車種がクラウン(A2+B2) の組み合わせの重複を見つけ、重複行を削除するにはどのようにすればよいでしょうか? メーカーだけの重複を見つけ、重複行の削除をするには  いつもは=IF(COUNTIF($A$2:A2)>1,NA(),"")のような方法でNA()を返し、ジャンプ→エラー値で一括削除しています。  このような2つの組み合わせの場合、どのような式を立てれば良いでしょうか?教えていただけないでしょうか?

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

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

(1)VBAを使う (2)SortしてVBAを使う 方法がありますが、略 (3)A、B列を結合した文字列をC列に作りそこで関数で重複しないものだけに連番を振る。後はimogasi方式で、別シートなどに抜き出しする。(imogasi方式は、私の過去の回答例に沢山有ります) 「A、B列を結合した文字列をC列に作る」ときに、A列の最高文字数を見繕い、もしそれが10桁とするなら、 =A1&REPT( " ",10-LEN(A1))&B1 のようにするのがお勧めです。 連番は A2:A7が A列  B列(関数式結果) aa 1 bb 2 aa cc 3 bb dd 4 の場合 B2には=IF(COUNTIF($A$2:A2,A2)=1,MAX($B$1:B1)+1,"") と入れてB7まで式を複写します。 この1,2,3,4を頼りにSheet2の第1,2,3,4行にSheet1のデータを持ってきます。 (4)ピボットテーブルも使えるかも コード1 コード2 計数 aa x 1 bb y 2 aa x 3 cc c 4 のようなデータに対し データの個数 / 計数 コード1 コード2 合計 aa x 2 aa 合計 2 bb y 1 bb 合計 1 cc c 1 cc 合計 1 総計 4 のような表が即座にできます。 ピボットの操作の「レイアウト」の指定のところで 「行」にコード1とコード2をドラッグし、「データ」には「データの個数」をドラッグします。

1960ken
質問者

お礼

お礼が遅れてすみませんでした。複雑な条件になると分かりにくいので参考になりました。  自分でやってみて、検証してみます。有難うございました。

その他の回答 (4)

noname#204879
noname#204879
回答No.4

[フィルタオプションの設定]の“重複するレコードは無視する”機能を使うのが簡単かと。 1万行だと時間が掛かりそうだけど、その間は珈琲でも飲んでおけば好い。(^_^)

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.3

◆メーカが違って同じ車種は無いのではないでしょうか! ◆C列を作業列にして C2=COUNTIF($B$2:B2,B2) ◆フィルタで、C列の「1」を抽出してください

回答No.2

すご~く、どんくさい方法ですが、恥を忍んで紹介します。 ・A列=メーカー、B列=車種、とします。 ・「A列~●列(データが入っている最後の列)」を対象に「データ」「並び替え」にて「優先されるキー」を「列:A・昇順」「列:B・昇順」「ほか・なし」とし、ソートします。 ・「●の次の列」の、例えば2行目に「=IF(AND(A2=A1,B2=B1),"*","")」を入力し、全行にコピーします。すると重複している行には"*"が表示されます(重複が始まる最初の行には"*"が表示されません)。 ・「●の次の列」で、「コピー」「形式を選択して貼り付け」で「値」をチェックし貼り付けます。これで「=IF(AND(A2=A1,B2=B1),"*","")」は全て"*"かブランクになります。 ・「A列~●の次の列」で「データ」「並び替え」にて「優先されるキー」を「列:●の次・降順」とし、ソートします。 ・1行目からず~と「●の次の列」に"*"が入った行が続きます。 ・"*"が入った行を全て削除します。 ・これでA列・B列が重複した行はなくなります。 超どんくさい方法で恐縮ですが、もしお気に召せば、お試し下さい。

  • onntao
  • ベストアンサー率32% (108/332)
回答No.1

A列データとB列データを結合した作業列を使って 検索すればよろしいかと    C            D =CONCATENATE(A2,B2)   =IF(COUNTIF($C$2:C2,C2)>1,NA(),"") 1万行までコピー

関連するQ&A

  • エクセルで重複するセルを削除したい

    エクセル2000で同じ内容のセルが複数あったとき、ひとつだけを残し他を削除する方法を教えてください。 ただし少し条件があります。 データーは5列100行位からなっています。 A列にある重複したデーターのセルを削除したいのですが、A列は同一なのですがB列は異なっています。B列に数字が入っているセルとうでないセルがあるのですが、数字が入っているものを残したいのです。 具体例は次のとおりです。 A列に 「ホンダCIVIC」 B列 「-」と書かれた行と A列に 「ホンダCIVIC」 B列 「2」と書かれた行、 A列に 「ホンダCIVIC」 B列 「5」と書かれた行、 のA列だけを見ると重複した3行が有ったとします。 B列に「5」または「2」の入った行ひとつだけ残し、他を削除したいのです。 何かよい方法があればお教えください。よろしくお願いします。

  • エクセルでの重複セルの削除

    こんにちは いつもお世話になっています。 エクセル2003を使っています。 A列に文字列があり、条件付書式で重複データのセルに背景色を付けています。 A列は、ふりがなで昇順でソートしてあります。 条件付書式は数式に =COUNTIF(A:A,A1)>1としています。 B列にはA列の特定セルの行にだけ数字データがあります  A列の特定セルとはA列の重複セルの下側のセルです。 重複データは常に2つだけ出てきます。ソートしてあるのでB列にデータの無いセルが上側に配置されているのだと思います。 例えば、 A    B 事項 該当箇所 (見出しです) 愛知  秋田 秋田 12.23.34. 石川 愛媛 愛媛 5.68.78. (A列の秋田、愛媛のセルの背景色が条件付書式で黄色くなっています) という具合です。 ここで質問ですが、 重複セルの上側のセルだけを削除する方法を教えてください。上の例ではB列にデータの無い秋田、愛媛です。 フィルタオプションで「重複セルを無視する」にチェックをいれても重複セルの下側のセルが無視されてしまいます。また、検索で色つきセルだけを表示しようとしても条件付書式ではできないようです。 わかりにくい説明ですみません。よろしくお願いします。

  • Excel(エクセル)で重複されたセルを削除し、またそのセルの行ごと削除するには?

    こんにちは。 添付された画像のように、A列には出身地がかかれてますが、 神奈川、群馬、ロシアについてはいくつもあります。 この時、神奈川、群馬、ロシアの行を重複しないよう1つの行にするため他の重複している行を削除し、 また削除する際、重複している行を比較し、年齢の高い方を消す方法はありますか? つまり画像のAから画像のBのようにしたいのですが、 何かスマートなやり方を教えて頂きたいです。 またこのデータは例ですので短い行ですが、実際は10000行以上にも続いている為、 できましたらそれを考慮した方法がございましたら、ありがたいです。 また当方Excel2003を主に使用し、Excel2007も持っています。 よろしくお願いいたします。

  • エクセルでの条件を満たすセル項目にパターン(塗りつぶし)するには?

    エクセルの質問ですが、下記のようにセルに項目があり、別のセル範囲と等しい(同じ)項目にパターン塗りつぶしをしたいのですが、どのように書式または数式を組めばよいでしょうか?    A             B      1 クラウン           シビック 2 ビッツ            スカイライン 3 カローラ           クラウン 4 エスティマ          エルグランド 5 スープラ           セドリック 6 スターレット         サニー 7 アルファード         ムーヴ 8 イスト            ランサー 9 ↓          インプレッサ 10          オデッセイ 11          パジェロ 12          アルファード 13        ステップワゴン 14          イスト                   ↓  このような形で車名が並んでいるとして、A列にトヨタ車があって、B列にトヨタ車を含む他メーカーの車が配列されおり、A列にあるクラウン、アルファード、イストがB列にも順不同で並んでいます。  A列の中の車名と等しい車名がB列にもあって、B列に重複(等しい)車名にパターン塗りつぶしをしたい場合、どのような条件付書式または関数式を組めばよいか分からず、失敗ばかりしています。条件付書式の中にデーターベース関数を組み込むのでしょうか?良い方法があれば教えていただけないでしょうか?

  • エクセルで重複する項目を削除したい

    エクセル2010を使用しています。 A列、B列に項目が入って、いて、重複するものが何度か出てきます。 重複がないような形にしたいです。 約100種類くらいの項目がランダムで並んでおり、その中から重複する項目を見つけひとつだけにしていきたいです。 重複するものは、セルの強調ルールですぐに見つけられるのですが、 ひとつひとつの項目でフィルタをかけて最初に出てくるもの以外を削除しました。 ただこれだと本当に重複したものだけ消せたか不安です。 その項目が何回目に出てきたかをカウントして、最初に出てきたもの以外を消すということはできるのでしょうか? これであれば、作業が終わったときに、カウント1となっている項目の数が減っていなければ間違っていないとなります。 検証できる形でやる方法はありますでしょうか? 教えてください。 よろしくお願いします。

  • エクセル だぶってるセルを削除するには?

    エクセルA1行にメールアドレスが1万件ほど 入っているのですが、そのうち1000件ほどは 同じメールアドレスが重複して存在しています。 どのセルにあるアドレスが何回重複しているかなどは まったくわからないのですが、なんとかだぶり分を 削除する方法はないでしょうか。 初歩的な質問で申しわけありませんが、ご教授いただけると助かります。よろしくお願いします。

  • エクセル セルの複数削除がしたい。

    使用しているオフィスは、WORD2003になります。 例えばセルの 1行目のB列~G列まで 2行目のB列~G列まで のそれぞれのセルに文字が入っているとします。 1行目の文字を一括で消したい場合、 1行目のB列~G列までのセルをマウスで選択して、 バックスペースやデリートキー(以下:削除キー)を押せば、 通常一行目のB列~G列に入っている文字は、通常全て削除されると思います。 所が、設定を変更した覚えはないのですが、 セルをB列~G列まで選択して削除キーを押した時、 選択されている状態のまま、文字は削除されず、B列のみが直接入力?する形になってしまいます。 多分、オプション設定等で調整する事が出来るものだと思っているのですが、それらしき項目がなくて解らない状態です。 ※行ごと削除したり他にもやり方はあると思いますが、セルを複数選択して、その選択したセルに入力してある文字を、削除したいのです。 上手く伝わっているでしょうか・・・ ご存じの方がいれば教えて頂けないでしょうか。 よろしくお願いします。

  • エクセルで重複していないデータを削除したい

    A列 あいうえお あいうえお あいうえお かきくけこ かきくけこ さしすせそ たちつてと たちつてと なにぬねの ↓↓↓ 重複していないデータをスマートに削除したい あいうえお あいうえお あいうえお かきくけこ かきくけこ たちつてと たちつてと 上記のように重複しているデータと重複していないデータがあり、 あいうえお順に並んでいるデータがあります。 このデータの重複していないデータだけをスマートに削除できるやり方が分かりません。 スマートな削除方法を教えてください。 列項目はかなり有り、行も4000件以上あるデータです。

  • セル内の重複英単語を削除したいです。

    セル内の重複英単語を削除したいです。 A列にある3000行くらいをB列に重複削除でお願いいたします。 削除作業時は以下のような条件でお願いいたします。 単語と単語の間は、半角スペースか全角スペース(重複削除時に半角スペースに統一で構いません)。 大文字と小文字の区別なしで削除(apple Apple APPLEはすべて重複とする)。 1つのセルで重複はほとんど1つ(同じ英単語が2つ)なので、1つの重複削除作業でも可。 重複削除する場合、最初の英単語を残し後の英単語を削除。 例 apple orange Apple ↓ apple orange 以上です。 Windows7 エクセル2010。

  • エクセル セルの組み合わせ

    エクセル表の中で目的の数値になるセルの組み合わせを探したいです A列  B列に a  210 b  80 c  403 d  196 e  221 f  307 g  325 h  233 i  237 j  307 k  487 L  267 のようにあります。 これを組み合わせて980に近い組み合わせをいくつかさがしたいのですが、 どうしたらできるでしょうか。重複はできないのです。 ソルバーで挑戦しようと思いましたが、使い方がわかりません。 だれか教えてください。おねがいします。

専門家に質問してみよう