q
- Home »
- エクセル Q&A(Tips):目次 »
- 半角英数字のみ、数値のみが入力できるように規制したい
半角英数字のみが入力できるように規制する topへ
- セルに半角の英数字のみが入力できるようにしたい・・・というケースについて考えてみたいと思います。
入力規則の機能で入力できる値を制限する方法です。
- 入力規則を設定するセル範囲を選択します。
- 「データ」タブの[データの入力規則]を実行します。
- 「日本語入力」タブで「日本語入力」を「半角英数字」に設定します。
[OK]ボタンをクリックします。
- 設定されたセルを選択すると、IMEの入力モードが 半角英数字になります。
これでキーボードからは半角英数字のみが入力できる状態となります。
- ところが、IMEの入力モードは手動で切り替えることが可能ですので、「ひらがな」に切り替えることができます。
- 「ひらがな」モードで入力すると、上記の入力規則を設定したセルでも全角の文字が入力できます。
下図のように全角文字が入力できてしまいました。 右の数値はLENB関数で文字列のバイト数を求めています。
文字が半角文字なら文字数と同じになり、全角文字なら2倍の数値になります。
- 半角で入力を制限するには、「日本語入力」タブで「日本語入力」を「無効」に設定します。
[OK]ボタンをクリックします。
これで、IMEの入力モードを切り替えることができなくなり、半角文字での入力になります。
- ASC関数で文字を半角にしたものと、入力した文字が同じならOK・・・と考えることができるのでは?
ということで、入力規則をユーザー設定で数式を =ASC(B2)=B2 としました。
- 全角の英字が入力できなくなりました。
- ところが、ひらがなは入力できてしまいます。
- そういうことなら、確認のために使っているLENB関数でチェックする手が考えられます。
=LENB(B2)=LEN(B2) としました。
- これで、ひらがなの入力もできなくなり半角文字のみが入力できるようになりました。
- なお、数字の入力に関しては半角に制限できますが、文字列としての数字も入力できます。
- 実は、上記の=LENB(B2)=LEN(B2) では数字の入力が可能です。
例えば、'123 (頭にアポストロフィを付けて文字列として入力)ができます。
数値のみが入力できるようにしたい・・・となれば、数値か否かの判定が行える関数を使うことが考えられます。
ISNUMBER関数を使って、 =ISNUMBER(B2) としました。
- 数値の123や-123は入力できましたが、'123 (頭にアポストロフィを付けて文字列として入力するとエラーになりました。
よねさんのExcelとWordの使い方|エクセル2010基本講座:目次|半角英数字のみ、数値のみが入力できるように規制したい