2023年5月26日金曜日

端数処理について2

四捨五入・五捨六入・五捨五超入・銀行丸め(jis丸め)について負数の場合や整数化以外の場合についてもまとめてみた。


B列についての四捨五入等(正負連続型)を主にint関数を使って求めた。

小数点以下何位を求めるかをF4に入力する。

c8 =int($B8*10^$F$4+(10-C$2)/10)/10^$F$4

4捨5入正負連続整数化 g8 =int($B8+0.5)

(今回は2捨3入が1か所間違った値に)

BCDEFGHIJKL
21.002.003.004.005.006.007.008.009.0010.00
3使用
関数
intintintintintintintintintint
4B列
間隔
0.0051.00四捨
五入
0.02切り
捨て
5正負
連続
正負
連続
正負
連続
正負
連続
正負
連続
正負
連続
正負
連続
正負
連続
正負
連続
正負
連続
6正式
名称的
0捨
1入
1捨
2入
2捨
3入
3捨
4入
4捨
5入
5捨
6入
6捨
7入
7捨
8入
8捨
9入
9捨
10入
7略称
(仮)
1入
(仮)
2入
(仮)
3入
(仮)
4入
(仮)
5入
(仮)
6入
(仮)
7入
(仮)
8入
(仮)
9入
(仮)
10入
(仮)
8-0.515-0.50-0.50-0.50-0.50-0.50-0.50-0.50-0.50-0.60-0.60
9-0.510-0.50-0.50-0.50-0.50-0.50-0.50-0.50-0.50-0.50-0.60

中略
91-0.100-0.10-0.10-0.10-0.10-0.10-0.10-0.10-0.10-0.10-0.10
92-0.095-0.10-0.10-0.10-0.10-0.10-0.10-0.10-0.10-0.10-0.10
93-0.0900.00-0.10-0.10-0.10-0.10-0.10-0.10-0.10-0.10-0.10
94-0.0850.00-0.10-0.10-0.10-0.10-0.10-0.10-0.10-0.10-0.10
95-0.0800.000.00-0.10-0.10-0.10-0.10-0.10-0.10-0.10-0.10
96-0.0750.000.00-0.10-0.10-0.10-0.10-0.10-0.10-0.10-0.10
97-0.0700.000.00-0.10-0.10-0.10-0.10-0.10-0.10-0.10-0.10
98-0.0650.000.000.00-0.10-0.10-0.10-0.10-0.10-0.10-0.10
99-0.0600.000.000.000.00-0.10-0.10-0.10-0.10-0.10-0.10
100-0.0550.000.000.000.00-0.10-0.10-0.10-0.10-0.10-0.10
101-0.0500.000.000.000.000.00-0.10-0.10-0.10-0.10-0.10
102-0.0450.000.000.000.000.00-0.10-0.10-0.10-0.10-0.10
103-0.0400.000.000.000.000.000.00-0.10-0.10-0.10-0.10
104-0.0350.000.000.000.000.000.00-0.10-0.10-0.10-0.10
105-0.0300.000.000.000.000.000.000.00-0.10-0.10-0.10
106-0.0250.000.000.000.000.000.000.00-0.10-0.10-0.10
107-0.0200.000.000.000.000.000.000.000.00-0.10-0.10
108-0.0150.000.000.000.000.000.000.000.00-0.10-0.10
109-0.0100.000.000.000.000.000.000.000.000.00-0.10
110-0.0050.000.000.000.000.000.000.000.000.00-0.10
1110.0000.000.000.000.000.000.000.000.000.000.00
1120.0050.000.000.000.000.000.000.000.000.000.00
1130.0100.100.000.000.000.000.000.000.000.000.00
1140.0150.100.000.000.000.000.000.000.000.000.00
1150.0200.100.100.000.000.000.000.000.000.000.00
1160.0250.100.100.000.000.000.000.000.000.000.00
1170.0300.100.100.100.000.000.000.000.000.000.00
1180.0350.100.100.100.000.000.000.000.000.000.00
1190.0400.100.100.100.100.000.000.000.000.000.00
1200.0450.100.100.100.100.000.000.000.000.000.00
1210.0500.100.100.100.100.100.000.000.000.000.00
1220.0550.100.100.100.100.100.000.000.000.000.00
1230.0600.100.100.100.100.100.100.000.000.000.00
1240.0650.100.100.100.100.100.100.000.000.000.00
1250.0700.100.100.100.100.100.100.100.000.000.00
1260.0750.100.100.100.100.100.100.100.000.000.00
1270.0800.100.100.100.100.100.100.100.100.000.00
1280.0850.100.100.100.100.100.100.100.100.000.00
1290.0900.100.100.100.100.100.100.100.100.100.00
1300.0950.100.100.100.100.100.100.100.100.100.00
1310.1000.100.100.100.100.100.100.100.100.100.10


