重複データ検索関数について。
エクセルシートのA列:B列:c列に各30行ほどの整数を入力してあります。
此処から、重複したデータに色若しくは印(*とか)をつける
方法はあるのでしょうか?
単列なら方法は判るのですが、複数列と成るとピッタリの物が
見つかりません。
尚、印を付ける方法であれば入力した列の右隣を使えます。
どうぞ宜しくお願い致します。
回答(7)
1.
それとも、
A,B,C を3列に分かれているけれどの実際は1連のデータとみなす、ということですか?
2.
=IF((A1-A2)=0,1,0)*IF((B1-B2)=0,1,0)*IF((C1-C2)=0,1,0)
もしAからC列を1連のデータとしてみなす場合は、あるセルに注目した場合に、「countif」関数を使って、範囲内に含まれる同じ値のセルの数を数えて2以上の場合は重複があることになるので、それを「if」関数で判別するのはどうでしょうか。下はA1セルと同じあたりがA1:C30に含まれるかどうかをチェックする場合です。
=IF(COUNTIF($A$1:$C$30,A1)>1,1,0)
3.
Excel2007の場合、そのままの条件があらかじめ用意されているので、
範囲(A1:C30)を選択した状態で、
条件付き書式のアイコンをクリックして
新しいルール
一意の値または重複する値だけを書式設定
を選んで、書式として塗りつぶしを選択するだけで済みます。
4.
A1:C30の範囲を選択して、
(A1から範囲選択すればA1がカレントセルになっています)
メニューの書式~条件付き書式で、
「数式が」を選択して、
=COUNTIF($A$1:$C$30,A1)>1
を入力して、「書式」ボタンを押して塗りパターンを設定すればOKです。
5.
(A1:C30にデータが入力されている、印を表示する右欄とは、D列だとする)
D1
=IF(COUNTIF($A$1:$C$30,A1)>1,"*","_") &IF(COUNTIF($A$1:$C$30,B1)>1,"*","_")&IF(COUNTIF($A$1:$C$30,C1)>1,"*","_")
と入力して、D30までフィル(コピー)する。
例えば
A列にデータの重複のあるデータがある場合
*__
例えば
A及びC列にデータの重複のあるデータがある場合
*_*
の様に表示される。
6.
1 列をAからIまで、全部で9列用意します。(AとCとEがデータを入力する列です。)
2 G1のセルに「=A1」と入力します。それをG30までコピーします。次に、G31に「=C1]と入力します。それをG60までコピーします。また、G61に「=E1」と入力します。それをG90までコピーします。つまり、3列のデーターを1列に置き換えるわけです。
3 H1のセルに「=IF(COUNTIF($G$1:$G$90,$G1)>1,$G1,"")」
と入力し、H90までコピーします。
4 I1のセルに「=IF($H1="","",RANK($H1,$H$1:$H$90,10))
と入力し、I90までコピーします。
5 B1のセルに「=I1」と入力し、B30までコピーします。
次に、D1のセルに「=I31」と入力し、D30までコピーします。また、F1のセルに「=I61」と入力し、F30までコピーします。
以上です。
データーに重複があれば、その右のセルに1から90までの数字のうち同じ数字が入るので一目瞭然です。
ちなみに、その数字はデーターの数字をランクにしたもので、一番若い数字が1になります。
7.
手順2の部分ですが、これだとデータを入力していないときにG列が「0」になって非常に見にくくなるので、「=A1」を「=IF(A1="","",A1)」にします。同様に、「=C1」を「=IF(C1="","",C1)」に、「=E1」を「=IF(E1="","",E1)」にします。
コメント(6)
BLUEPIXY様
説明文が稚拙で意図が十分に伝わらなかった様で申し訳
有りません。
15インチモニターでスクロールせずに見れる範囲で、6桁のコードを入力して行くので、大体25行位でB1へ戻り入力するスタイルなのです。
3列分位で入力は終わりますが、必ず重複するコードが出るのでそれをチェックしたい(セルに色付けとか)のです。
tani.masaru様
早速のご回答本当にありがとうございました。
BLUEPIXY様へご説明にプラスして抜けていた部分を補足させて
いただきます。
実は、都合により入力したコードは並び替えなどが出来ないのです。
此れをご考慮頂き再度お知恵を拝借致したいと存じます。
>>#2
私も、回答2のCOUNTIF で問題無いと思います。
列が複数になろうとも単に($A$1:$C$30で)範囲を指定してやればいいと思います。
この場合、印の表示に3列必要です。
表示に一列しか取れない場合は、COUNTIFを列ごとにして、足せばいいかと思いますが、これだとまた別に調べる必要がありますね。
それより、条件書式を使うと重複したセルに色をつけることができると思います。
回答3,4のような場合、塗りは、1色ですが、塗り分けるというような場合は、VBAのようなマクロ(スクリプト)を使う必要があると思います。
そのような場合、沢山になると、色を沢山つかうことになり、結局、わけわからんくなると思うので、VBAは、手間がかかるわりにあまり有効ではないと思います。
一旦重複している値がわかったなら、「検索」を用いてその値のセルを全て表示させることができますので、重複する値それぞれを調べる場合には、そのような方法の方がいいかもしれません。
あるいは、
1つ数値の入力欄を設けて、
条件書式の条件として、その入力欄と「値が一致する」という条件を追加でつけてやると、それぞれの重複する値を見つけやすいと思います。




