セルの値を四捨五入/切り上げ/切り捨て

実務では数値の端数処理を行う場面にはけっこう遭遇します。 このページではセルの値の端数処理の方法を解説します。
  1. 四捨五入
  2. 切り上げ
  3. 切り捨て

  1. 四捨五入
  2. ◆表示形式による四捨五入表示

    小数点以下の桁における表示上の四捨五入は、 書式(O)セル(E)表示形式数値での 小数点以下の桁数で設定することができます。 また、整数以上の桁での四捨五入表示は桁区切り記号(,)での表示に限り、 千単位、百万単位の特殊な表示として表示形式ユーザー定義 で実現することができます。

    ABC
    1数値表示形式表示
    21234567.891数値,小数点以下2桁1234567.89
    31234567.891数値,小数点以下1桁1234567.9
    41234567.891数値,小数点以下0桁1234568
    51234567.891ユーザー定義[#,##0,]1,235
    61234567.891ユーザー定義[#,##0.0,]1,234.6
    71234567.891ユーザー定義[#,##0,,]1
    81234567.891ユーザー定義[#,##0.00,,]1.23

    【注意】 この方法での四捨五入は表示におけるものだけであるので、 実際のセルの内容が四捨五入した数値に変化するわけではないことに 注意を払わねばなりません。実際に端数処理を行った数値が必要な場合には以下の二つの方法があります。
    表示桁数で計算する(P)オプションを有効にする
    ツール(T)オプション(O)計算方法表示桁数で計算する(P)オプションを有効にするを設定します。 この方法はブックオプションであるため、設定したブック全体にこの計算基準が適用されます。 ブック全体で計算上の有効桁数表示に注意を払う必要があります。
    この後に述べるROUND関数で処理する
    ◆指定桁数で四捨五入(ROUND関数)を参考にしてください。

    ◆指定桁数で四捨五入(ROUND関数)

    計算などに使う目的で四捨五入した数値が必要な場合には、 対象の数値をROUND関数を使って四捨五入計算する必要があります。 直接入力した場合は数値を自動的に四捨五入計算することは(VBAを使用する以外では)できないので、 直接入力した数値を他のセルで計算する必要があります。
    ABC
    1数値数式表示
    21234567.891=ROUND(A2,2)1234567.89
    31234567.891=ROUND(A3,1)1234567.9
    41234567.891=ROUND(A4,0)1234568
    51234567.891=ROUND(A5,-1)1234570
    61234567.891=ROUND(A6,-2)1234600
    71234567.891=ROUND(A7,-3)1235000
    関数ヘルプ
    ROUND関数(HINT)

    ▲PAGETOP

  3. 切り上げ
  4. セルに入力された数値を特定桁数で切り上げすることは表示形式設定ではできません。 関数を使って切り上げした数値を計算する必要があります。

    ◆指定桁数で切り上げ(ROUNDUP関数)

    特定桁で切り上げした数値が必要な場合にはROUNDUP関数を使用します。
    ABC
    1数値数式表示
    21234567.891=ROUNDUP(A2,2)1234567.90
    31234567.891=ROUNDUP(A3,1)1234567.9
    41234567.891=ROUNDUP(A4,0)1234568
    51234567.891=ROUNDUP(A5,-1)1234570
    61234567.891=ROUNDUP(A6,-2)1234600
    71234567.891=ROUNDUP(A7,-3)1235000
    関数ヘルプ
    ROUNDUP関数(HINT)

    ◆指定した倍数ごとに切り上げ(CEILING関数)

    10進数規則に従わないような切り上げ計算にはCEILING関数を使用します。 数値 0 から遠くなる基準値の倍数になるような数値を返します。
    ABC
    1数値数式表示
    21234567.891=CEILING(A2,0.03)1234567.92
    31234567.891=CEILING(A3,0.3)1234568.1
    41234567.891=CEILING(A4,3)1234569
    51234567.891=CEILING(A5,30)1234590
    61234567.891=CEILING(A6,300)1234800
    71234567.891=CEILING(A7,3000)1236000
    関数ヘルプ
    CEILING関数(HINT)

    ▲PAGETOP

  5. 切り捨て
  6. ◆指定桁数で切り捨て(ROUNDDOWN関数)

    任意の桁数で数値を切捨てた値を返します。
    ABC
    1数値数式表示
    21234567.891=ROUNDDOWN(A2,2)1234567.89
    31234567.891=ROUNDDOWN(A3,1)1234567.8
    41234567.891=ROUNDDOWN(A4,0)1234567
    51234567.891=ROUNDDOWN(A5,-1)1234560
    61234567.891=ROUNDDOWN(A6,-2)1234500
    71234567.891=ROUNDDOWN(A7,-3)1234000
    関数ヘルプ
    ROUNDDOWN関数(HINT)

    ◆指定桁数で切り捨て(TRUNC関数)

    整数部分が必要なだけなら桁数指定の省略できるTRUNC関数も便利です。 切捨てを行う桁数も指定できるのでROUNDDOWN関数とほぼ使い勝手は同じです。
    ABC
    1数値数式表示
    21234567.891=TRUNC(A2,2)1234567.89
    31234567.891=TRUNC(A3,1)1234567.8
    41234567.891=TRUNC(A4)1234567
    51234567.891=TRUNC(A5,-1)1234560
    61234567.891=TRUNC(A6,-2)1234500
    71234567.891=TRUNC(A7,-3)1234000
    関数ヘルプ
    TRUNC関数(HINT)

    ◆指定した倍数ごとに切り捨て(FLOOR関数)

    10進数規則に従わないような切り捨て計算にはFLOOR関数を使用します。 数値 0 から近くなる基準値の倍数になるような数値を返します。
    ABC
    1数値数式表示
    21234567.891=FLOOR(A2,0.03)1234567.89
    31234567.891=FLOOR(A3,0.3)1234567.8
    41234567.891=FLOOR(A4,3)1234566
    51234567.891=FLOOR(A5,30)1234560
    61234567.891=FLOOR(A6,300)1234500
    71234567.891=FLOOR(A7,3000)1233000
    関数ヘルプ
    FLOOR関数(HINT)

    ◆小数点以下を切り捨て(INT関数)

    関数名が短い、引数がひとつだけ、ということでINT関数も良く利用されます。 整数部分を返すという点でTRUNC関数と似ていますが、小数部分を「切り捨て」(0に近くなるように)するのではなくて 「引数の数値を超えない整数にする」という処理をしているので負数を扱う時には注意が必要です。 以下、TRUNCとの比較です。
    ABC
    1数値数式表示
    21234567.891=TRUNC(A2)1234567
    31234567.891=INT(A3)1234567
    4-1234567.891=TRUNC(A4)-1234567
    5-1234567.891=INT(A5)-1234568
    関数ヘルプ
    INT関数(HINT)

    ◆小数点以下を切り捨て表示(表示形式)

    表示形式の設定で制限つきながら表示上切捨てにすることはできます。表示形式のユーザー定義を設定します。 たとえば、整数部分のみ表示、小数部分を切り捨てのような場合は以下のように設定します。
    の位置で CtrlJ として、表示形式内での改行を設定します。改行により切捨てしたい桁以下の部分を表示上隠すことを意図した 設定ですが、下記のような不都合、制限があります。
    数値によっては四捨五入になる
    設定した桁数よりも小さい桁の数値が入力された場合には意図した表示にならない場合があります。
    AB
    1数値表示
    21234567.4441,234,567
    31234567.9991,234,567
    41234567.9999 1,234,568
    行の高さによっては表示できない
    行の高さ、書式設定の配置の設定によっては表示したくない部分のほうが表示されてしまったり、 中途半端に表示されたりします。行の高さを変更する、または CtrlJを適宜追加することで、 対応できることはありますが、行の高さを変えられない状況の場合は意図した位置へ数値を表示することが 難しい場合があります。
    セルの値が変更されるわけではない
    これは表示形式による方法全般に言えることですが、表示形式によって実際に数値が 切捨てされるわけではありません。「そのように見える」だけなので、表示した値を 計算に使用する場合には注意が必要です。

    ▲PAGETOP


≪前のページへ    困ったときのお部屋目次へ   次のページへ≫

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送