Excel。入力規則で小数点第一位までしか入力できないようにしたい
<入力規則+INT関数>
次のような出退勤管理の表があります。出勤・退勤は、8:28に出勤ならば、8.5というように、
30分毎に0.5で区切って入力する表の場合、
間違えて、小数点第一位以降小数点を入力させないようにしたいとします。
このように、入力にルールを設けるには、入力規則を使うといいのですが、
小数点第一位以降の小数点を入力できないようにするには、
少しアイディアが必要なんですね。
では、入力規則を確認してみましょう。
B3:C7を範囲選択して、データタブの「データの入力規則」をクリックして、
データの入力規則ダイアログボックスを表示しましょう。
設定タブの条件設定にある入力値の種類を「小数点数」にしてみて、
データを「次の値以上」で最小値を「0.1」にして
OKボタンをクリックしてみたらどうなるのでしょうか?
では、B3に8.5と入力してみると、問題なく入力できます。
しかし、8.55と入力してみましょう。
小数点第二位まで入力出来てしまいましたよね。
これでは、今回やりたいこととは違います。
最小値を0.1にしても、0.11は入力出来てしまいます。
つまり、小数点第一位までという入力規則を用意されている
入力値の種類をそのまま使うことは難しいようですね。
そこで、ユーザー設定を使ってみましょう。
改めて、B3:C7に入力規則を設定していきます。
なお、入力規則はクリアしておきます。
設定タブの入力値の種類を「ユーザー設定」にすると、
数式ボックスが登場しますので、そこに、
=B3*10=INT(B3*10)
という数式を設定します。
そして、OKボタンをクリックしましょう。
では、B3に8.55と入力してみましょう。
今回は、エラーメッセージが表示されて、入力することが出来ませんね。
これで、今回の目的である、
小数点第一位までしか入力することが出来ないように
入力規則を使うことで出来ました。
では、数式に設定した、
=B3*10=INT(B3*10)
を確認してみましょう。
B3の値を10倍した値、先程の8.5を使ってみると、85。
INT関数のB3の値を10倍した値は、8.5だと、85なので等しくなります。
8.55の場合どうなるのでしょうか?
B3の値を10倍した値、8.55を使ってみると、85.5。
8.55をINT関数のB3の値を10倍した値は、85.5なのですが、
INT関数を使うことで整数化されていますから、85になり、
85.5と85を比べますので、等しくない。
つまり、小数点第一位以降の数値が入力されているということが
わかるようになっています。
なお、小数点第二位としたい場合は、100倍すれば対応可能ですよ。
簡単な数式ですが、入力規則と合わせて使うと効果抜群ですね。