- 締切済み
excelで同じものを削除
excelで、 A1からA600まで4桁の数字が並んでいます。 B1からB600まではその数字に対応した企業名が並んでいます。 これら600個の行のうち、いくつかは重複して同じもの(数字&企業名)が複数あるものもあります。 複数あるものを一個ずつにしたいです。やり方を教えてください。お願い致します
- みんなの回答 (7)
- 専門家の回答
みんなの回答
- Nouble
- ベストアンサー率18% (330/1783)
お待たせしました 一覧用にC1:D600(こんなには本当は要らないのだけど… ) を使わせてくださいね ではいきます C1に =IF(LARGE(INDEX((ROW($A$1:$A$600)<>MATCH($A$1:$A$600,$A$1:$A$600,0))+0,),ROW(A1)),HYPERLINK("#Sheet12!A"&SMALL(INDEX((ROW($A$1:$A$600)=MATCH($A$1:$A$600,$A$1:$A$600,0))*65555+ROW($A$1:$A$600),),ROW(A1)),SMALL(INDEX((ROW($A$1:$A$600)=MATCH($A$1:$A$600,$A$1:$A$600,0))*65555+ROW($A$1:$A$600),),ROW(A1))),"") D1に =IF(C1="","",OFFSET($A$1,C1-1,0,1,1)) と入力し、 再度C1:D1を範囲選択してC2:D600にコピーしてください 使い方ですが 構文内でHyper linkを設定しておきましたので C列の重複セルナンバーが表示されているセルをクリックして頂けると 実際に重複しているデータが記載されているセルに飛びます。 で、 そのデータを「デリート」キーで消してください この時セルそのものを削除してしまうと 今関数を設定した重複データ一覧表にエラーがでます まあ新たに式を書き直せば済むことですが 「デリート」キーで削除した方が手間要らないかな? と感じました お気に召せば幸いです
- Nouble
- ベストアンサー率18% (330/1783)
こういった場合最も一般的なのは 左に1列追加して連番を振り ソートを掛けて テータ中の一番右端の列の更に右隣のあいた列に =IF(b1=b2,"重複","") と入れデータ業全体にコピー オートフィルターで "重複"という記載のない行を選りだし それら全体をコピー 他の新のシートに一端ペーストして保管 元データを「Delete」で削除後 先程保管しておいたデータを貼り付け直し 連番でソートし直し 連番をふり直す というのが一般的だと私は考えます 更に、 「重複レコードの2件目以降には印を付ける」 というだけならば =IF(ISERROR(MATCH(A2,$A$1:$A1,0)),"","これは重複しています") 此を最下データ行までコピーすれば十分ですね しかし此ではちょっと興醒めなので 削除対象一覧表を作ることにしました この一覧表に挙がったセルを 全て削除すれば重複は消えますし データの欠落もデリートミスしない限り 起こらないようになっています 続きは後ほど…
- imogasi
- ベストアンサー率27% (4737/17069)
例データ(当初はA列のみ、B列は関数式の結果) A列 B列 A2から a 1 s 2 d 3 f 4 a e 5 r 6 d w 7 B2に=IF(COUNTIF($A$2:A2,A2)=1,MAX($B$1:B1)+1,"") を入れてB10まで式の複写。 初出のものに上行から連番を振っています。 ーーー Sheet2にいって、A2に =INDEX(Sheet1!$A$2:$A$10,MATCH(ROW()-1,Sheet1!$B$2:$B$10,0),1) 式をA8まで複写する。 結果 a s d f e r w Sheet1のB列の連番で、Sheet2の行番号ー1の数を探し、そのg等のデータを採ってきます。 Sheet1が多列ある場合は、=INDEX(Sheet1!$A$2:$A$10,MATCH(ROW()-1,Sheet1!$B$2:$B$10,0),1)の最後の1が2,3,4・・の式を、B.C,D,・・列第2行に作ります。 Wの下に式を複写するとエラーが出ます。その防止法がありますが、 略。 以上はimogasi方式。
A列とB列をカーソルで指定して、 「データ」-「フィルター」-「フィルターオプションの設定」で「選択範囲内」「重複するレコードは無視する」にチェックを入れる。 「リスト範囲」には「A1:B600」とする。 結果を別シートにコピーする。
- maron--5
- ベストアンサー率36% (321/877)
◆関数以外に、フィルタオプションによる方法もあります A B C D E F G 1 番号 企業名 番号 番号 企業名 2 1 A <>"" 1 A 3 2 B 2 B 4 3 C 3 C 5 1 A 4 G 6 2 B 5 H 7 3 C 6 I 8 4 G 9 5 H 10 6 I ■手順■ 1)1行目にタイトルをつけます 2)番号は、1桁にしていますし、行数も省略しています 3)A1を選択して、メニューバーの[データ]-[フィルタ]-[フィルタオプションの設定]を選択します 4)「リスト範囲」に、$A$1:$B$600 と入力または範囲指定します 5)「検索条件範囲」に、$D$1:$D$2 と範囲指定します 6)抽出先は、「指定した範囲」にチェックして、「抽出範囲」に、$F$1:$G$1 と範囲指定して、OK
- maron--5
- ベストアンサー率36% (321/877)
◆別のシートに、4桁の数字の若い順にして、同じものを削除して表示 ◆Sheet1の>A1からA600まで4桁の数字が並んでいます。B1からB600まではその数字に対応した企業名が並んでいます。 ◆Sheet2の式 A1=MIN(Sheet1!A:A) A2=IF(OR(A1="",A1=MAX(Sheet1!A:A)),"",LARGE(Sheet1!A:A,RANK(A1,Sheet1!A:A)-1)) ★A2の式を下にコピー B1=IF(A1="","",VLOOKUP(A1,Sheet1!A:B,2,0)) ★下にコピー
- ham_kamo
- ベストアンサー率55% (659/1197)
A列とB列を選択して、「書式」>「条件付き書式」で 「数式が」「=COUNTIF($A:$A,$A1)>1」として、「書式」から 「パターン」を選んで適当な色を設定してやります。 こうすると重複があるものはセルに色がつきます。重複がなくなったら色が消えるので、地道に消していきましょう。