• ベストアンサー

エクセルで数字の重複を防ぐ方法

CからG列に1から12までの数字をランダムに入力しています。 その数字が重複していると困るので、数字が重複していた場合 H列にエラーメッセージが出るようにしたいのですが、良い方法は 無いでしょうか? 200行くらいまで入力する予定です。 よろしくお願いします。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.4

行内の重複ならC:G列だと1~12までの5個になりますので H2=IF(SUMPRODUCT(1/COUNTIF($C2:$G2,$C2:$G2&""))<5,"重複","OK") 入力規則として、数値の範囲を1~12にしておくと更に良いでしょう。 追加で異なる行での組み合わせとしての重複を見る場合 H2=TEXT(C2,"00")&TEXT(D2,"00")&TEXT(E2,"00")&TEXT(F2,"00")&TEXT(G2,"00") で10桁の数字の文字列を作成 I2=IF(COUNTIF($G$2:$G$200,G2)>1,"重複","OK")

hanauta00
質問者

お礼

ありがとうございます! SUMPRODUCT、初めて見た関数でした。自分で考えていたら 想像もつかなかったと思います。 入力規制もしておきました。助かりました!

その他の回答 (4)

  • shiotan99
  • ベストアンサー率68% (140/203)
回答No.5

No.2です。 No.3さんの回答を見て思ったのですが、1行ごとにということでしょうか? そういうことでしたら、 No.2 の 回答にある数式を =COUNTIF($C1:$G1,C1)=1 にして、あとは同じようにしてみてください。 ( $C1:$G1 のように、列記号の前に $をつけてください ) No.1 の回答では、C1:G200 の範囲内に同じ数字があればエラーメッセージが出てしまいます。 それと、範囲指定するときは必ず C1から始めてください。 ( C1セルがアクティブ → C1だけが白で、あとは青くなっている状態で入力規則を設定してください ) それでもうまくいかないときは、入力規則の数式をどのように入れたのか、その数式をそのまま提示してください。

hanauta00
質問者

お礼

再びご回答頂きありがとうございます。 質問の仕方が悪くて、誤解させてしまったようで 申し訳ありません。 教えて頂いた方法でうまくいきました!先ほどは 範囲指定をC1から初めていなかったので、駄目だったようです。 すみませんでした。 教えて頂いた方法は、他にも使えそうですね。 ありがとうございました。

  • banker_U
  • ベストアンサー率21% (17/78)
回答No.3

重複は横方向にあったらいけないんですよね? 愚直に下記ですかねえ。 2行目以下に数字が入っているとして、H2セルに以下を入力 =IF(OR(C2=D2,C2=E2,C2=F2,C2=G2,D2=E2,D2=F2,D2=G2,E2=F2,E2=G2.F2=G2),"ERROR!","") あとは下へコピー。 どなたかいい関数ご存知でしたら教えてください。

hanauta00
質問者

お礼

ありがとうございます! 質問の仕方がまずかったようで、皆様を困惑させてしまったようです。 申し訳ありません。 ご回答を参考に(数字が4行目からでしたので) =IF(OR(C4=D4,C4=E4,C4=F4,C4=G4,D4=E4,D4=F4,D4=G4,E4=F4,E4=G4,F4=G4),"ERROR!","") としたところ、うまくいきました!ありがとうございます。

  • shiotan99
  • ベストアンサー率68% (140/203)
回答No.2

こんにちは~ 次のようにしてみてください。 C1:G200 をマウスでドラッグして範囲指定 メニューの 「データ」-「入力規則」 表示されたダイアログの 「設定」タブをクリック 「入力値の種類」から <ユーザー設定> を選択 下の 「数式」欄に =COUNTIF($C$1:$G$200,C1)=1 と入力して 「OK」をクリック 以上の設定で、重複した数字を入力しようとしてもエラーメッセージが出て、受け付けてくれません。 質問の意味を取り違えていたらゴメンナサイ。

hanauta00
質問者

補足

早速のご回答ありがとうございます。 やってみたのですが、C1に「1」を入力したとたん 「入力した値が無効です」というメッセージが出てしまいました。 他のセルも同様です。 どこが悪いのか分かりましたら、教えて頂けますか?

回答No.1

全部入力した後に<データ><フィルタ>より≪フィルタオプション設定≫で重複するレコードは無視する。 にしてみてはいかがでしょうか? 試しに、ランダムに入力してやってみてください(^^)

hanauta00
質問者

お礼

早速の回答ありがとうございます。 私の質問の仕方が悪かったようで、申し訳ありません。 フィルタオプションだと、フィルタをかけなくてはいけない ですよね? 入力しているときに重複していることが分かれば、と思ったのです。

関連するQ&A