もりさんのプログラミング手帳

教えることは、二度学ぶこと

スポンサーリンク

【Excel小技】セルへの全角文字の入力を禁止したい(データの入力規則編)

たとえば、社員IDを入力するこんなフォーマットがあります。

半角で入力してもらいたいようですが、
あらあら、全角入っちゃってますね。

f:id:excel-accounting:20180117214924p:plain

 

残念なことに、注意書きは大半の人が読んでいません。

そこで、

入力されたくない文字は「入力できないように」してあげましょう。

 

入力する人が悪いのではありません。
入力できてしまうフォーマットが悪いのです。

f:id:excel-accounting:20180415204241p:plain

 

設定手順

 

データの入力規則を使用して全角文字を入力不可とする。

かつ、

入力しようとした場合に警告メッセージを表示する。

 

対象のセル(セル範囲)を選択して、

「データ」タブ
→「データの入力規則」
→「設定」タブ
で下記の通り数式を設定。

f:id:excel-accounting:20180117220603p:plain

 

 

仕組みの解説

ASC関数は全角の英数カナ文字(2バイト)を、半角の英数カナ文字(1バイト)に変換します。

つまり、

[入力値]と[入力値をASC関数で半角に変換した値]が一致しない場合、入力を受け付けない。

ゆえに、半角しか入力することができない。という仕組みです。

(例1)半角で123と入力しようとした場合
[入力値]=半角の123
[入力値をASC関数で半角に変換した値]=半角の123
→[入力値]と[入力値をASC関数で半角に変換した値]は一致するのでOKです。

(例2)全角で123と入力しようとした場合
[入力値]=全角の123
[入力値をASC関数で半角に変換した値]=半角の123
→[入力値]と[入力値を半角に変換した値]は不一致なのでNGです。

 

続いて、エラーメッセージの設定です。

f:id:excel-accounting:20180117221451p:plain

これで設定完了。
全角文字は入力できなくなりました。

f:id:excel-accounting:20180117221632p:plain

スポンサーリンク