• ベストアンサー

エクセルで入力規制

エクセル2000を使っています。 セルに氏名を入力していくのですが、一度入力した氏名は他のセルに、入力できない。という設定はできますか?つまり同じ名前を2度入力できないようにしたいのです。 こんなことってできるのでしょうか?手持ちの本を見ているのですが、見つかりません(´o`; お分かりの方教えてください。

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

  • ベストアンサー
  • dejiji-
  • ベストアンサー率38% (327/858)
回答No.1

一列上に名前を入力してゆく場合。 入力する範囲を選択して(例えばA列に入力するとして)、データ→入力規則→設定でユーザー設定を選択後、ボックス内に =COUNTIF(A:A,A1)=1 と入力して、後はエラーメッセージを開き、エラーが発生した時の状態と表示を入力する。 停止を選択すれば入力は不能、注意の場合はメッセージは出るが入力可能な状態になります。こんな方法でいかがですか。

noname#4108
質問者

お礼

すいません(T△T)入力してみたのですが、うまくいかず・・・ >一列上に名前を入力してゆく場合。 というのはどういうことでしょう? 例えばA列に名前を入力するとして、 A1:A10に既に名前が入力されているとします。 A11から入力していく場合 どういう式になるのでしょうか? ごめんなさい。 お時間があれば教えていただけますでしょうかm(。-_-。)m

noname#4108
質問者

補足

何度もすいません・・・ dejiji-さんの方法でできたのですが・・・ 自分で入力した場合は確かに入力規制を行うことができたのですが・・・ カット&ペーストした場合は入力できるんですよね・・・ これってどうにもならないでしょうか(T△T)

その他の回答 (4)

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

VBAならそれが出来ます。A列に同じ内容を入れるとエラーとして受けつけません。 Private Sub Worksheet_Change(ByVal Target As Range) d = Range("a1").CurrentRegion.Rows.Count For i = 1 To d If Target = Cells(i, "A") Then If i <> Target.Row Then MsgBox "重複エラー" Target = "" End If End If Next End Sub 興味があれば補足します。 基本的にはVBE画面のプロジェクトの目的のシートをダブルクリックして、出てきた画面に貼りつければ良い。シートのChangeイベントを利用していますが、難点もあります。

noname#4108
質問者

お礼

ご回答ありがとうございます。 マクロは私の知識では不十分ですので 下の方の方法を利用させていただくことにしました。 エクセルは結構使いこなしているほうだと思っていたのですがマクロはいっさいだめですね。すごく難しそうで・・・ 今は時間がありませんが、少しづつ時間があるときに覚えていきたいです(*^^ゞ 

  • dejiji-
  • ベストアンサー率38% (327/858)
回答No.4

すいません、No3への訂正です。A列に制限をかけるので、セルを選択するというより、A列全体に制限をかけるので、AのところをクリックしてA列を選択、入力規則を再度かけると(先ほどの要領で)列に同じ項目があるとメッセージが出るようになります。式は変更する必要はありません。

  • dejiji-
  • ベストアンサー率38% (327/858)
回答No.3

A列にと同じつもりで書きました。(混乱させてすいません) 入力規則は入力した時に動くものだからコピペには通用しない様ですね。 式についてはそのままで大丈夫です。追加する場合は入力規則の入ったセルを含め必要なセル範囲を選択し、再度入力規則を選択すると、規則の入っていない部分に規則をかけるか聞いてくるのでそのまま「はい」で進め、OKだけです。 コピペが回避できないので手動で削除するしかないですかね。(コピペなどペーストした場合は書式も一緒についてくるので入力規則が外れてしまう)但し、重複するデータを確認するため以下の手順で条件付書式をかけてください。いちいち確認する必要がなくなるので、かなり時間短縮にはなると思います。 必要な範囲を選択し、書式→条件付書式で「セルの値が」を数式に変更右に =COUNTIF(A:A,A1)>1 と入力してパターンなり色なりを変更し、目立つようにする。これで重複した内容がわかります。後はこれで消去するしか今の私には考えつきません。 もし何かあれば、補足して下さい。

noname#4108
質問者

お礼

何度もご回答ありがとうございますm(。-_-。)m 条件付書式を使った方法で十分です! ぜひ使わせていただきます!! 本当に助かりました。半ばあきらめていたので(*^^ゞ 

回答No.2

》つまり同じ名前を2度入力できないようにしたいのです。  データベースソフトでは常套作業です。そもそもExcelは表計算ソフトです。データベース機能も持っていますが、十分ではありません。  データベースソフトは、既に入力されたデータの管理もさることながら、入力データの均質化にも役立ちます。  たとえば、お尋ねのように、同じデータが来れば、入力時点でチェックさせることができます。ただし、まるっきりの重複データなら同じ文字列ということでチェックできますが、「鈴木良雄」などのように、よくある名前だと同姓同名が当然ありえます。この場合は、電話番号や住所と併せて照合させることで、重複データか全くの別人かを判断できます。  その他、たとえば、電話番号は半角に限りたい場合、全角で入力すると、エラー表示させたり、漢字で氏名を入力すると、自動的に「ふりがな」項目に入力させるとかできます。  あと、表引きといって、商品番号を入れるだけで商品名と単価を自動的に入力させたりします。こういった設定は自由かつ簡単です。Excelでもできなくはないでしょうが、設定や変更作業に莫大な時間がかかります。  それで、データベースソフトでよく知られているのは、Accessですが、使い方を覚えるのがチト難しい。お勧めは「桐」ですね。一週間もあれば、一通りの使い方は習得できます。

noname#4108
質問者

お礼

ご回答ありがとうございます。 確かにACCESSでないとできないのでは?と思ったんです。 ACCESSは入っているのですが使ったことがありません・・・(T△T) エクセルでは難しいですね。

関連するQ&A