12/21/2017

Excel。入力規則で小数点第一位までしか入力できないようにしたい【Decimal point】

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倍すれば対応可能ですよ。

簡単な数式ですが、入力規則と合わせて使うと効果抜群ですね。