B列についての五捨五超入等(正負連続型)を主にint関数を使って求めた。

P8 =-int(-$B8*10^$F$4+P$2/10)/10^$F$4
Z8 =rounddown($B8,$F$4)
AA8 =ROUNDUP($B8,$F$4)
AB8 =ROUND($B8,$F$4)
5捨5超入正負連続整数化 u8 =-int(-$B8+0.5)
(今回は7捨7超入が1か所間違った値に)

BPQRSTUVWXYZAAAB
20.001.002.003.004.005.006.007.008.009.00
3使用
関数
intintintintintintintintintintround
-down
round
-up
round
4切り
上げ
切り
捨て
切り
上げ
四捨
五入
5正負
連続
正負
連続
正負
連続
正負
連続
正負
連続
正負
連続
正負
連続
正負
連続
正負
連続
正負
連続
正負
対称
正負
対称
正負
対称
6正式
名称的
0捨
0超入
1捨
1超入
2捨
2超入
3捨
3超入
4捨
4超入
5捨
5超入
6捨
6超入
7捨
7超入
8捨
8超入
9捨
9超入
7略称
(仮)
0捨
(仮)
1捨
(仮)
2捨
(仮)
3捨
(仮)
4捨
(仮)
5捨
(仮)
6捨
(仮)
7捨
(仮)
8捨
(仮)
9捨
(仮)
8-0.515-0.50-0.50-0.50-0.50-0.50-0.50-0.50-0.50-0.50-0.60-0.50-0.60-0.50
9-0.510-0.50-0.50-0.50-0.50-0.50-0.50-0.50-0.50-0.50-0.60-0.50-0.60-0.50

中略
91-0.100-0.10-0.10-0.10-0.10-0.10-0.10-0.10-0.10-0.10-0.10-0.10-0.10-0.10
92-0.0950.00-0.10-0.10-0.10-0.10-0.10-0.10-0.10-0.10-0.100.00-0.10-0.10
93-0.0900.00-0.10-0.10-0.10-0.10-0.10-0.10-0.10-0.10-0.100.00-0.10-0.10
94-0.0850.000.00-0.10-0.10-0.10-0.10-0.10-0.10-0.10-0.100.00-0.10-0.10
95-0.0800.000.00-0.10-0.10-0.10-0.10-0.10-0.10-0.10-0.100.00-0.10-0.10
96-0.0750.000.000.00-0.10-0.10-0.10-0.10-0.10-0.10-0.100.00-0.10-0.10
97-0.0700.000.000.00-0.10-0.10-0.10-0.10-0.10-0.10-0.100.00-0.10-0.10
98-0.0650.000.000.000.00-0.10-0.10-0.10-0.10-0.10-0.100.00-0.10-0.10
99-0.0600.000.000.000.00-0.10-0.10-0.10-0.10-0.10-0.100.00-0.10-0.10
100-0.0550.000.000.000.000.00-0.10-0.10-0.10-0.10-0.100.00-0.10-0.10
101-0.0500.000.000.000.000.00-0.10-0.10-0.10-0.10-0.100.00-0.10-0.10
102-0.0450.000.000.000.000.000.00-0.10-0.10-0.10-0.100.00-0.100.00
103-0.0400.000.000.000.000.000.00-0.10-0.10-0.10-0.100.00-0.100.00
104-0.0350.000.000.000.000.000.000.00-0.10-0.10-0.100.00-0.100.00
105-0.0300.000.000.000.000.000.000.00-0.10-0.10-0.100.00-0.100.00
106-0.0250.000.000.000.000.000.000.000.00-0.10-0.100.00-0.100.00
107-0.0200.000.000.000.000.000.000.000.00-0.10-0.100.00-0.100.00
108-0.0150.000.000.000.000.000.000.000.000.00-0.100.00-0.100.00
109-0.0100.000.000.000.000.000.000.000.000.00-0.100.00-0.100.00
110-0.0050.000.000.000.000.000.000.000.000.000.000.00-0.100.00
1110.0000.000.000.000.000.000.000.000.000.000.000.000.000.00
1120.0050.100.000.000.000.000.000.000.000.000.000.000.100.00
1130.0100.100.000.000.000.000.000.000.000.000.000.000.100.00
1140.0150.100.100.000.000.000.000.000.000.000.000.000.100.00
1150.0200.100.100.000.000.000.000.000.000.000.000.000.100.00
1160.0250.100.100.100.000.000.000.000.000.000.000.000.100.00
1170.0300.100.100.100.000.000.000.000.000.000.000.000.100.00
1180.0350.100.100.100.100.000.000.000.000.000.000.000.100.00
1190.0400.100.100.100.100.000.000.000.000.000.000.000.100.00
1200.0450.100.100.100.100.100.000.000.000.000.000.000.100.00
1210.0500.100.100.100.100.100.000.000.000.000.000.000.100.10
1220.0550.100.100.100.100.100.100.000.000.000.000.000.100.10
1230.0600.100.100.100.100.100.100.000.000.000.000.000.100.10
1240.0650.100.100.100.100.100.100.100.000.000.000.000.100.10
1250.0700.100.100.100.100.100.100.100.100.000.000.000.100.10
1260.0750.100.100.100.100.100.100.100.100.000.000.000.100.10
1270.0800.100.100.100.100.100.100.100.100.000.000.000.100.10
1280.0850.100.100.100.100.100.100.100.100.100.000.000.100.10
1290.0900.100.100.100.100.100.100.100.100.100.000.000.100.10
1300.0950.100.100.100.100.100.100.100.100.100.100.000.100.10
1310.1000.100.100.100.100.100.100.100.100.100.100.100.100.10

