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

エクセルで値を指定しての検索が出来ない場合の同じ値のセルをすべて抽出する方法

エクセルのA列に上から順に
A1みかん
A2リンゴ
A3みかん
A4パイナップル
A5マンゴー
A6みかん
A7パパイヤ
A8リンゴ
A9バナナ
A10グレープフルーツ
A11みかん
A12レモン

という具合に1000行くらいあって同じ値のみを抽出する方法を教えてください。

上記の場合

A1みかん
A3みかん
A6みかん

A2リンゴ
A8リンゴ

という具合に表示してほしい。
同じ値の行は最大3つ(3種類×3行)、又は2つ(2種類×2行)です。
後の980行くらいはそれぞれ値が違います。
また同じ値が何で有るのかも不明です。
上記例ではみかんとリンゴですが、そうだとは限りません。
レモンかもしれないし、マンゴーかもしれない。
またその1000行の中の値の種類も何種類あるのか不明です。
最悪1000種類で重複は無いかも知れない。
よって値を指定しての検索は出来ません。

ソートして昇順にとかにすれば同じ値は上下に並びますが
実際には、みかん とかではなく英数字20ケタなので目で見ただけで
上下に並んでいるのは見つけれません。
12A3456D620X834F7623
14B63795V63879576235
167353F46856G6983639
167353F46856G6983639
16C342D374A755C65833
1000行の中からこのように上下が同じ値の行を見つけるのは難しいです。
簡単に発見する方法はありますか?

A 回答 (5件)

例えばA列にデータがあり


任意の列に以下のような式を入れます。
=IF(COUNTIF(A:A,A1)>1,"○","")
この式を縦方向にコピーします。
そうすると重複したセルには○が付きます。
必要に応じてオートフィルタ等を使い抽出してはどうでしょうか。
    • good
    • 0
この回答へのお礼

簡単な方法で、わかりやすく、実践して望んでいた事が出来ました。
○が付くので、あとは並べかえとかで、いろいろな編集もで来ました。
ありがとうございました。

お礼日時:2010/06/23 11:10

回答No4です。


一部に不具合がありましたので一部を訂正します。
B1セルに0を入力することをやめて空のままにします。
E2セルへの入力の式は次の式にして下方にオートフィルドラッグします。

=IF(ROW(A1)>MAX(B:B),"",IF(ROW(A1)<=MIN(B:B),INDEX(A:A,MATCH(MIN(B:B),B:B,0)),IF(COUNTIF(B:B,ROW(A1)-1)>0,INDEX(A:A,MATCH(SMALL(B:B,RANK(ROW(A1)-1,B:B,1)+1),B:B,0)),E1)))

訂正する部分は以上の2点です。遅くなっての訂正でごめんなさい。
    • good
    • 0

お示しのデータはすべて2行目から下の行に有るとします。

なお、A列では果物名が入力されており、もちろんA1,A2などの番地はない状態とします。作業列を作って対応します。
B1セルには0を入力したのちに、B2セルには次の式を入力して下方にオートフィルドラッグします。

=IF(AND(COUNTIF(A:A,A2)>1,COUNTIF(A$2:A2,A2)=1),COUNTIF(A:A,A2)+MAX(B$1:B1),"")

C2セルには次の式を入力して下方にオートフィルドラッグします。

=IF(COUNTIF(A:A,A2)>1,A2&"/"&COUNTIF(A$2:A2,A2),"")

お求めの表はE列とF列に表示させることにしてE列には果物の名前が、F列にはその果物名がは入っているセル番地を表示させることにします。

E2セルには次の式を入力して下方にオートフィルドラッグします。

=IF(ROW(A1)>MAX(B:B),"",INDEX(A:A,MATCH(ROW(A1)-1,B:B,1)+1))

F2セルには次の式を入力して下方にオートフィルドラッグします。

=IF(E2="","","A"&MATCH(E2&"/"&COUNTIF(E$2:E2,E2),C:C,0))

これでA列で重複のあるものはすべて順序よく整列されて表示され、そのセル番地も表示されますね。一度お試しください。
    • good
    • 0

まずA列を選択します。


データ→フィルタ→オートフィルタでA列にオートフィルタをかけます。
次にデータ→フィルタ→フィルタオプションの設定を選択します。
重複するレコードは無視するにチェックを入れます。
以上です。やってみてください
    • good
    • 0

次の方法は如何でしょうか。


オートフィルタで抽出するので、見出し行と抽出列(仮にB列)を新たに追加します。
(1)見出し行を挿入、仮にA1に「項目名」、「B1」に重複と入力
(2)B2に=COUNTIF(A:A,A2)>1を設定、下方向にコピー(又は、B2セル右枠下の■をダブルクリック)
(3)オートフィルタから重複列のフィルタボタン押下→TRUEを選択
    • good
    • 0

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