正しい端数処理をGoogleスプレッドシートで

Excelと同じく、Googleスプレッドシートでも、表に入力した数値を小数点以下で四捨五入したり、十の位で切り捨て切り上げしたりしたいことがあります。

こうした数値の丸めのために、あらためて数値を入力し直す必要はありません。それぞれに対応する関数を使えば、簡単に処理することが可能です。

そして、そのときに効果を発揮するのが、「ROUND」「ROUNDDOWN」「ROUNDUP」という3つの関数です。それぞれが四捨五入、切り捨て、切り上げに対応しており、ExcelとGoogleスプレッドシートのどちらでも利用できます。

本記事では、これらの関数を使ったGoogleスプレッドシートでの数値の丸めについて、まとめておさらいしましょう。また、セルの表示形式を使った四捨五入との違いについても、あわせて解説します。

利用頻度の高い四捨五入は「ROUND関数」

数値の四捨五入には、ROUND(ラウンド)関数を使います。構文は以下の通りです。

=ROUND, 桁数

  • ] ... 四捨五入したい元の数値を指定します。
  • 桁数] ... 四捨五入して、どの桁まで求めるのかを整数で指定します。

1つめの引数[]は、処理するの数値です。直接入力するのではなく、セルを参照することが多いでしょう。

悩むのが2つめの引数[桁数]です。「1592.645」という数値を例に、[]と[桁数]の関係を以下の表にまとめました。

1 5 9 2 . 6 4 5
桁数 -3 -2 -1 0(省略可) 1 2 3

例えば[桁数]に「-1」と指定すると、一の位が四捨五入されて十の位までが求められます。「1592.645」なら「1590」となります。

すべての[桁数]ごとの結果をまとめると、以下のようになります。小数点以下を四捨五入する場合は[桁数]を省略しても構いません。

Googleスプレッドシートで数値を丸める。四捨五入、切り捨て、切り上げのおさらい

セルB1の値「1592.645」を、ROUND関数で四捨五入しています。

切り捨ては「ROUNDDOWN関数」

数値の切り捨てには、ROUNDDOWN(ラウンドダウン)関数を使います。構文は以下の通りで、引数の指定方法はROUND関数と同じです。

=ROUNDDOWN, 桁数

引数[桁数]で指定した桁より下で切り捨てます。まとめると以下のようになります。

Googleスプレッドシートで数値を丸める。四捨五入、切り捨て、切り上げのおさらい

セルB1の値「1592.645」を、ROUNDDOWN関数で切り捨てています。

切り上げは「ROUNDUP関数」

数値の切り上げには、ROUNDUP(ラウンドアップ)関数を使います。構文は以下の通りで、引数の指定方法はROUND関数、ROUNDDOWN関数と同じです。

=ROUNDUP, 桁数

引数[桁数]で指定した桁より下で切り上げます。まとめると以下のようになります。

Googleスプレッドシートで数値を丸める。四捨五入、切り捨て、切り上げのおさらい

セルB1の値「1592.645」を、ROUNDUP関数で切り上げています。

小数点以下は見た目だけ四捨五入できる

数値の小数点以下の桁は、関数を使わずにセルの表示形式で四捨五入する方法もあります。Googleスプレッドシートでは、ツールバーにある[小数点以下の桁数を減らす]をクリックすると、非表示にした桁が四捨五入されます。

Googleスプレッドシートで数値を丸める。四捨五入、切り捨て、切り上げのおさらい

小数点以下の桁数を減らす]をクリックすると、小数点以下の桁の表示を減らして、非表示の桁が四捨五入されます。

しかし、この方法は見た目の数値が変わるだけで、実際の数値は変わらないことに注意してください。具体例を見てみましょう。

Googleスプレッドシートで数値を丸める。四捨五入、切り捨て、切り上げのおさらい

「表示形式」列と「ROUND関数」列で、同じ数値が入力されているように見えますが、合計が異なっています。

「表示形式」列と「ROUND関数」列には同じ数値が入力されているように見えますが、5行目で求めている合計が異なっています。「234+866+458」は「1558」が正しいのですが、なぜこのような現象が起こるのでしょうか? 数式バーでセルA2とB2の内容を見比べてみましょう。

Googleスプレッドシートで数値を丸める。四捨五入、切り捨て、切り上げのおさらい

セルA2には「234.12」と入力されていることが分かります。

Googleスプレッドシートで数値を丸める。四捨五入、切り捨て、切り上げのおさらい

セルB2には「=ROUND(A2)」と入力されていることが分かります。

セルA2には「234.12」という数値、セルB2には「=ROUND(A2)」という数式が入力されていました。「=ROUND(A2)」により、セルA2の小数点以下第一位が四捨五入された数値が求められていたわけです。

小数点以下の桁を表示して、すべてのセルの内容を確認してみましょう。

Googleスプレッドシートで数値を丸める。四捨五入、切り捨て、切り上げのおさらい

セル範囲を選択して[小数点以下の桁数を増やす]を2回クリックします。

Googleスプレッドシートで数値を丸める。四捨五入、切り捨て、切り上げのおさらい

「表示形式」列の数値は、小数点以下の桁が「0」ではないことが分かります。

「ROUND関数」列の数値は小数点以下の桁が「0」ですが、「表示形式」列の数値は小数点以下の桁が「0」ではありません。つまり、5行目の合計はどちらも正しいということになります。

セルの表示形式で「見た目だけ」四捨五入したセルと、ROUND関数で数値そのものを四捨五入したセルを混在させると、計算が合わなくなる可能性があります。税率の計算など、端数の処理を厳密に行う必要がある場合は注意してください。

関連記事