プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (4件)

残念ながら、そういった関数はありません。



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

この回答への補足

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

補足日時:2010/04/14 19:00
    • good
    • 3

A列の前に列を挿入して


A1に=IF(COUNTIF(B$1:B$100,$B1)>1,"重複","1")
下方向にコピー。
A列の名前がB列に変わるのでこんな式になります。

で重複してる名前の前に「重複」と出るので
オートフィルタで重複を選択すればオーケー。

こんな感じでどうでしょう?

この回答への補足

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

補足日時:2010/04/14 19:14
    • good
    • 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セルを選択してそれらの式を下方にオートフィルドラッグします。
    • good
    • 1

NO1ですが、NO2さんに対する質問の回答がないのでかわりに・・・



=IF(COUNTIF(B$1:B$100,$B1)>1,"重複","1")

ではなく

=IF(COUNTIF(B$1:B$100,$B1)>1,"重複","")

にすれば「1」という表示は無くなりますよ!
    • good
    • 8
この回答へのお礼

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

お礼日時:2010/06/03 21:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!