四則演算の基本
四則演算について説明します。列間の乗算をパワークエリで行ってみます。
nullを0に置換する
数字が入っていない場合パワークエリで開くと[null]表記になってしまいます。[null]表記は、四則演算で使えないため、[null]を[0]に置換して四則演算でエラーが出ないようにします。
パワークエリエディタを開きます。
- テーブル内のセルを選択して[データ]タブを選択します。
- [テーブルまたは範囲から]を選択します。

- [変換]タブを選択します。
- [値の置換]を選択します。

検索する値を[null]として、置換後の値を[0]にしてください

選択した列の全ての行の[null]が[0]に置換されます。

乗算する
それでは、[null]が[0]に置換されたので、乗算を行います。
乗算を行う対象の列を選択します。
- 対象の列の一つ目を選択します。
- [Ctrl]キーを押しながらもう一つの列を選択します。

- [列の追加]タブを選択します。
- [標準]から[乗算]を選択します。


カスタム列で列を指定した四則演算
上記の説明した標準からの四則演算ではなく、カスタム列の追加から行う方法があります。複雑な計算になるとカスタム列から追加で数式を記載する必要があります。個人的には四則演算はカスタム列からの追加の方が分かり易いです。
説明で利用するエクセルファイルをダウンロードして実際に操作をしてみましょう。
パワークエリエディタを開きます。
- テーブル内のセルを選択して[データ]タブを選択します。
- [テーブルまたは範囲から]を選択します。

- [列の追加]タブを選択します。
- [カスタム列]を選択します。

列名を[]で囲むことで計算式の中に組みこむことができます。下図の例では、[数字A]-[数字B]/[数字C]+[数字D]と4つの列で数式を作っています。

エラーが発生していなければ、以下のようにカスタム列が追加されます。

関数を作成して利用する
なんとパワークエリでは、関数を自在に作成して自由に使うことができます。物凄く便利で多様しています。関数の使い方を説明します。
説明で利用するエクセルファイルをダウンロードして実際に操作をしてみましょう。
パワークエリエディタを開きます。
- テーブル内のセルを選択して[データ]タブを選択します。
- [テーブルまたは範囲から]を選択します。

- [列の追加]タブを選択します。
- [カスタム列]を選択します。

関数は以下のように、()で囲まれた引数と式を=> で結合することで作成できます。
(引数1, 引数2, 引数3, ・・・) => 式
以下の例では、関数という関数名を定義しています。(引数1,引数2) => 引数1 – 引数1 + (引数2 * 0)) とい関数を作りました。結果が常に0になる関数です。(面白くなくて

作成した関数を利用します。
最後、[列の追加]から[カスタム列]を選択します。

以下のように、[関数]([引数1],[引数2])と指定することで関数を利用することができます。

関数の結果が追加されました。

数字の少数点丸め処理
小数点の丸め処理について説明します。Excelの関数とは性質が異なるので注意が必要です。
小数点の切り上げ、切り捨て
小数点の切り上げと切り下げの方法を説明します。
パワークエリエディタを開きます。
- テーブル内のセルを選択して[データ]タブを選択します。
- [テーブルまたは範囲から]を選択します。

- [列の追加]タブを選択します。
- [丸め]から[切り上げ]を選択します。

小数点が切り上げられました。

- 切り捨てを行う列を選択します。
- [列の追加]タブを選択します。
- [丸め]から[切り捨て]を選択します。

小数点が切り捨てられました。

四捨五入による丸め処理
本題の四捨五入により丸め処理です。パワークエリではデフォルトで[偶数丸め]といわれる処理がされます。これは、一般的な四捨五入と異なるため注意が必要なのです。では、説明をしていきます。
パワークエリエディタを開きます。
- テーブル内のセルを選択して[データ]タブを選択します。
- [テーブルまたは範囲から]を選択します。

- [列の追加]タブを選択します。
- [丸め]から[四捨五入]を選択します。

少数第1位で四捨五入したいので、0を入力します。

デフォルトでは、偶数丸めになっており、以下のように110.5を四捨五入すると通常111.0となる値が、110と偶数に丸め込まれます。111.5は112が偶数であるため、通常の四捨五入の結果となっています。

通常の四捨五入に変更します。
デフォルトの関数は、以下のようになっています。Number.Roundの第三引数が省略されています。省略されると、RoundingMode.ToEvenがセットされるので偶数丸めになってしまうわけです。
= Table.AddColumn(変更された型, “四捨五入”, each Number.Round([数字], 0), type number)
そこで、第三引数に一般的な四捨五入のパラメーターであるRoundingMode.AwayFromZeroをセットすると通常通りの四捨五入の結果になります。
= Table.AddColumn(変更された型, “四捨五入”, each Number.Round([数字], 0, RoundingMode.AwayFromZero), type number)
以下がRoundingMode.AwayFromZeroをセットして、通常の四捨五入の関数に変更した結果になります。

パワークエリ学習コンテンツ
-
第1回PowerQuery講座|パワークエリとは?何ができる?どう起動する?
-
第2回PowerQuery講座|パワークエリのデータソースの取り込み方法をデータ形式毎に解説
-
第3回PowerQuery講座|パワークエリの『列』操作
-
第4回PowerQuery講座|パワークエリの『行』操作
-
第5回PowerQuery講座|文字を整えて(テキストクレンジング)パワークエリで扱いやすいようにする。
-
第6回PowerQuery講座|パワークエリの数字計算(四則演算、四捨五入、切り上げ、切り捨て)
-
第7回PowerQuery講座|パワークエリの統計関数やグループ化機能を使った列の集計方法
-
第8回PowerQuery講座|パワークエリの時間を表すデータ型と時間を使った計算
-
第9回PowerQuery講座|パワークエリの様々な条件判断
-
第10回PowerQuery講座|パワークエリで行と列を入れ替える(列のピボット解除、列のピボット)
-
第11回PowerQuery講座|パワークエリにおけるクエリの管理方法
コメント