• ベストアンサー

Excelで重複入力を防止する設定をしたいのですが。

困っています。 Excelで重複入力を防止する設定をしたいのですが方法がわかりません。 品番、規格、単価等の一覧表をつくりたいのですが、品番が、似たような英数字の羅列で、後から追加入力をしたときに同じ品番を登録しようとしたときにエラーが出るようにしたいのですが、できるのでしょうか。 私は初心者なのですが、それでもなんとかできるような方法を教えていただきたいと思います。関数の入力は、通常ボタン化されているもの以外にはいくつかしかできません。 よろしくお願いいたします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

#2です。2度になって済みません。#2の直ぐ後にテストしたらOKになったので。今度はB列を使いません。 (1)A1:A100を範囲指定する。 (2)メニューのデータ-入力規則-設定-(入力値の種類)-ユーザー設定-(数式)に =countif($A$1:$A$100,A1)=1といれOKをクリック。 (3)上の行で入力したものと同じ値を入力するとエラー となり受けつけない。

422863
質問者

お礼

できました!できました!できました! 本当にうれしいです。ありがとうございました! 今後もズプの素人の質問をすることと思いますが よろしくおねがいいたします。ありがとうございました。

その他の回答 (3)

  • Hageoyadi
  • ベストアンサー率40% (3145/7860)
回答No.3

A列に品番、B列に規格、C列に単価が入力されているとして、 品番の重複を求める式をD列に入れます。一行目が項目名でしょうから、 D2=IF(A2="","",IF(COUNTIF($A$2:$A$10,A2)>=2,ROW(),"")) 3つの列の重複を検索する場合はD2に、 =IF(OR(COUNTIF($A$2:$A$10,A2)>=2,COUNTIF($B$2:$B$10,B2)>=2,COUNTIF($C$2:$C$10,C2)>=2),ROW(),"") ↑ちょっとスマートじゃありませんね。ほかにも方法がありそうです。 スマートじゃないついでに3列の範囲全部の重複データを表示させるためには、2番目の式をD2に入力した後、 E1=IF(ISERR(MATCH(SMALL($D$3:$D$100,ROW(A3)),$D$3:$D$100,)),"",IF(INDEX(A$3:A$100,MATCH(SMALL($D$3:$D$100,ROW(A3)),$D$3:$D$100,))="","",INDEX(A$3:A$100,MATCH(SMALL($D$3:$D$100,ROW(A3)),$D$3:$D$100,)))) コレをG100までコピーするんですが・・・結果が求めてるものと違ってたらごめんなさい。

422863
質問者

お礼

とんでもないです。ありがとうございます。 入力ミスのせいで今のところうまくいっていないのですが、絶対成功させてやる!と燃えています。ほんとうにありがとうございました!

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

品番を入力する列(仮にA列とします)の隣に1列挿入する。 そのB1セルに=IF(COUNTIF($A$1:$A$100,A1)>1,"重複","")と入れ、B100まで(入力の最終行まで)引っ張って複写する。 A列の中で同じ品番が現れると、B列に「重複」と、入力した瞬間に出ます。そこで入力が間違っていないか念入りにチェックする。上記関数式の中の$は必要です。 入力し終わったらB列を削除。

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

エクセルでは 難しいですね。 アクセスを使えば、簡単にできますよ。

422863
質問者

お礼

ありがとうございます。アクセス、会社でも導入し始めたばかりで、精通している人もいない。だからとにかく慣れることから始めて、takntさんみたいにアドバイスできるような人になりたい!・・・遠いけど。でもやるぞおおおおと 誓いました。ありがとうございました!

関連するQ&A