- ベストアンサー
excel 重複のデータだけコピーアンドペーストしたい
エクセルにID、氏名、住所、Emailなどの項目があるデータがあります。 その中には氏名が重複しているものがあるので、重複しているデータだけを別のシートにコピーアンドペーストをしたいのですが、うまくいきません。 重複分は削除せず、重複しているデータすべてをコピーアンドペーストをしたいと考えています。 よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#1です。では次の方法はどうですか? (1)氏名をキーにして昇順で並び替える (2)空いてる列(仮にX列)にif関数で「すぐ上のセルと同じ名前ならなら●違うなら1」のように入力。例IF(B2=B1、●、1) (3)全行にコピー →●表示が重複データとなっているはず (4)X列全てをコピー隣の列Yに値のみ貼り付ける (5)全データをY列をキーに昇順に並び替え (6)●表示が纏まって表示されるのでコピペ 以上 如何ですか?(4)はXをキーに並び替えると数式まで並び替えになるので必要となります
その他の回答 (4)
- grace2973
- ベストアンサー率66% (16/24)
重複を調べたい列を B列 として 未使用の列(ここではE列とします)の1行目 (E1セル)に =COUNTIF(B:B,B1) と入力し、全行にコピーします。 すると、重複している行は、2以上の数値が表示されます。 次に、オートフィルタをかけて E列のフィルタ「オプション」で 「1 と 等しくない」 を条件にフィルタします。 すると、重複した行だけが残りますので 全体をコピーペーストできると思います。
同じ質問が有りましたので先ほど答えさして頂きました。でもどういう訳か掲載されていませんので改めてお答え致します。 Excelで氏名が重複しているので……というものでしたが、氏名欄を並べ替えると同じ氏名が塊って表示されます。その分を取り出せるでしょう。
- imogasi
- ベストアンサー率27% (4737/17069)
簡単な例にして説明します。 (例データ)Sheet1のA1:A10 (A列) (B列)(C列) 氏名 住所 a x b y c z d f c z 1 a x 2 c z 3 a x 4 b y 5 (関数式)ワーク的に列を使います。どこの列でも良いが C列にします。本番では表の右端外などの目立たない列にします。 C2に=IF(COUNTIF($A$2:A2,A2)=1,"",MAX($A$1:A1)+1) C2の式をC10まで複写します。 結果は上記のC列の通り。これで重複分の通し番号が振られる。 (コピー的データ移し) Sheet1でも良いが、Sheet2に移します。 Sheet2のA2に関数式=OFFSET(Sheet1!$A$2,MATCH(ROW()-1,Sheet1!$C$1:$C$10,0)-2,0) をいれ、C6まで(6はSheet1のC列のMAXの5に+1)式を複写します。 B2には=OFFSET(Sheet1!$A$2,MATCH(ROW()-1,Sheet1!$C$1:$C$10,0)-2,1)をいれ、B6まで複写します。 項目が増えたときは、最後の引数を0->1->2->3・・と増やすだけです。 自分の場合に応じて式の番地を修正することは出きる都思います。
補足
重複分の通し番号が振られず、重複分が1になってしまいました。自分のやり方が悪かった為だと思います。 また、OFFSET関数の部分が理解できませんでした。 せっかく、教えていただいたのに申し訳ないです。
- pinkwithe
- ベストアンサー率17% (5/28)
ピボットテーブルを使ってはどうですか? 列にID、氏名、住所、Emailなどの項目を、データ欄にIDかなにかを入れます。データ欄で降順をクリックし2以上(=重複は2以上なので)をコピー、貼り付け時は値だけすればよいですよ。
補足
ピボットテーブルの仕組みを理解していなく うまく処理できませんでしたが 今後、勉強をしてできるようにしたいと思います。 ありがとうございました。
補足
データが1000件以上あるので、重複分を何度もコピーアンドペーストが大変なので別の方法を探している所なんです。