B列についての四捨五入等(正負対称型)を主にint関数を使って求めた。

AF8 =sign($B8)*int(abs($B8)*10^$F$4+(10-AF$2)/10)/10^$F$4

4捨5入正負対称整数化 aj8 =sign($B8)*int(abs($B8)+0.5)

BAFAGAHAIAJAKALAMANAO
21.02.03.04.05.06.07.08.09.010.0
3使用
関数
int
sign
abs
int
sign
abs
int
sign
abs
int
sign
abs
int
sign
abs
int
sign
abs
int
sign
abs
int
sign
abs
int
sign
abs
int
sign
abs
4四捨
五入
切り
捨て
5正負
対称
正負
対称
正負
対称
正負
対称
正負
対称
正負
対称
正負
対称
正負
対称
正負
対称
正負
対称
6正式
名称的
0捨
1入
1捨
2入
2捨
3入
3捨
4入
4捨
5入
5捨
6入
6捨
7入
7捨
8入
8捨
9入
9捨
10入
7略称
(仮)
1入
(仮)
2入
(仮)
3入
(仮)
4入
(仮)
5入
(仮)
6入
(仮)
7入
(仮)
8入
(仮)
9入
(仮)
10入
(仮)
8-0.515-0.600-0.500-0.500-0.500-0.500-0.500-0.500-0.500-0.500-0.500
9-0.510-0.600-0.500-0.500-0.500-0.500-0.500-0.500-0.500-0.500-0.500

