人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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


●質問者: haru_voice
●カテゴリ:ビジネス・経営 コンピュータ
✍キーワード:エクセル 入力 管理 関数
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● りくっち
●27ポイント

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

◎質問者からの返答

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


2 ● arhbwastrh
●27ポイント

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

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


3 ● ardarim
●26ポイント

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