エクセルで重複する項目を削除する方法

このQ&Aのポイント
  • エクセル2010を使用している場合、A列とB列に重複する項目があります。重複をなくすために、項目が何回目に出てきたかをカウントして最初に出てきたもの以外を削除する方法があります。
  • これにより、100種類のランダムな項目の中から重複する項目を見つけ出し、ひとつだけ残すことができます。
  • 作業が終わった後、カウント1となっている項目の数が減っていれば、削除が正しく行われたことを検証することができます。
回答を見る
  • ベストアンサー

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

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

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

  • ベストアンサー
  • chie65535
  • ベストアンサー率43% (8518/19364)
回答No.4

>A列、B列に項目が入って、いて、重複するものが何度か出てきます。 「重複」とは、以下のどれですか? ・A列はA列でのみ重複を見る、B列はB列でのみ重複を見る ・A列とB列を組み合わせた上で重複を見る ・A列もB列も区別しないで、A列B列まとめて重複を見る これをハッキリさせないと、貴方の望む回答は得られません。 ・A列はA列でのみ重複を見る、B列はB列でのみ重複を見る、と言う場合 未使用の列の一番上のセル(添付画像で言えばD1)に =COUNTIF(A$1:A1,A1) と入れて、表の最下行までコピーして下さい。 同様に、異なる未使用の列の一番上のセル(添付画像で言えばE1)に =COUNTIF(B$1:B1,B1) と入れて、表の最下行までコピーして下さい。 すると「重複している2個目以降のデータ」に「2以上の数値」が出て来ます。 あとは、オートフィルタで「2以上になっている行」だけを表示して、一気にまとめて削除すれば終わりです。 ・A列とB列を組み合わせた上で重複を見る、と言う場合 未使用の列の一番上のセル(添付画像で言えばC1)に =A1&"###"&B1 と入れて、表の最下行までコピーして下さい。 同様に、異なる未使用の列の一番上のセル(添付画像で言えばF1)に =COUNTIF(C$1:C1,C1) と入れて、表の最下行までコピーして下さい。 すると「重複している2個目以降のデータ」に「2以上の数値」が出て来ます。 添付画像の例では「A列が14、B列がR」になっている物だけが「重複した組み合わせ」として「2」になっています。 あとは、オートフィルタで「2以上になっている行」だけを表示して、一気にまとめて削除すれば終わりです。 C列で「間にシャープを3つ足してる」のは「A列とB列を単純に連結すると、誤動作するから」です。 「A列とB列を単純に連結してしまう」と A列  B列 あ1  234 あ   1234 の2つが、連結するとどちらも「あ1234」になっちゃって「重複」として判定されちゃいます。 こういう誤動作をしないように、間に「データの中に出て来ない文字」を挟むのです。 「データの中に出て来る文字」を使っちゃうと A列  B列 あ#  1234 あ   #1234 の2つはデータの中にシャープが居るので「###」を挟んで連結するとどちらも「あ####1234」になってしまって「同じデータ」と誤解してしまいます。 ・A列もB列も区別しないで、A列B列まとめて重複を見る、と言う場合 未使用の列の一番上のセルに =COUNTIF(A$1:B1,A1)+COUNTIF(A$1:B1,B1) と入れて、表の最下行までコピーして下さい。 すると「重複している2個目以降のデータ」に「3以上の数値」が出て来ます。 ここで注意して欲しいのは「重複してない場合は、2以上じゃなくて3以上」って事です。今までと違うので注意して下さい。 あとは、オートフィルタで「3以上になっている行」だけを表示して、一気にまとめて削除すれば終わりです。

pianolove55
質問者

お礼

具体的な回答ありがとうございます。

その他の回答 (6)

noname#204879
noname#204879
回答No.7

添付図をヒントに勉強してください。

pianolove55
質問者

お礼

回答ありがとうございます。

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.6

模擬データを提示して重複を手作業で削除した結果も提示しないと具体的な方法を示すのは難しいでしょう。 一般的な考え方はA列とB列の組み合わせが同じ行は重複と判断します。 >その項目が何回目に出てきたかをカウントして、最初に出てきたもの以外を消すということはできるのでしょうか? できます。 例えば貼付画像のようにD1セルへ下記の数式を入力して下へ必要数コピーすれば重複のチェックが簡単です。 =COUNTIFS(A$1:A1,A1,B$1:B1,B1) 貼付画像ではD列に条件付き書式で「指定の値より大きい」を選び、1を指定しました。 Excel 2013で検証しましたがExcel 2007/2010でも同様な結果を得られます。

pianolove55
質問者

お礼

回答ありがとうございます。

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

>その項目が何回目に出てきたかをカウントして、最初に出てきたもの以外を消すということはできるのでしょうか? ■C列にてCOUNTIFS関数を使う方法 C1=COUNTIFS($A$1:$A1,$A1,$B$1:$B1,$B1)>1 上記を下方にコピーすると、A,B列ともに2度目以降に重複した行にはTRUEと表示されます。 後はC列で並べ替えを行うなり、フィルタをかけるなりしてTRUEの行を削除してください。 ■フィルタオプションの設定を使う方法 「重複するレコードは無視する」にチェックして、別の列または別シートへ重複の無いレコードを作成できます。 http://office.microsoft.com/ja-jp/excel-help/HP010342518.aspx

pianolove55
質問者

お礼

回答ありがとうございます。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

>検証できる形でやる方法はありますでしょうか? 例えばA列を検証するとして、空いている列に =COUNTIF(A1:A$1,A1) と一行目に入れて下までコピー オートフィルター 1以上の値で抽出すれば 重複があって2番目以降の行のみが表示されるはず。

pianolove55
質問者

お礼

回答ありがとうございます。

回答No.2

エクセルに重複の削除機能があります。 データ→重複の削除→重複のある列を選びOK ただし、重複があったら行全体が削除されます。不都合があるなら、A列のみ別シートにコピーし重複削除、B列も同様にします。

pianolove55
質問者

お礼

回答ありがとうございます。

  • masaban
  • ベストアンサー率36% (64/177)
回答No.1

エクセルで重複する項目を削除したい をキーワードにして、WEBを検索すると方法はたくさん出てきます。 http://allabout.co.jp/gm/gc/376556/ はプログラムがいらないので初心者向きです。 思った結果にならなければ、アンドウで戻ってやり直せばよいでしょう。元データは別名で保存しておくと安全ですね。  プログラムを作った時、実行した後にはアンドウでも以前のデータを取り戻せません。 プログラム事例はWEBにたくさんあります。でも初心者がすぐにできる技ではありません。プログラムを理解できるようになったらやってみてください。上記の設問内容でプログラムすることは可能ですが、ここで回答するのは無理です。

参考URL:
http://allabout.co.jp/gm/gc/376556/
pianolove55
質問者

お礼

回答ありがとうございます。