中略
91-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100
92-0.095-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.1000.000
93-0.090-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.1000.000
94-0.085-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.1000.0000.000
95-0.080-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.1000.0000.000
96-0.075-0.100-0.100-0.100-0.100-0.100-0.100-0.1000.0000.0000.000
97-0.070-0.100-0.100-0.100-0.100-0.100-0.100-0.1000.0000.0000.000
98-0.065-0.100-0.100-0.100-0.100-0.100-0.1000.0000.0000.0000.000
99-0.060-0.100-0.100-0.100-0.100-0.100-0.1000.0000.0000.0000.000
100-0.055-0.100-0.100-0.100-0.100-0.1000.0000.0000.0000.0000.000
101-0.050-0.100-0.100-0.100-0.100-0.1000.0000.0000.0000.0000.000
102-0.045-0.100-0.100-0.100-0.1000.0000.0000.0000.0000.0000.000
103-0.040-0.100-0.100-0.100-0.1000.0000.0000.0000.0000.0000.000
104-0.035-0.100-0.100-0.1000.0000.0000.0000.0000.0000.0000.000
105-0.030-0.100-0.100-0.1000.0000.0000.0000.0000.0000.0000.000
106-0.025-0.100-0.1000.0000.0000.0000.0000.0000.0000.0000.000
107-0.020-0.100-0.1000.0000.0000.0000.0000.0000.0000.0000.000
108-0.015-0.1000.0000.0000.0000.0000.0000.0000.0000.0000.000
109-0.010-0.1000.0000.0000.0000.0000.0000.0000.0000.0000.000
110-0.0050.0000.0000.0000.0000.0000.0000.0000.0000.0000.000
1110.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.000
1120.0050.0000.0000.0000.0000.0000.0000.0000.0000.0000.000
1130.0100.1000.0000.0000.0000.0000.0000.0000.0000.0000.000
1140.0150.1000.0000.0000.0000.0000.0000.0000.0000.0000.000
1150.0200.1000.1000.0000.0000.0000.0000.0000.0000.0000.000
1160.0250.1000.1000.0000.0000.0000.0000.0000.0000.0000.000
1170.0300.1000.1000.1000.0000.0000.0000.0000.0000.0000.000
1180.0350.1000.1000.1000.0000.0000.0000.0000.0000.0000.000
1190.0400.1000.1000.1000.1000.0000.0000.0000.0000.0000.000
1200.0450.1000.1000.1000.1000.0000.0000.0000.0000.0000.000
1210.0500.1000.1000.1000.1000.1000.0000.0000.0000.0000.000
1220.0550.1000.1000.1000.1000.1000.0000.0000.0000.0000.000
1230.0600.1000.1000.1000.1000.1000.1000.0000.0000.0000.000
1240.0650.1000.1000.1000.1000.1000.1000.0000.0000.0000.000
1250.0700.1000.1000.1000.1000.1000.1000.1000.0000.0000.000
1260.0750.1000.1000.1000.1000.1000.1000.1000.0000.0000.000
1270.0800.1000.1000.1000.1000.1000.1000.1000.1000.0000.000
1280.0850.1000.1000.1000.1000.1000.1000.1000.1000.0000.000
1290.0900.1000.1000.1000.1000.1000.1000.1000.1000.1000.000
1300.0950.1000.1000.1000.1000.1000.1000.1000.1000.1000.000
1310.1000.1000.1000.1000.1000.1000.1000.1000.1000.1000.100


B列についての五捨五超入等(正負対称型)を主にint関数を使って求めた。

AS8 =-sign($B8)*int(-abs($B8)*10^$F$4+AS$2/10)/10^$F$4

5捨5超入正負対称整数化 ax8 =-sign($B8)*int(-abs($B8)+0.5)

(今回は7捨7超入が2か所間違った値に)

BASATAUAVAWAXAYAZBABB
20.01.02.03.04.05.06.07.08.09.0
3使用
関数
int
sign
abs
int
sign
abs
int
sign
abs
int
sign
abs
int
sign
abs
int
sign
abs
int
sign
abs
int
sign
abs
int
sign
abs
int
sign
abs
4切り
上げ
5正負
対称
正負
対称
正負
対称
正負
対称
正負
対称
正負
対称
正負
対称
正負
対称
正負
対称
正負
対称
6正式
名称的
0捨
0超入
1捨
1超入
2捨
2超入
3捨
3超入
4捨
4超入
5捨
5超入
6捨
6超入
7捨
7超入
8捨
8超入
9捨
9超入
7略称
(仮)
0捨
(仮)
1捨
(仮)
2捨
(仮)
3捨
(仮)
4捨
(仮)
5捨
(仮)
6捨
(仮)
7捨
(仮)
8捨
(仮)
9捨
(仮)
8-0.515-0.600-0.600-0.500-0.500-0.500-0.500-0.500-0.500-0.500-0.500
9-0.510-0.600-0.500-0.500-0.500-0.500-0.500-0.500-0.500-0.500-0.500

