切り捨て、切り上げ、四捨五入で算出する
数値の「まるめ」に関する関数を紹介します。
- 「切り捨て」で算出する。
- TRUNC関数を使う。
(画像をクリックすると、このサンプルがダウンロードできます)
切り捨ては、INT関数を使う方もいると思いますが、「0に近づける」のが切り捨てだという前提では、INT関数はマイナスの時に逆作用となります。
INT関数では「0に近づける」のではなく「マイナス方向」へ切り捨てられます。
「0に近づける」のであれば、正しくはTRUNC関数を使います。
VBAでの「INT」と「FIX」の違いと同じです。
※R1C1参照形式の場合は
となります。
- 「切り上げ」で算出する。
- CEILING関数を使う。
切り上げにはCEILING関数を使います。
CEILING関数は「0から遠い方」を算出しますが、カンマの右はその単位を指定します。ここでは整数なので「1」を指定します。
※R1C1参照形式の場合は
となります。
- 「四捨五入」で算出する。
- ROUND関数を使う。
四捨五入にはROUND関数を使います。
カンマの右には四捨五入する桁位置を指定します。「0」を指定すれば整数単位で四捨五入され、「0」より大きい整数では小数部のその桁数位置で四捨五入されます。負の整数を指定した場合はその桁数の整数部桁数で四捨五入されます。
例えば、「-3」であれば千円単位に四捨五入されます。
※R1C1参照形式の場合は
となります。
切り捨て・切り上げ・四捨五入の問題は表示上だけの問題ではなく、この値を二次利用する計算式などにも影響します。表示上はセル書式で整数部だけを表示させることができますが、内部の値はこれらの関数で処置しなければ「実数」のままとなってしまいます。
特にセル上で整数のみを表示させているような場合は、実際には実数がセルに収容されているため、このセルを他のセルから計算式で参照するような場合は、実際にセルに収容されている実数を参照してしまいます。結果として、整数に見えていたものが整数ではないという現象が起きます。