関連するQ&A

  • エクセル2016で重複データのみ抽出

    ホームタブ、「条件付き書式」でセルの強調表示ルールの「重複する値」で設定すると、重複する値に色をつけられますね。 この「色のついた」セルを含む行のみを抽出する方法はありますか? 例えば、 1 2 2 3 3 3 4 5 6 6 という列で重複チェックをすると、 2 2 3 3 3 6 6 に色をつけることはエクセルの機能で可能ですが、この行のみ表示で絞り込みたいです。 よろしくお願いします。

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

    こんにちは いつもお世話になっています。 エクセル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で、重複データを一括で削除する方法

    お世話になっております。 Excelで、重複データを一括で削除する方法について 300列ほどあるデータがあります。 (行数は、各列に30行ほどです) 各列には重複するデータがあります。これを削除したく。 なお、各列(隣の列)は、関連性がありません。 よって、複数の列を参照して重複データを削除する必要はなく A列内の重複データ、B列の重複データをそれぞれ削除したいのですが、 フィルタオプションからの重複データを無視する、や、重複データの削除 機能では、1列ずつ実行することで可能ですが、300列以上あるので 現実的ではありません。 そこで、一括で各列の重複データを削除する方法を教えてください。 ※なお、列は300ほどあるため、作業用(countifで重複をピックアップした後、フィルタして 削除など)の方法は、列分つくるのは現実的ではないため、それ以外の方法はないでしょうか。 よろしくお願いします。

  • excel、重複があるかを調べたい

    関数初心者です。質問させて下さい。 excelでsheet1のAセルに文字列を入力しました。 このsheet1内はsortしフィルターをかけたので重複はありません。 1000行程の語句ですが、このsheet1内の語句を別sheetや別のexcelファイルで重複がないかを 調べたいのですが、良い方法が分かりません。 教えていただけますでしょうか。 宜しくお願いします。

  • Excel2010重複しないカウントとフィルタ結果

    Excel2010で、重複しない文字をカウントしつつ、オートフィルターで 抽出をかけた時には表示したデータをカウントする関数を作成したいのですが うまくできません。 作成しているExcelの表には、オートフィルターが設定されています。 A列には複数名の人の名前が入っていて、名前には重複もあります。 オートフィルターでの抽出条件が指定されていない状態で A列の重複しない人数を下記数式で出しています。  =SUMPRODUCT(1/COUNTIF(A1:A100,A1:A100)) オートフィルターで、例えばA列で3人の名前を抽出した場合に、 上記数式が入っているセルに「3」と表示をさせたいのですが できますでしょうか? できれば作業列を使用することなく、ダイレクトに該当セルに算出できる方法が あれば知りたいです。 お分かりの方いらっしゃいましたらご教示頂けると助かります。 どうぞよろしくお願いいたします。

  • エクセルで対象のものを重複しているのもを省いて1つだけ取り出す方法

    エクセルの表で次のようなことをしたいのですが どのようにしたらいいのか教えて下さい。 Aの列に大きな項目、Bの列に小さな項目があるとします。 大きな項目の1種類を選んでそれに該当するB列のものを抜き出したいのですが 重複しているものは1つだけを取り出したいのです。 例えば   A      B  野菜     にんじん くだもの    バナナ くだもの    りんご  野菜     じゃがいも くだもの    バナナ と、いう表があったとして Aで「くだもの」となっている行のB列に書かれているものをC列に抜き出すとします。 その際、重複しているものは、いくつも抜き出さず1つだけ抜き出したいんです。 つまり   C  バナナ  りんご とする方法です。 重複がない時は オートフィルタでA列でくだものを選びBをコピーし貼り付けを行っていたのですが 重複がある時はそれだけではとても面倒ですし しょっちゅうすることなので、重複がなかったとしてももっと作業を簡素化したいと思っているのですが 簡単に行う方法はありますか? 知っている方がいらっしゃいましたらぜひ教えて下さい。

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

    以下のようなエクセル表があったとします。       【列A】  【列B】 【行1】   1     A社   【行2】   2     B社 【行3】   3     B社  【行4】   4     C社 【行5】   5     C社 【行6】   6     C社 この表の下のほうに、【列B】の社名を重複を削除した形で一覧表示させたいのです。この例の場合ですと、              A社              B社              C社 と表示させたいのですが。。。 フィルタ機能を使って重複を削除すれば同じようなことができるのですが、今後の更新作業を楽にするため関数でやりたいのですが、可能でしょうか。 教えてください。

  • エクセルで複数列に共通した項目の抽出方法

    エクセルで複数列で重複したセルを抽出する方法がわかりません。 具体的には、ABC各列にランダムな6桁の数字がそれぞれ500行づつあり、AとB列で重複(同じ)数字があれば、D列に列挙(重複した個数ではなく、たとえば310257などと重複していた数字)し、またABCの3列ともに重複している数字をE列に列挙するなど、複数列で重複したセルを抽出するにはどういう方法があるんでしょうか?

  • 重複した項目のカウント(条件がもう一つあります)

    A   あ B   あ A   い B   う C   あ B   い B   あ C   あ A   い ↑のようなセルがあったとします。 これを、左側の項目ごとに、重複を無視して右側の項目の数を数えたいです。 例えば、 Aについては"あ"と"い"の2つだから2、 Bについては"あ"と"い"と"う"で3、 Cについては"あ"だけなので1 という具合です。 補助列を使ったりマクロで数えたりすればできるのですが、 関数のみを使ったやり方はないでしょうか。 ※ある範囲内で重複を無視してカウントするだけなら  =SUMPRODUCT(1/SUBSTITUTE(COUNTIF(範囲,範囲),0,0))  でできました。    これを使って、Aについて、Bについて、Cについての条件も  加えようとしましたが、  やり方がわかりません。

  • エクセル教えてください 重複データの削除方法

    エクセルは良く使っていますが、レベルは初級の上です。 同一セル内に複数の重複データが入っていますが、重複しないものを抽出し 新しいセルに入れたいと思っています。 重複データの区切りは、セミコロン";" パイプ区切り"|",空白、改行が混在しています。 重複しないものを、新しいセルに入れたいのですが、どのようにしたら良いでしょうか? 新しいセルでのデータ区切りは、コンマ(又はパイプ区切り)にしたいと思っています。   例で説明します。 A列(番号) B列(元のデータ)             C列(重複を除いたデータ)  1      タイ ベトナム 中国|タイ|タイ         タイ,ベトナム,中国    2      インド ベトナム|インド タイ |インド 中国  インド,ベトナム,タイ,中国 ※B列のデータを重複を除いて、C列に入れたいと思っています ※2行のデータを例にしましたが、実際には2万くらいデータがあります ※マクロは全くわからないので、多少の手作業があっても関数レベルで やれると助かります。(いまから、マクロを勉強してもよいでしょうか??) 良い方法をアドバイスいただければ助かります。

専門家に質問してみよう