【エクセル】エクセルで膨大な量のIDを管理するんですが、同じ番号が入力できないようにしたいです。そこで、同じ番号がもう既に入力されていることがわかる関数はありませんでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/09/22 16:50:51
  • 終了:2007/09/29 16:55:03

回答(3件)

id:rikuzai No.1

りくっち回答回数1366ベストアンサー獲得回数1412007/09/22 17:23:08

ポイント27pt

COUNTIFを使用して、IDの個数を調べることができます。

A列にIDを入力しているとして、

B1=COUNTIF(A:A,A1)

と入力し、IDを入力する範囲までB1をB列にコピー貼り付けします。

これで同じIDを入力すると、B列に「2」が表示されるようになります。


ただ、こうした数式を見せずにエラーメッセージがでるようにすることができます。

これは入力規則という機能を使用します。


同じくA列にIDが入力されているとして、

A1を選択し、「データ」→「入力規則」をクリックして「データの入力規則」というダイアログを開きます。

「入力値の種類」を「ユーザー設定」にし、

「数式」の欄に「=COUNTIF(A:A,A1)=1」と入力します。


エラーメッセージを表示したい場合は、「エラーメッセージ」タブをクリックして設定します。

設定が終わったらOK。

A1をコピーし、A列のIDを入力する予定のセルまでを選択してから、

「形式を選択して貼り付け」→「入力規則」にチェックをしてOK。

これでA列に上から入力していくと、同じIDを入力した時にエラーメッセージが表示され、

再試行を要求されるようになります。



以上ご参考まで。



http://www.eurus.dti.ne.jp/~yoneyama/Excel/n-kis.htm

id:haru_voice

一文字一文字入力していくと、エラーメッセージが出てくれるようなんですが、コピペするとエラーが出ないようですね・・・。

2007/09/22 17:56:04
id:arhbwastrh No.2

arhbwastrh回答回数447ベストアンサー獲得回数232007/09/22 19:43:47

ポイント27pt

マクロを使っていいなら簡単ですが・・・

http://q.hatena.ne.jp/answer

id:ardarim No.3

ardarim回答回数892ベストアンサー獲得回数1422007/09/24 21:14:00

ポイント26pt

普通にセル検索でいいのではないでしょうか。

A列にIDが入力されているとしたら、

If ActiveSheet.Columns("A").Find(id) Is Nothing Then
    ' idはA列に存在しない
Else
    ' idがA列に存在する
End If

Findメソッドは、Rangeオブジェクト(上記の場合はA列)から id に一致するセルを検索して返します。一致するセルがなければ Nothing を返します。


参考

http://www.moug.net/tech/exvba/0050116.htm

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません