知識、知恵のカタマリ

[PR]コレがGoogleの検索ストーリー

お蔵入り

clip!clip!
Ads By Google

重複データ検索関数について。

エクセルシートのA列:B列:c列に各30行ほどの整数を入力して
あります。

此処から、重複したデータに色若しくは印(*とか)をつける
方法はあるのでしょうか?

単列なら方法は判るのですが、複数列と成るとピッタリの物が
見つかりません。

尚、印を付ける方法であれば入力した列の右隣を使えます。

どうぞ宜しくお願い致します。

2009-03-28 15:45の質問
この質問は、30日間解決しなかったために自動的に質問が一旦閉じられました。

回答(7)

1.

2009-03-28 17:08:58
A,B,C が全て一致している(例えば1,3,5の並びが2つ以上あるとか)行を探すということですか?
それとも、
A,B,C を3列に分かれているけれどの実際は1連のデータとみなす、ということですか?
回答レベル : 補足要求

2.

2009-03-28 17:46:14
A列B列C列すべてに一致している行を探すのであれば、まずA~C列に対して、A列,B列,C列の順番で値によって昇順などに並び替えておいて、ある行に注目した場合に、その上の行と比較して、それぞれの列で同じ値かどうかを確認し、すべての列で同じの場合にすべて一致と判断するのはどうでしょうか。下は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.

2009-03-29 02:18:05
条件付き書式で、セルに色を塗ったり設定する場合。
Excel2007の場合、そのままの条件があらかじめ用意されているので、
範囲(A1:C30)を選択した状態で、
条件付き書式のアイコンをクリックして
新しいルール
一意の値または重複する値だけを書式設定
を選んで、書式として塗りつぶしを選択するだけで済みます。
回答レベル : 回答

4.

2009-03-29 02:29:02
Excel2007以前の場合は、
A1:C30の範囲を選択して、
(A1から範囲選択すればA1がカレントセルになっています)
メニューの書式~条件付き書式で、
「数式が」を選択して、
=COUNTIF($A$1:$C$30,A1)>1
を入力して、「書式」ボタンを押して塗りパターンを設定すればOKです。
回答レベル : 回答

5.

2009-03-29 04:12:16
印*を付ける方法
(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.

2009-04-01 16:28:48
あまりスマートなやり方ではありませんが、自分なりに考えてみました。方法は次のとおりです。

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.

2009-04-02 11:34:08
回答6を修正させていただきます。

手順2の部分ですが、これだとデータを入力していないときにG列が「0」になって非常に見にくくなるので、「=A1」を「=IF(A1="","",A1)」にします。同様に、「=C1」を「=IF(C1="","",C1)」に、「=E1」を「=IF(E1="","",E1)」にします。
Ads By Google

コメント(6)

2009-03-28 20:13:33

BLUEPIXY様

説明文が稚拙で意図が十分に伝わらなかった様で申し訳
有りません。

15インチモニターでスクロールせずに見れる範囲で、6桁のコードを入力して行くので、大体25行位でB1へ戻り入力するスタイルなのです。

3列分位で入力は終わりますが、必ず重複するコードが出るのでそれをチェックしたい(セルに色付けとか)のです。

2009-03-28 21:06:25

tani.masaru様

早速のご回答本当にありがとうございました。

BLUEPIXY様へご説明にプラスして抜けていた部分を補足させて
いただきます。

実は、都合により入力したコードは並び替えなどが出来ないのです。

此れをご考慮頂き再度お知恵を拝借致したいと存じます。

2009-03-29 01:32:20

>>#1
から判断するにA列からC列までは1連のデータということなので、
>>2
の下側の方法でだめですか?

#4.  BLUEPIXY
2009-03-29 02:09:16

>>#2
私も、回答2のCOUNTIF で問題無いと思います。
列が複数になろうとも単に($A$1:$C$30で)範囲を指定してやればいいと思います。
この場合、印の表示に3列必要です。
表示に一列しか取れない場合は、COUNTIFを列ごとにして、足せばいいかと思いますが、これだとまた別に調べる必要がありますね。
それより、条件書式を使うと重複したセルに色をつけることができると思います。

#5.  BLUEPIXY
2009-03-29 02:37:40

回答3,4のような場合、塗りは、1色ですが、塗り分けるというような場合は、VBAのようなマクロ(スクリプト)を使う必要があると思います。
そのような場合、沢山になると、色を沢山つかうことになり、結局、わけわからんくなると思うので、VBAは、手間がかかるわりにあまり有効ではないと思います。
一旦重複している値がわかったなら、「検索」を用いてその値のセルを全て表示させることができますので、重複する値それぞれを調べる場合には、そのような方法の方がいいかもしれません。
あるいは、
1つ数値の入力欄を設けて、
条件書式の条件として、その入力欄と「値が一致する」という条件を追加でつけてやると、それぞれの重複する値を見つけやすいと思います。

#6.  BLUEPIXY
2009-03-30 17:51:05

>>#2 並び替えなどが出来ない
普通にCOUNTIF で件数を数える時には、並び替えは必要有りません。

トラックバック(2)

トラックバックURL: