【Officeシリーズ】データの入力規則を設定する
入力規則について
セルに入力できる値に制限をかけることができます。この時の制限のルールを入力規則といいます。
よって入力制限とか入力規制と間違われることがあります。規則と規制は似ているのでさもありなん・・・といった感じです。
入力規則でできることは結構たくさんあります。
入力値を制限するための設定、入力するときにメッセージを表示する、制限した値以外の時に表示するエラーメッセージ、日本語入力(IME)を制御するといったことができます。
"【Officeシリーズ】-2021-6-10 257-1"
入力規則を設定することによって、入力される値を制御することができデータの間違いを防げることが期待されます。
データの中に明らかな間違いを入力させないといったことが可能になります。
入力値を整数に制限する
下図のような数量を入力するところでは整数を入力します。
入力するときに間違って文字列を入力したり、小数点のある値を入力されたりしたときに、注意を促し入力ができないようにします。
入力規則を設定するセル範囲を選択します。
下図ではD3:D7セルを選択しています。
"【Officeシリーズ】-2021-6-10 257-2"
[データ]タブのデータツールグループにある[データの入力規則]を実行します。
"【Officeシリーズ】-2021-6-10 257-3"
データの入力規則の「設定」タブを選択します。
入力値の種類で「整数」を選択します。
"【Officeシリーズ】-2021-6-10 257-4"
データで「次の値以上」を選択しました。
"【Officeシリーズ】-2021-6-10 257-5"
最小値に「0(ゼロ)」を入力しました。[OK]ボタンをクリックすると入力規則が設定されます。
"【Officeシリーズ】-2021-6-10 257-6"
整数以外が入力されると警告画面が表示されます。つまり、小数値は入力できません。
下図はD3セルに「5.5」と入力した状態です。「5.5」は設定した入力規則を満たさないので再試行して整数値を入れ直すか、入力をキャンセルすることになります。
"【Officeシリーズ】-2021-6-10 257-7"
入力値を小数値に制限する
入力値の種類を「小数点数」にすると、小数の数値が入力できるようになります。なお、整数値も入力可能です。
入力規則の設定を行うセルを選択して、[データ]タブのデータツールグループにある[データの入力規則]を実行します。
"【Officeシリーズ】-2021-6-10 257-8"
D3:D6セルに入力の種類で「小数点数」、データで「次の値の間」、最小値で「0」、最大値で「150」を設定しました。
下図で分かるように小数と整数が入力できるのかわかります。
なお、入力の種類の「小数点数」とは不思議な日本語に感じます。小数点のある数値といった意味合いのことばではないかと推測します。
"【Officeシリーズ】-2021-6-10 257-9"
マイクロソフトの「VBAリファレンス:XlDVType 列挙 (Excel)」の説明では下表の説明になっています。「数値」が何を指しているのか理解できませんでした(-_-;)
"【Officeシリーズ】-2021-6-10 257-10"
入力値を日付で制限する
入力値の種類を「日付」に設定すると、日付データを制限することができます。細かく言うと 日付+時刻 で制限することができます。
たとえば今日の日付までは入力できるようにしたいとします。(未来の日付は入力できないようにしたい。)
入力規則の設定を行うセルを選択して、[データ]タブのデータツールグループにある[データの入力規則]を実行します。
"【Officeシリーズ】-2021-6-10 257-11"
入力の種類で「日付」、データで「次の値以下」、次の日付までで「=TODY()」と設定しました。 =NOW()でもOKです。
"【Officeシリーズ】-2021-6-10 257-12"
ここを作成したのは 2016/9/15ですので、未来の 2016/10/1 を入力しようとすると警告が表示され入力できません。
"【Officeシリーズ】-2021-6-10 257-13"
入力値を時刻で制限する
入力値の種類を「時刻」に設定すると、時刻データを制限することができます。
時刻 0:00~23:59:59 に入力を制限する例です。
セルを選択して、[データ]タブのデータツールグループにある[データの入力規則]を実行します。
"【Officeシリーズ】-2021-6-10 257-14"
入力値の種類を「時刻」に設定しました。
データで「次の値の間」を選択しました。
次の時刻からに「0:00:00」、次の時刻までに「23.59.59」としました。
次項で説明するように「24:00」以上は入力できないためです。
"【Officeシリーズ】-2021-6-10 257-15"
時刻で「次の値の間」を使うと 25:00 とか 26:00 といった24:00以上の値を設定することができません。
「終了時刻に入力した時刻は無効です。」と表示され、設定ができません。
"【Officeシリーズ】-2021-6-10 257-16"
0:00~26:00に制限する例です。シリアル値を使って設定することができます。
入力値の種類で[ユーザー設定]を選択します。
数式で =and(C3>=0,C3<="26:00"*1) と設定します。
選択しているセル範囲の先頭がC3ですので、C3セルを使った数式で条件を作成します。
"【Officeシリーズ】-2021-6-10 257-17"
↓
26:00は入力できましたが、26:00以下に制限しているので 27:00は入力できませんでした。
セルの表示形式は [h]:mm:ss としてあります。
"【Officeシリーズ】-2021-6-10 257-18"
入力値を文字列の長さで制限する
セルに入力できる文字の数を3文字に制限してみます。
セルを選択して、[データ]タブのデータツールグループにある[データの入力規則]を実行します。
"【Officeシリーズ】-2021-6-10 257-19"
入力値の種類で「文字列(長さ指定)」を選択します。
データで「次の値以下」を選択しました。
最大値で「3」と入力しました。
下図のように半角文字も全角文字も3文字以下に制限することができます。
"【Officeシリーズ】-2021-6-10 257-20"
入力するセルの幅で入力する文字数を制限するケースです。
入力する文字を全角文字で3文字以下、半角文字は6文字以下に制限したいと思います。入力するセルの幅で入力する文字数を制限するケースです。
全角文字と半角文字の文字数を数えるには LENB関数が使えそうです。全角文字は2バイト、半角文字は1バイトなので LEND(セル)<=6 と条件が作成できそうです。
あとは文字と数値の区別です。ISTEXT(セル)=TRUE、ISNUMBER(セル)=FALSE、TYPE()=2 といった関数が使えそうです。
ISTEXT(セル)=TRUE がわかりやすいので、これと LEND(セル)<=6 の条件を作成すればよさそうです。
入力値の種類で「ユーザー設定」を選択します。
数式に「=AND(ISTEXT(B3)=TRUE,LENB(B3)<=6)」と入力しました。
"【Officeシリーズ】-2021-6-10 257-21"
全角文字を4文字入力しようとすると、警告画面が表示され入力できません。
"【Officeシリーズ】-2021-6-10 257-22"
半角文字で7文字入力しようとすると、警告画面が表示され入力できません。
"【Officeシリーズ】-2021-6-10 257-23"
数値を入力しようとすると、警告画面が表示され入力できません。【Officeシリーズ】
"【Officeシリーズ】-2021-6-10 257-24"
以上のように入力する文字を全角文字で3文字以下、半角文字は6文字以下に制限できました。【Officeシリーズ】
※コメント投稿者のブログIDはブログ作成者のみに通知されます