Home 丸め方の基礎 最近接丸め 五捨六入 エクセル関数 五捨五超入 銀行丸め
1. 小数部で場合分け
2. 減算して切り上げ
3. 床・天井関数の変換
4. 天井関数の分解
5. 反復丸め
実数 x に対して,切り捨て,切り上げ,四捨五入,五捨五超入をする関数を F(x),C(x),R(x),Ř(x) とする。 \begin{align*} &F(x)=\begin{cases} \lfloor x\rfloor &x\ge 0\\\lceil x\rceil &x\le 0 \end{cases} &&C(x)=\begin{cases} \lceil x\rceil &x\ge 0\\\lfloor x\rfloor &x\le 0 \end{cases} \\ &R(x)=\begin{cases} \lfloor x+0.5\rfloor &x>-0.5\\\lceil x-0.5\rceil &x<0.5 \end{cases} &&\check{R}(x)=\begin{cases} \lceil x-0.5\rceil &x>-0.5\\\lfloor x+0.5\rfloor &x<0.5 \end{cases} \end{align*} 丸めの幅を d>0 として,切り捨て,切り上げ,四捨五入,五捨五超入をする関数を Fd(x),Cd(x),Rd(x),Řd(x) とする。 \begin{align*} &F^d(x)=F(x\div d)\times d,\qquad &&C^d(x)=C(x\div d)\times d \\ &R^d(x)=R(x\div d)\times d,\qquad &&\check{R}{}^d(x)=\check{R}(x\div d)\times d \end{align*}
非負の実数 x に対して,整数部を Int(x)=⌊x⌋,小数部を Frac(x)=x−⌊x⌋ とする。 五捨五超入をすると,x の小数部が0.5以下なら切り捨て,0.5超なら切り上げられる。 \[ \begin{cases} \lfloor x\rfloor &\text{Frac}(x)\le 0.5 \\ \lceil x\rceil &\text{Frac}(x)>0.5 \end{cases} \] 非負の数値に対して,次のEXCEL数式で五捨五超入をすることができる。
負数を含む任意の実数 x に対して,整数部を Int(x)=F(x),小数部を Frac(x)=x−F(x) とする。 丸めの幅を d として五捨五超入をすると,x÷d の小数部が0.5以下なら切り捨て,0.5超なら切り上げられる。 \begin{equation} \check{R}^d(x)=\begin{cases} F^d(x) &|\text{Frac}(x\div d)|\le 0.5 \\ C^d(x) &|\text{Frac}(x\div d)|>0.5 \end{cases} \end{equation} 負数を含む任意の数値に対して,1000ごとに五捨五超入をする場合は,基準値=1000 または 桁数=−3 とする。
=IF(MOD(数値,1)<=0.5,FLOOR(数値,1),CEILING(数値,1)) =IF(MOD(数値,1)<=0.5,ROUNDDOWN(数値,0),ROUNDUP(数値,0))
=IF(ABS(数値/1000−TRUNC(数値/1000))<=0.5, FLOOR.MATH(数値,1000,1),CEILING.MATH(数値,1000,1)) =IF(ABS(数値/1000−TRUNC(数値/1000))<=0.5, ROUNDDOWN(数値,−3),ROUNDUP(数値,−3))
次のページへ
1. 小数部で場合分け
2. 減算して切り上げ
3. 床・天井関数の変換
4. 天井関数の分解
5. 反復丸め
非負の実数 x に対して,五捨五超入は天井関数で表すことができる。 \[ \lceil x-0.5\rceil \] 非負の数値に対して,次のEXCEL数式で五捨五超入をすることができる。
=CEILING.MATH(数値−0.5,1) =MAX(0,ROUNDUP(数値−0.5,0))
次のように変形できるから, \[ \lceil x-0.5\rceil =\lceil x-0.5+1\rceil -1 =\lceil x+0.5\rceil -1 \] 非負の数値に対して,次のEXCEL数式で五捨五超入をすることができる。
=ROUNDUP(数値+0.5,0)−1
=CEILING(数値+0.5,1)−1
負数を含む任意の実数を丸める場合は,絶対値を丸めて符号を付ければよい。 \[ -34.5\xrightarrow{符号反転}34.5\xrightarrow{五捨五超入}34\xrightarrow{符号反転}-34 \] 負数を含む任意の数値に対して,1000ごとに五捨五超入をする場合は,基準値=1000 または 桁数=−3 とする。
=SIGN(数値)∗CEILING.MATH(ABS(数値)−500,1000) =SIGN(数値)∗MAX(0,ROUNDUP(ABS(数値)−500,−3)) =SIGN(数値)∗(CEILING(ABS(数値)+500,1000)−1000)
次のページへ
1. 小数部で場合分け
2. 減算して切り上げ
3. 床・天井関数の変換
4. 天井関数の分解
5. 反復丸め
全体をAとBのふたつの部分に分け,Aの割合が 34.5% とすると,Bの割合は 65.5% になる。 Aの割合 34.5% を五捨五超入すると 34% になり,残りのBの割合は 65.5% から 66% に丸められる。 Bの割合の丸め方は四捨五入になっている。 \[ 34.5\xrightarrow{五捨五超入}34,\qquad 100-34.5\xrightarrow{四捨五入}100-34 \] あらかじめ上限(100% 等)が分かっている数値を五捨五超入するには,数値の補完部分を求めて四捨五入し,再び補完部分を求めればよい。 \[ 34.5\xrightarrow{補完部分}100-34.5\xrightarrow{四捨五入}100-34\xrightarrow{補完部分}34 \] 一般に ⌈x⌉=−⌊−x⌋ が成り立つから, 五捨五超入を四捨五入で表すことができる。Zは十分大きい整数とする。 \[ \lceil x-0.5\rceil =-\lfloor -x+0.5\rfloor =Z-\lfloor Z-x+0.5\rfloor \] 非負の数値に対して,次のEXCEL数式で五捨五超入をすることができる。 1000000 は十分大きい整数に置き換えてもよい。
負数を含む任意の数値に対して,次のEXCEL数式で五捨五超入をすることができる。 上のEXCEL数式において,1000000 を ROUNDUP(数値,桁数) または ROUND(数値,桁数) に置き換えたものである。
=1000000−ROUND(1000000−数値,桁数)
=ROUND(数値,桁数)−ROUND(ROUND(数値,桁数)−数値,桁数)
次のページへ
1. 小数部で場合分け
2. 減算して切り上げ
3. 床・天井関数の変換
4. 天井関数の分解
5. 反復丸め
床関数 ⌊x⌋ や ⌊x+0.5⌋ の値は,x が1増加するごとに1ずつ増加するのに対して, 床関数 ⌊2x⌋ の値は,x が0.5増加するごとに1ずつ増加する。 区間 [0.0, 0.5) は 0.0≤x<0.5 を満たす実数 x の集まりである。
xの範囲 | ⌊x⌋ | ⌊x+0.5⌋ | ⌊2x⌋ | |||
[0.0, 0.5) | 0 | + | 0 | = | 0 | |
[0.5, 1.0) | 0 | + | 1 | = | 1 | |
[1.0, 1.5) | 1 | + | 1 | = | 2 | |
[1.5, 2.0) | 1 | + | 2 | = | 3 |
天井関数 ⌈x⌉ や ⌈x−0.5⌉ の値は,x が1増加するごとに1ずつ増加するのに対して, 天井関数 ⌈2x⌉ の値は,x が0.5増加するごとに1ずつ増加する。 区間 (0.0, 0.5] は 0.0<x≤0.5 を満たす実数 x の集まりである。
xの範囲 | ⌈x⌉ | ⌈x−0.5⌉ | ⌈2x⌉ | |||
(0.0, 0.5] | 1 | + | 0 | = | 1 | |
(0.5, 1.0] | 1 | + | 1 | = | 2 | |
(1.0, 1.5] | 2 | + | 1 | = | 3 | |
(1.5, 2.0] | 2 | + | 2 | = | 4 |
床関数 ⌊2x⌋ や天井関数 ⌈2x⌉ について,次の性質が成り立つことから, \begin{gather*} \lfloor x\rfloor+\lfloor x+0.5\rfloor =\lfloor 2x\rfloor,\qquad \lfloor x+0.5\rfloor =\lfloor 2x\rfloor -\lfloor x\rfloor \\ \lceil x\rceil+\lceil x-0.5\rceil =\lceil 2x\rceil,\qquad \lceil x-0.5\rceil =\lceil 2x\rceil -\lceil x\rceil \end{gather*} 五捨五超入 Ř は切り上げ C の差で表現できる。 \[ \check{R}(x)=C(2x)-C(x) \] 負数を含む任意の数値に対して,次のEXCEL数式で五捨五超入をすることができる。
=ROUNDUP(数値∗2,桁数)−ROUNDUP(数値,桁数)
次のページへ
1. 小数部で場合分け
2. 減算して切り上げ
3. 床・天井関数の変換
4. 天井関数の分解
5. 反復丸め
丸めの幅を0.5として切り上げ,その結果を丸めの幅を1として切り捨てると,五捨五超入になる。
xの範囲 | 切り上げ(0.5) | 切り捨て(1) |
(−0.5, 0.0] | → 0.0 | → 0 |
(0.0, 0.5] | → 0.5 | → 0 |
(0.5, 1.0] | → 1.0 | → 1 |
(1.0, 1.5] | → 1.5 | → 1 |
五捨五超入は,切り上げと切り捨ての繰り返しで表現できる。 \[ \check{R}{}^1(x)=F^1(C^{0.5}(x)),\qquad \check{R}{}^1=F^1C^{0.5} \] 負数を含む任意の数値に対して,次のEXCEL数式で五捨五超入をすることができる。
1000ごとに五捨五超入をするときは,基準値=1000 または 桁数=−3 とする。
=ROUNDDOWN(ROUNDUP(数値∗2,桁数)/2,桁数) =FLOOR.MATH(CEILING.MATH(数値,基準値/2,1),基準値,1)
=ROUNDDOWN(ROUNDUP(数値∗2,−3)/2,-3)
=FLOOR.MATH(CEILING.MATH(数値,500,1),1000,1)
最後のページです
2012.12.24 作成 / 2020.4.23 更新
Home › エクセル関数による五捨五超入