• ベストアンサー

エクセルで,同じ列にある複数の重複する名前を抽出する方法はありますか?

エクセルで,同じ列にある複数の重複する名前を抽出する方法はありますか? たとえばA1~A100に氏名が入力されている中に鈴木一郎,佐々木次郎,高橋三郎など重複して氏名が入力されているとします。どの氏名が重複入力されているか不明なので,オートフィルターで抽出するのはチョット不便です。 この場合,鈴木一郎,鈴木一郎,佐々木次郎,佐々木次郎,高橋三郎,高橋三郎と言うように上から順番に重複している氏名を抽出して表示する関数はありますか?

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

  • ベストアンサー
  • Kurouto
  • ベストアンサー率28% (96/338)
回答No.4

NO1ですが、NO2さんに対する質問の回答がないのでかわりに・・・ =IF(COUNTIF(B$1:B$100,$B1)>1,"重複","1") ではなく =IF(COUNTIF(B$1:B$100,$B1)>1,"重複","") にすれば「1」という表示は無くなりますよ!

pusuta
質問者

お礼

思っていたとおりの作業ができました。感謝いたします。

その他の回答 (3)

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

重複している氏名を上から順序よく並べるのでしたら作業列を作って対応するのが判りやすいでしょう。 例えばB1セルに次の式を入力します。 =IF(AND(COUNTIF(A$1:A1,A1)=1,COUNTIF(A:A,A1)>1),ROW(),"") 答えの列はC列としてC1セルには次の式を入力します。 =IF(COUNT(B$1:B$100)<ROW(A1),"",INDEX(A$1:A$100,MATCH(SMALL(B$1:B$100,ROW(A1)),B$1:B$100,0))) 最後にB1セルとC1セルを選択してそれらの式を下方にオートフィルドラッグします。

回答No.2

A列の前に列を挿入して A1に=IF(COUNTIF(B$1:B$100,$B1)>1,"重複","1") 下方向にコピー。 A列の名前がB列に変わるのでこんな式になります。 で重複してる名前の前に「重複」と出るので オートフィルタで重複を選択すればオーケー。 こんな感じでどうでしょう?

pusuta
質問者

補足

回答ありがとうございます。早速試してみたのですが,A列に「1」と出てしまうのですが,やり方がまずいですか?A列に名前がはじめ入っていたのに,列を挿入したので,名前はB列に移りますよね?

  • Kurouto
  • ベストアンサー率28% (96/338)
回答No.1

残念ながら、そういった関数はありません。 EXCELのバージョンはいくつですか? EXCEL2007の新機能では「条件付き書式」の中に「重複する値」というのがあり、重複するデータを任意の書式に変換して強調表示できます。

pusuta
質問者

補足

回答ありがとうございます。バージョンは2003です。

関連するQ&A