中略
91-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100
92-0.095-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100
93-0.090-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.1000.000
94-0.085-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.1000.000
95-0.080-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.1000.0000.000
96-0.075-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.1000.0000.000
97-0.070-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.1000.0000.000
98-0.065-0.100-0.100-0.100-0.100-0.100-0.100-0.1000.0000.0000.000
99-0.060-0.100-0.100-0.100-0.100-0.100-0.1000.0000.0000.0000.000
100-0.055-0.100-0.100-0.100-0.100-0.100-0.1000.0000.0000.0000.000
101-0.050-0.100-0.100-0.100-0.100-0.1000.0000.0000.0000.0000.000
102-0.045-0.100-0.100-0.100-0.100-0.1000.0000.0000.0000.0000.000
103-0.040-0.100-0.100-0.100-0.1000.0000.0000.0000.0000.0000.000
104-0.035-0.100-0.100-0.100-0.1000.0000.0000.0000.0000.0000.000
105-0.030-0.100-0.100-0.1000.0000.0000.0000.0000.0000.0000.000
106-0.025-0.100-0.100-0.1000.0000.0000.0000.0000.0000.0000.000
107-0.020-0.100-0.1000.0000.0000.0000.0000.0000.0000.0000.000
108-0.015-0.100-0.1000.0000.0000.0000.0000.0000.0000.0000.000
109-0.010-0.1000.0000.0000.0000.0000.0000.0000.0000.0000.000
110-0.005-0.1000.0000.0000.0000.0000.0000.0000.0000.0000.000
1110.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.000
1120.0050.1000.0000.0000.0000.0000.0000.0000.0000.0000.000
1130.0100.1000.0000.0000.0000.0000.0000.0000.0000.0000.000
1140.0150.1000.1000.0000.0000.0000.0000.0000.0000.0000.000
1150.0200.1000.1000.0000.0000.0000.0000.0000.0000.0000.000
1160.0250.1000.1000.1000.0000.0000.0000.0000.0000.0000.000
1170.0300.1000.1000.1000.0000.0000.0000.0000.0000.0000.000
1180.0350.1000.1000.1000.1000.0000.0000.0000.0000.0000.000
1190.0400.1000.1000.1000.1000.0000.0000.0000.0000.0000.000
1200.0450.1000.1000.1000.1000.1000.0000.0000.0000.0000.000
1210.0500.1000.1000.1000.1000.1000.0000.0000.0000.0000.000
1220.0550.1000.1000.1000.1000.1000.1000.0000.0000.0000.000
1230.0600.1000.1000.1000.1000.1000.1000.0000.0000.0000.000
1240.0650.1000.1000.1000.1000.1000.1000.1000.0000.0000.000
1250.0700.1000.1000.1000.1000.1000.1000.1000.1000.0000.000
1260.0750.1000.1000.1000.1000.1000.1000.1000.1000.0000.000
1270.0800.1000.1000.1000.1000.1000.1000.1000.1000.0000.000
1280.0850.1000.1000.1000.1000.1000.1000.1000.1000.1000.000
1290.0900.1000.1000.1000.1000.1000.1000.1000.1000.1000.000
1300.0950.1000.1000.1000.1000.1000.1000.1000.1000.1000.100
1310.1000.1000.1000.1000.1000.1000.1000.1000.1000.1000.100


B列についての四捨五入等(正負対称型)を主にROUNDDOWN関数を使って求めた。

BF8 =rounddown($B8+sign($B8)*(10-BF$2)/10/(10^$F$4),$F$4)

BJ8 =ROUND($B8,$F$4)

BO8 =rounddown($B8,$F$4)

4捨5入正負対称整数化 BJ8 =ROUND($B8,0)

BBFBGBHBIBJBKBLBMBNBO
21.02.03.04.05.06.07.08.09.010.0
3使用
関数
round
-down
sign
round
-down
sign
round
-down
sign
round
-down
sign
roundround
-down
sign
round
-down
sign
round
-down
sign
round
-down
sign
round
-down
4四捨
五入
切り
捨て
5正負
対称
正負
対称
正負
対称
正負
対称
正負
対称
正負
対称
正負
対称
正負
対称
正負
対称
正負
対称
6正式
名称的
0捨
1入
1捨
2入
2捨
3入
3捨
4入
4捨
5入
5捨
6入
6捨
7入
7捨
8入
8捨
9入
9捨
10入
7略称
(仮)
1入
(仮)
2入
(仮)
3入
(仮)
4入
(仮)
5入
(仮)
6入
(仮)
7入
(仮)
8入
(仮)
9入
(仮)
10入
(仮)
8-0.515-0.600-0.500-0.500-0.500-0.500-0.500-0.500-0.500-0.500-0.500
9-0.510-0.600-0.500-0.500-0.500-0.500-0.500-0.500-0.500-0.500-0.500

中略
91-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100
92-0.095-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.1000.000
93-0.090-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.1000.000
94-0.085-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.1000.0000.000
95-0.080-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.1000.0000.000
96-0.075-0.100-0.100-0.100-0.100-0.100-0.100-0.1000.0000.0000.000
97-0.070-0.100-0.100-0.100-0.100-0.100-0.100-0.1000.0000.0000.000
98-0.065-0.100-0.100-0.100-0.100-0.100-0.1000.0000.0000.0000.000
99-0.060-0.100-0.100-0.100-0.100-0.100-0.1000.0000.0000.0000.000
100-0.055-0.100-0.100-0.100-0.100-0.1000.0000.0000.0000.0000.000
101-0.050-0.100-0.100-0.100-0.100-0.1000.0000.0000.0000.0000.000
102-0.045-0.100-0.100-0.100-0.1000.0000.0000.0000.0000.0000.000
103-0.040-0.100-0.100-0.100-0.1000.0000.0000.0000.0000.0000.000
104-0.035-0.100-0.100-0.1000.0000.0000.0000.0000.0000.0000.000
105-0.030-0.100-0.100-0.1000.0000.0000.0000.0000.0000.0000.000
106-0.025-0.100-0.1000.0000.0000.0000.0000.0000.0000.0000.000
107-0.020-0.100-0.1000.0000.0000.0000.0000.0000.0000.0000.000
108-0.015-0.1000.0000.0000.0000.0000.0000.0000.0000.0000.000
109-0.010-0.1000.0000.0000.0000.0000.0000.0000.0000.0000.000
110-0.0050.0000.0000.0000.0000.0000.0000.0000.0000.0000.000
1110.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.000
1120.0050.0000.0000.0000.0000.0000.0000.0000.0000.0000.000
1130.0100.1000.0000.0000.0000.0000.0000.0000.0000.0000.000
1140.0150.1000.0000.0000.0000.0000.0000.0000.0000.0000.000
1150.0200.1000.1000.0000.0000.0000.0000.0000.0000.0000.000
1160.0250.1000.1000.0000.0000.0000.0000.0000.0000.0000.000
1170.0300.1000.1000.1000.0000.0000.0000.0000.0000.0000.000
1180.0350.1000.1000.1000.0000.0000.0000.0000.0000.0000.000
1190.0400.1000.1000.1000.1000.0000.0000.0000.0000.0000.000
1200.0450.1000.1000.1000.1000.0000.0000.0000.0000.0000.000
1210.0500.1000.1000.1000.1000.1000.0000.0000.0000.0000.000
1220.0550.1000.1000.1000.1000.1000.0000.0000.0000.0000.000
1230.0600.1000.1000.1000.1000.1000.1000.0000.0000.0000.000
1240.0650.1000.1000.1000.1000.1000.1000.0000.0000.0000.000
1250.0700.1000.1000.1000.1000.1000.1000.1000.0000.0000.000
1260.0750.1000.1000.1000.1000.1000.1000.1000.0000.0000.000
1270.0800.1000.1000.1000.1000.1000.1000.1000.1000.0000.000
1280.0850.1000.1000.1000.1000.1000.1000.1000.1000.0000.000
1290.0900.1000.1000.1000.1000.1000.1000.1000.1000.1000.000
1300.0950.1000.1000.1000.1000.1000.1000.1000.1000.1000.000
1310.1000.1000.1000.1000.1000.1000.1000.1000.1000.1000.100


B列についての五捨五超入等(正負対称型)を主にROUNDUP関数を使って求めた。

BS8 =ROUNDUP($B8,$F$4)

BT8 =if(abs($B8)<=BT$2/10/(10^$F$4),0,ROUNDUP($B8-sign($B8)*BT$2/10/(10^$F$4),$F$4))

5捨5超入正負対称整数化 bx8 =if(abs($B8)<=0.5,0,ROUNDUP($B8-sign($B8)*0.5,0))

銀行丸めについては後述。

BBSBTBUBVBWBXBYBZCACBCCCDCE
20.01.02.03.04.05.06.07.08.09.0
3使用
関数
round
-up
round
-up if
sign
abs
round
-up if
sign
abs
round
-up if
sign
abs
round
-up if
sign
abs
round
-up if
sign
abs
round
-up if
sign
abs
round
-up if
sign
abs
round
-up if
sign
abs
round
-up if
sign
abs
roundintint
4切り
上げ
1.000銀行
丸め1
銀行
丸め4
銀行
丸め6
5正負
対称
正負
対称
正負
対称
正負
対称
正負
対称
正負
対称
正負
対称
正負
対称
正負
対称
正負
対称
二重
丸め
区間
交替
重ね
合わせ
6正式
名称的
0捨
0超入
1捨
1超入
2捨
2超入
3捨
3超入
4捨
4超入
5捨
5超入
6捨
6超入
7捨
7超入
8捨
8超入
9捨
9超入
7略称
(仮)
0捨
(仮)
1捨
(仮)
2捨
(仮)
3捨
(仮)
4捨
(仮)
5捨
(仮)
6捨
(仮)
7捨
(仮)
8捨
(仮)
9捨
(仮)
8-0.515-0.600-0.600-0.500-0.500-0.500-0.500-0.500-0.500-0.500-0.500-0.500-0.500-0.500
9-0.510-0.600-0.500-0.500-0.500-0.500-0.500-0.500-0.500-0.500-0.500-0.500-0.500-0.500
中略
91-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100
92-0.095-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100
93-0.090-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.1000.000-0.100-0.100-0.100
94-0.085-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.1000.000-0.100-0.100-0.100
95-0.080-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.1000.0000.000-0.100-0.100-0.100
96-0.075-0.100-0.100-0.100-0.100-0.100-0.100-0.100-0.1000.0000.000-0.100-0.100-0.100
97-0.070-0.100-0.100-0.100-0.100-0.100-0.100-0.1000.0000.0000.000-0.100-0.100-0.100
98-0.065-0.100-0.100-0.100-0.100-0.100-0.100-0.1000.0000.0000.000-0.100-0.100-0.100
99-0.060-0.100-0.100-0.100-0.100-0.100-0.1000.0000.0000.0000.000-0.100-0.100-0.100
100-0.055-0.100-0.100-0.100-0.100-0.100-0.1000.0000.0000.0000.000-0.100-0.100-0.100
101-0.050-0.100-0.100-0.100-0.100-0.1000.0000.0000.0000.0000.0000.0000.0000.000
102-0.045-0.100-0.100-0.100-0.100-0.1000.0000.0000.0000.0000.0000.0000.0000.000
103-0.040-0.100-0.100-0.100-0.1000.0000.0000.0000.0000.0000.0000.0000.0000.000
104-0.035-0.100-0.100-0.100-0.1000.0000.0000.0000.0000.0000.0000.0000.0000.000
105-0.030-0.100-0.100-0.1000.0000.0000.0000.0000.0000.0000.0000.0000.0000.000
106-0.025-0.100-0.100-0.1000.0000.0000.0000.0000.0000.0000.0000.0000.0000.000
107-0.020-0.100-0.1000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.000
108-0.015-0.100-0.1000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.000
109-0.010-0.1000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.000
110-0.005-0.1000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.000
1110.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.000
1120.0050.1000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.000
1130.0100.1000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.000
1140.0150.1000.1000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.000
1150.0200.1000.1000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.000
1160.0250.1000.1000.1000.0000.0000.0000.0000.0000.0000.0000.0000.0000.000
1170.0300.1000.1000.1000.0000.0000.0000.0000.0000.0000.0000.0000.0000.000
1180.0350.1000.1000.1000.1000.0000.0000.0000.0000.0000.0000.0000.0000.000
1190.0400.1000.1000.1000.1000.0000.0000.0000.0000.0000.0000.0000.0000.000
1200.0450.1000.1000.1000.1000.1000.0000.0000.0000.0000.0000.0000.0000.000
1210.0500.1000.1000.1000.1000.1000.0000.0000.0000.0000.0000.0000.0000.000
1220.0550.1000.1000.1000.1000.1000.1000.0000.0000.0000.0000.1000.1000.100
1230.0600.1000.1000.1000.1000.1000.1000.0000.0000.0000.0000.1000.1000.100
1240.0650.1000.1000.1000.1000.1000.1000.1000.0000.0000.0000.1000.1000.100
1250.0700.1000.1000.1000.1000.1000.1000.1000.0000.0000.0000.1000.1000.100
1260.0750.1000.1000.1000.1000.1000.1000.1000.1000.0000.0000.1000.1000.100
1270.0800.1000.1000.1000.1000.1000.1000.1000.1000.0000.0000.1000.1000.100
1280.0850.1000.1000.1000.1000.1000.1000.1000.1000.1000.0000.1000.1000.100
1290.0900.1000.1000.1000.1000.1000.1000.1000.1000.1000.0000.1000.1000.100
1300.0950.1000.1000.1000.1000.1000.1000.1000.1000.1000.1000.1000.1000.100
1310.1000.1000.1000.1000.1000.1000.1000.1000.1000.1000.1000.1000.1000.100

銀行丸め(JIS丸め)の型

1.特異点型(仮)

基本的にROUND関数またはINT関数を使い四捨五入等を行い、不一致点をIF関数で別途指定または差分調整(一致点を含む場合もあり)。

もしかしたら精度は思ったより悪くないかもしれないが、好みではないので今回は却下。


2.二重丸め型(仮)

まず最も近い偶数を求めてそれとの差を五捨五超入して加える、または

まず最も近い奇数を求めてそれとの差を四捨五入して加える。

前者も作ってみたが複雑になりすぎたので後者のみ。

CC8 =round($B8*10^$F$4/2+1/2)*2/10^$F$4-1/10^$F$4-ROUND(round($B8*10^$F$4/2+1/2)*2-1-$B8*10^$F$4)/10^$F$4

銀行丸め整数化1 CC8 =round($B8/2+1/2)*2-1-ROUND(round($B8/2+1/2)*2-1-$B8)


3.区間交替型(仮)

偶数区間では五捨五超入、奇数区間では四捨五入。(負数の場合、言葉がややこしいので言及しないが結果は合うように設定する)IFもMODも不使用でできた。

CD8 =-1^INT($B8*10^$F$4+1)*int(-1^INT($B8*10^$F$4+1)*$B8*10^$F$4+0.5)/10^$F$4

銀行丸め整数化4 CD8 =-1^INT($B8+1)*int(-1^INT($B8+1)*$B8+0.5)


4.重ね合わせ型(仮)

2つの波を重ね合わせるイメージ。

ヤフー知恵袋のFLOOR関数とSEILING関数を組み合わせた式を見てこの優秀な仕組みをどうしても理解したいと思った。そして理解したついでにINT関数で書き換えてみた。

CE8 =int(($B8*10^$F$4+0.5)/2)/10^$F$4-int((-$B8*10^$F$4+0.5)/2)/10^$F$4

銀行丸め整数化6 CE8 =int(($B8+0.5)/2)-int((-$B8+0.5)/2)


余談1

7捨7超入や3捨3超入などのINTメインの正負対称型の値が間違っていることがある。ダウンロードしてリブレオフィスで開くと問題ないので式は合っていると思われる。グーグルドライブの特性かもしれない。正負連続型は比較対象がないので未確認。(目視では2捨3入に一つ値の間違いがあった。)


余談2

条件付き書式を使って目視しやすくしたのと、0未満と0以上で分けて正負連続型も検算対象にしたため(当ブログには未反映)値の間違いの原因が分かってきた。今回の場合、グーグルドライブでは

int(0.7-0.07*10) = -1 (2023.06.05現在)

になってしまうのが原因だった。桁や範囲を変えれば値の間違いの個数は増減するがこれ以上は深入りしない。グーグルドライブはアップデートが早いので知らぬ間にエクセルやリブレオフィスと同じ仕様になっているかも知れない。


余談3

銀行丸めの二重丸め型(仮)はround関数の第二引き数を活用した式に作り替えたい。


2023.05.26 16:06公開 単純ミスなどは適宜修正済&修正予定