表の数値の列を端数処理(切り上げ/切り捨て/四捨五入)する方法(丸め)[Power Query(パワークエリ)基礎]
AさんAさん

表にある数値の列を四捨五入などの端数処理を行いたいですが、パワークエリでもできますか?

森田森田

その場合、Power Queryエディターの「丸め」というコマンドで任意の端数処理を選択できますよ!

具体的な使い方について解説していきますね。

はじめに

本題に入る前に、この記事がおすすめな方を挙げてみます。

  • 元データの表の数値列に対して端数処理を行いたい方
  • データ整形・加工の工程が複数あり、かつその作業が定期的に発生する方
  • Power Query(パワークエリ)の使い方を習得したい方

前提条件

この記事のテクニックを使うためには、以下の条件を満たす必要があります。

  • ExcelのバージョンはExcel2010以降(Microsoft365含む)が必須
  • Excel2010/2013ユーザーの場合、事前にMicrosoft社公式HPよりPower Query(パワークエリ)のダウンロードが必要(Excel2016以降は標準機能)
  • Power Query(パワークエリ)の概要を理解していること
    →まず、以下の記事で概要を把握することをおすすめします。

数値の端数処理を行いたい場合に「丸め」が有効

端数処理とは、主に小数点以下がある数値を整数や少数第一位といった任意の幅へ丸める処理のことを指します。(端数処理のことを「丸め」とも言います)

Excelで行う端数処理は主に以下の3種類です。

  • 切り上げ:小数点以下が0でなかった場合、整数部分を1増やし、小数点以下を0とする
  • 切り捨て:整数部分をそのまま残し、小数点以下を0にする
  • 四捨五入:小数点以下が4以下なら切り捨て、5以上なら切り上げを行う

ビジネスでは、割合や比率を用いた計算を行う際、用途によって任意の端数処理を行います。

パワークエリでは、「丸め」というコマンド内に任意の端数処理の各コマンドが用意されています。

このコマンドを活用することで、任意の端数処理を実行可能です。

ちなみに、Excelワークシート上では端数処理を行う方法は主にROUND系の関数を利用する必要がありました。

ただし、他のデータ整形作業とセットで行うなら、Power Query(パワークエリ)で行った方が、一連の作業手順を記録できて自動化できますよ!

では、Power Query(パワークエリ)での端数処理の手順を確認していきましょう。

Power Query(パワークエリ)での端数処理の手順

今回の前提として、端数処理を行う対象テーブルはブック内にあり、事前にPower Queryエディターに取り込んでいる状態からスタートするとします。(ブック内のデータ取得について復習したい方は下記記事を参照)

今回は「割引後金額」列の数値を「四捨五入」して整数に丸めていきます。

四捨五入は以下の2ステップとなります。

STEP1】リボン「変換」タブから「四捨五入」をクリック

まずはリボンの「変換」タブをクリック(①)し、「丸め」をクリック(②)します。

そして、任意の端数処理のコマンドをクリック(③)してください。

今回手順③は「四捨五入」をクリックします。

「切り上げ」・「切り捨て」の場合は手順③までで完了します。

STEP2】「四捨五入」ダイアログへ小数点以下何桁にするか任意の桁数を入力

「四捨五入」ダイアログが起動します。

任意の小数点以下の桁数を入力(④)し、OK」をクリック(⑤)すれば完了です。

今回は整数にしたいので「0」を入力しています。

端数処理が確認できたらOK

「プレビュー」ウィンドウを見ると、無事「割引後金額」列が四捨五入された整数になりました!

あとは、その他の必要な処理を行った上で、任意の方法でデータを出力すれば完了です。

【参考】端数処理の結果を別の列に表示することも可能!

リボン「変換」タブの「丸め」コマンドでは、選択した列を上書きしてしまう仕様ですが、別の列に剰余の計算結果を表示したい場合もあると思います。

その場合は、リボン「列の追加」タブの「丸め」コマンドを使いましょう。

上記の手順②をリボン「列の追加」タブに置き換えるだけで、他の手順はまったく同じです。

ケースバイケースで使い分けてくださいね。

【注意】パワークエリの四捨五入は「銀行型丸め」になってしまう

パワークエリの四捨五入は「銀行型丸め」が適用されており、ワークシート上のROUNDと結果が異なる場合があります。(ROUNDは「算術型丸め」)

この銀行型丸めだと、中間の0.5が偶数側に丸められてしまいます。

たとえば、4行目の数値は元が「1498.5」なので、四捨五入をすれば「1499」になるはずが、銀行型丸めだと「1498」となってしまっていますね。

この対策として、M関数の「Number.Round」の丸めモードを算術型丸めになるように設定する必要があります。

こちらの方法は今後別記事にまとめる予定です。

【参考】端数処理の内容を変更したい場合は

もし、端数処理の内容をあとで変更したい場合は、「クエリの設定」ウィンドウの任意のステップを一旦「×」で削除し、改めて任意の端数処理を行えばOKです。

なお、「四捨五入」のステップのみダブルクリックか歯車マークをクリックで「四捨五入」ダイアログを再起動させることが可能です。

小数点に桁数だけ変更したい場合はこちらで対応しましょう。

サンプルファイルで練習しよう!

可能であれば、以下のサンプルファイルをダウンロードして、実際に操作練習をしてみてください。

サンプルファイル_PowerQueryデータ整形_丸め.xlsx

※サンプルファイルのダウンロードには無料メルマガに登録いただく必要があります。
(上記リンクから登録フォームへ遷移します)

ファイルを開いたら、「入れ替え」を行う前に、Power Queryエディターを起動させてくださいね。
ブック起動時、「セキュリティの警告」メッセージが表示された場合は「コンテンツの有効化」をクリックしてください。

  1. リボン「データ」タブをクリック
  2. 「クエリと接続」をクリック
  3. 「売上明細」クエリをダブルクリック

ここまで準備ができたら、次の手順を実施してください。(今までの解説のまとめです)

  1. リボン「変換」タブをクリック
  2. 「丸め」をクリック
  3. 任意の端数処理のコマンドをクリック
    ※今回は「四捨五入」
  4. 任意の小数点以下の桁数を入力
  5. OK」をクリック

本記事の解説と同じ結果になればOKです!

さいごに

いかがでしたでしょうか?

「丸め」はPower Query(パワークエリ)での基本操作のひとつです。

小数点以下の数値を扱う上で端数処理は必須なので、ぜひこの機会に覚えてしまいましょう。

なお、Power Query(パワークエリ)の各種テクニックは、私の拙著でも体系的に解説していますので、こちらも参考にしてみてください。


ご参考になれば幸いですm(_ _)m

森田森田

端数処理は実務では比較的頻度が高いです。

パワークエリでは関数不要でクリック操作中心で端数処理が設定できるのが便利ですね。(四捨五入は銀行型丸めとかあってややこしいですが)

一連の手順の中で併せて端数処理を行うには、パワークエリは便利なのでぜひ活用してみてください。