Introduction
Ver. all 2013 2016 2019 2021 365
数値を丸める方法としては「四捨五入」が有名ですね。
有名なROUND関数を使用すれば簡単に設定できます。
しかし、仕事の現場によっては、五捨六入(ごしゃろくにゅう)、五捨五超入(ごしゃごちょうにゅう)が必要になるかもしれません。
- 五捨五超入・・・保険料や薬剤料の計算で使用する
- 五捨六入・・・何かの都合で必要かも・・・
五捨六入の設定方法に関しては、同じ方法で三捨四入や、六捨七入なんかもできますよ。
ここでは、それぞれの意味と設定方法を解説します。
少し考え方が難しい部分もあるので、のんびり読んでください。
そもそも「五捨五超入」って何なのにゃ?
五捨六入と五捨五超入の違い
設定方法を確認する前に、五捨六入と五捨五超入の違いを確認しましょう。
まず、有名な四捨五入を考えてみます。
四捨五入とは、揃える桁の1つ下の値が5以上であれば切り上げて、5より小さい場合は切り捨てることですね。
下の表をご覧ください。
B列に「1.1」~「1.9」まで入力して、小数点第1位を四捨五入したものをD列に表示したものです。結果の「1」と「2」の境目に二重線を引いています。
「1.4」までは「1」となり、「1.5」から「2」になっていますね。
今更ですが、これが四捨五入。
ちなみに、「D2」には四捨五入する関数のROUND関数を使用しています。
=ROUND(B2,0)
ROUND関数・・・指定した数値を四捨五入する。
ROUND(数値,桁数)
- 数値・・・四捨五入したい数値(対象セル)を指定
- 桁数・・・四捨五入した後の結果の桁数を指定(整数にしたい場合は「0」)
では、五捨六入と五捨五超入を考えてみます。
下の表をご覧ください。※五捨五超入を説明するために、元データを小数点第2位までにしています。
二重線の場所に注目して、じーっと集中してご覧ください。
五捨六入・・・四捨五入と考え方は同じ。6より下は切り捨てて、6以上を切り上げる
五捨五超入・・・5を少しでも超えたものを切り上げる(5.0000…001 から切り上げる)
どうでしょうか。
五捨六入は分かりやすいですね。四捨五入のかたちを、1つ数を増やして考えるだけです。
五捨五超入は「五超入」の意味に集中すれば理解しやすいかもしれません。
「五を少しでも超えれば上に入れちゃう」という感じ。
五捨六入を設定する方法
まず、五捨六入を考える前に、有名な四捨五入を考えてみます。
四捨五入とは、対象の桁の値が5以上であれば切り上げて、5より小さい場合は切り捨てることですね。
下の表の「1.1」~「1.9」までの数値を小数点第1位を四捨五入すると、下のようになります。
「1.5」から「2」になりますね。
では、五捨六入を考えてみましょう。
下のようになればOKですね。
上の表だと、「1.6」から「2」になります。
五捨六入は、四捨五入をするROUND関数を使えば簡単にできます。
ROUND関数・・・指定した数値を四捨五入する。
ROUND(数値,桁数)
- 数値・・・四捨五入したい数値(対象セル)を指定
- 桁数・・・四捨五入した後の結果の桁数を指定(整数にしたい場合は「0」)
最初の四捨五入で入力されていた関数はこちら。
=ROUND(B2,0)
「B2の1.1を小数点一桁目で四捨五入しなさい」
という意味です。
説明を分かりやすくするために、少し下の「1.5」の場所で説明しましょう。
この場所だと「1.5を四捨五入しなさい」ということになりますね。
今回は五捨六入したいので、この場所は四捨五入されると困ります。
であれば、「1.5」の数値を「1.4」にしてから四捨五入すれば・・・。
ということで、下のように「B2」の数値を「-0.1」してしまいましょう。
これで「1.5」の場所は「1.4」になって切り捨てられ、「1.6」の場所が「1.5」になって切り上がるようになります。
つまり、五捨六入になるということ。
整数の値を五捨六入するには、元の数値を「-0.1」する
これを覚えておきましょう。
今回の例は、小数点1桁目を五捨六入でした。では、小数点2桁目の場合はどうなるでしょう。
下の画像をご覧ください。
元の数値から「0.01」を引いてあげることになります。
つまり、こういう事が言えますね。※ROUND関数の[桁数]の場所を「0」から「1」に変更するのを忘れずに
五捨六入するには、対象桁の数値を1つ小さくしてあげる
おまけで、10の位を五捨六入して下のようにするには、
どうすれば良いのか考えてみましょう。
下の赤丸の場所には何を入れれば良いのか・・・。
※ちなみに、ROUND関数の[桁数]の場所は10の位を四捨五入する場合は「-2」になります。
「対象桁の数値を1つ小さくしてあげる」のでした。
今回は10の位を1つ小さくしたい。ということで「-10」が正解になります。
三捨四入や、六捨七入を設定してみる
同じROUND関数を使用して、三捨四入や、六捨七入を考えてみましょう。
下の表で四捨五入する場合が
=ROUND(B2,0)
でした。
五捨六入の場合は、
=ROUND(B2-0.1,0)
つまり、対象の桁をマイナス1して、1つ小さくしてあげるのでした。
そこから考えると、
六捨七入は、対象の桁を2つ小さくすればよいことになります。
同じ場所で関数を考えると、
=ROUND(B2-0.2,0)
ということになりますね。
また、三捨四入の場合は、逆方向になるのでマイナスではなくプラスしてあげる必要があります。
やはり同じ場所で考えると、
=ROUND(B2+0.1,0)
になります。
ROUND関数を利用することで、様々な設定が可能になりますね。
五捨五超入を設定する方法
次に五捨五超入を設定する方法です。
幾つか方法があるのですが、ここでは正確で簡単に結果が出せるCEILING関数を使用した方法を紹介します。指定した値の倍数で数値を切り上げる場合に使用する関数です。
※ROUNDUP関数とIF関数を組み合わせる方法もあるのですが、ちょっと式が長くなってしまいます。
では、下の表の「B列」の数値を五捨五超入にして赤枠で囲んだ部分に表示します。
まず、関数を入れる「D2」を選択して[関数の挿入ボタン]をクリック。
[関数の分類]を[すべて表示]にしてCEILING関数を選びます。
関数の引数入力画面は下のようになります。
CEILING関数・・・基準値の倍数で、最も近い値に数値を切り上げる。
CEILING(数値,基準値)
- 数値・・・切り上げたい数値(対象セル)を指定
- 基準値・・・倍数の基準となる数値を指定
今回入力する引数は下のようになります。
=CEILING(B2-0.5,1)
元の数値から「0.5」引いたものを「1」の倍数で切り上げるという意味です。
[OK]をクリックすると結果が表示されます。
後は、下にオートフィル機能を使用してコピーすればいいですね。
確かに五捨五超入になっています。
さて、ここから、先ほどの引数の意味を考えてみましょう。
=CEILING(B2-0.5,1)
- なぜ、わざわざ元のデータから「0.5」引き算するの?
- なぜ、[基準値]の場所は「0.5」ではなくて「1」なの?
まず、後ろの[基準値]の「1」を考えてみましょう。
「1」の倍数で切り上げるということは、「1.1」など、「1」を少しでも超えれば「2」(次の値)に切り上げるということ。
下の表が例です。
数値 | 切り上げた結果 |
0 | 0 |
0.1 | 1 |
0.5 | 1 |
1 | 1 |
1.1 | 2 |
1.5 | 2 |
1.6 | 2 |
ふむふむ。しかしこのままでは、五捨五超入になっていません。ということで、元の数字から「0.5」を引いてあげるとうまくいきます。
数値 | 0.5引いた数値 | 切り上げた結果 |
0 | -0.5 | 0 |
0.1 | -0.4 | 0 |
0.5 | 0 | 0 |
1 | 0.5 | 1 |
1.1 | 0.6 | 1 |
1.5 | 1 | 1 |
1.6 | 0.1 | 2 |
どうでしょうか。少しイメージがわきにくいかもしれません。
今回使用した表でもう1度考えてみましょう。
今回の例の最初のデータ、「1.46」ここから「0.5」引いてあげると
1.46-0.5 = 0.96
これは、1の倍数で切り上げると「1」になります。
では、「1.50」の場合です。
1.50-0.5 = 1
「1」ぴったりになるので、1の倍数で切り上げても「1」のまま。
そして最後に1.51の場合。
1.51-0.5 = 1.1
「1」を超えたので「2」になります。
以上のように、CELILING関数を使用して五捨五超入する場合は
- [数値]に指定する値を「0.5」減算する
- [基準値]に「1」を指定する
この2つを覚えておくと安心です。
まとめ
頻繁に誰でも使用する機能ではありませんが、知っておくと便利な知識ですね。
五捨五超入で紹介したCEILING関数は、在庫管理などにも使用できる便利な関数です。
下のリンク先で詳しく説明しているので興味のある方はご覧ください。
「CEILING」は「シーリング」と読むにゃ