[PowerQuery]四捨五入は銀行丸め

2022-09-25

結論

  • PowerQueryでの四捨五入(Number.Round)は銀行丸め
  • 普段よく使う四捨五入にするには、オプションRoundingMode.Upを指定する

銀行丸めとは

四捨五入の一種で、以下のように切上げ/切捨てを行う。

  1. 四捨五入対象桁が1~4なら切捨て
  2. 四捨五入対象桁が6~9なら切上げ
  3. 四捨五入対象桁が5なら、偶数になるように切捨て OR 切上げ

例えば、小数点第1位を四捨五入して整数にする場合、こうなる。

対象 普通の四捨五入 銀行丸め 備考
1.5 2 2
2.5 3 2 0.5を切上げて3ではなく切捨てて2
7.5 8 8
8.5 9 8 0.5を切上げて9ではなく切捨てて8

PowerQueryで作る

元データを読込む

元データを選択した状態で、クエリを使ってデータを読込む.手順は以下の通り。

  1. 「データ」タブ
  2. データの取得
  3. その他にデータソースから
  4. テーブルまたは範囲から
  5. 元データの範囲を指定して読込む.

元データを読む

PowerQueryエディタに読込んだ状態.

読込んだ状態

四捨五入

列を追加して四捨五入してみる.オプションを指定しないと銀行丸めになる.

銀行丸め

設定される式は以下の通り.

= Table.AddColumn(変更された型, "銀行丸め", each Number.Round([数値], 0))

オプションRoundingMode.Upを指定すると普段よく使う四捨五入になる.

普段使う四捨五入

設定される式は以下の通り.

= Table.AddColumn(銀行丸め, "RoundingMode.Up", each Number.Round([数値], 0, RoundingMode.Up))

環境

  • Windows 10 Pro
  • Excel 365