パワークエリの「カスタム列」コマンドのサムネイル
AさんAさん

表の数値の列を対象に、「単価×数量×(1-割引率)」みたいな計算を行いたいです。
Power Queryエディター上で計算する場合、どうしたら良いですか?

森田森田

その場合、Power Queryエディター上の「カスタム列」コマンドを使えば良いですよ!
では、詳細を解説していきますね。

Excelステップ講座

はじめに

この記事はパワークエリの概要を把握していることが前提です。

参考記事

パワークエリの概要については、以下の記事をご参照ください。

「カスタム列」の使いどころ

「カスタム列」コマンドは、クエリの新規作成ステップのうち、STEP2の「取得データを整形/加工(Transform)」に該当する機能です。

「カスタム列」コマンドのスコープ

クエリ内の一連の整形作業の中で、任意の数式をセットした計算列を追加したい場合、Power Queryエディター上の「カスタム列」コマンドを使いましょう。

「カスタム列」コマンドの使いどころ

「カスタム列」コマンドを活用することで、任意の数式をセットした計算列の追加を自動化できます。

なお、単一の四則演算(乗算のみ等)やカッコ不要のシンプルな数式であれば、「加算」・「減算」・「乗算」・「除算」コマンドの方がお手軽です。

ケースバイケースで使い分けましょう。

参考記事

「加算」・「減算」・「乗算」・「除算」コマンドの詳細は、以下の記事をご参照ください。

使用イメージ

「売上明細」テーブルへ「単価×数量×(1-割引率)」の数式をセットした計算列を追加したイメージが以下です。

「カスタム列」コマンドの使用イメージ

Power Queryエディター上でカスタム列を追加したステップを登録できました。
「カスタム列」コマンドの場合、デフォルトのステップ名は「追加されたカスタム」になる(クエリ内で2つ目以降の「追加されたカスタム」ステップは連番が付加)。

後は、クエリ新規作成ステップのSTEP2で必要な他ステップを登録したら、STEP3を行いましょう。
カスタム列はデータ型が未設定のため、後工程で数値として整形あるいは集計する場合、データ型を「整数」等へ変更すること。

これにより、クエリに記録した「カスタム列」コマンドのステップを自動化できます。

参考記事

クエリの新規作成ステップのSTEP2に役立つ各種コマンドの詳細は「パワークエリ(Power Query)の記事一覧」を、STEP3の手順はパワークエリの概要記事をご参照ください。


ステップ登録手順

「カスタム列」コマンドのステップを登録したい場合は、以下の手順となります。

「カスタム列」コマンドのステップ登録手順

  1. リボン「列の追加」タブをクリック
  2. 「カスタム列」をクリック
  3. 任意の列名を入力
    ※今回は「割引後金額」
  4. 任意の数式を入力
    ※今回は「単価×数量×(1-割引率)」
  5. 「OK」をクリック

手順④の数式は、列名はダイアログ右側の「使用できる列」から挿入(任意の列を選択→「<<挿入」をクリック)し、演算子やカッコ、定数等は手入力すること。

【参考】カスタム列の数式の主な構成要素

カスタム列の数式は、複数の要素を組み合わせて記述しますが、主な構成要素は次の4種類です。

カスタム列の数式の主な構成要素

  1. 定数
  2. 列名
  3. 演算子
  4. M関数

カスタム列の数式は、上記以外にもif式等の特定ケースで使用する要素あり。

それぞれの要素がどういったものかは以下の通りです。

【要素①】定数

1つ目の定数は、数式上に直接入力する数値や文字列のことです。

文字列を入力する場合は、ダブルクォーテーション(”)で囲む必要がある等、基本的なルールはワークシート上の数式と同じルールです。

数式上で固定値を扱いたい場合に活用しましょう。

【要素②】列名

2つ目の列名は、文字通り表の既存の列名です。

ワークシート上のセル参照に近いですが、カスタム列の数式の場合、計算/処理の対象が「列」単位になるため、列名の参照が基本となります。
ワークシート上の数式の計算/処理の対象は「セル」が基本。

数式上で既存の列を参照したい場合に活用しましょう。

【要素③】演算子

3つ目の演算子は、「+」や「-」等の基本的な計算/処理を行う記号のことです。

演算子で良く使うものは、算術演算子(+、–、*、/、%)、比較演算子(=、>、<、>=、<=、<>)、文字列演算子(&)ですね。

こうした基本の演算子はワークシートの数式と共通です、

四則演算や論理式、文字列連結を行いたい場合に活用しましょう。

参考記事

各演算子の詳細は、Microsoftサポートの記事をご参照ください。

【要素④】M関数

4つ目のM関数は、Power Queryエディター上で使える関数のことです。

ワークシート上の関数と別物の、「パワークエリ専用の関数」ですね(一部似た関数あり)。

特定の計算/処理を行いたい場合に、該当のM関数を活用しましょう。
使用頻度の高いM関数は、別記事で解説予定。

参考記事

M関数の詳細は、Microsoft Learnをご参照ください。

登録したステップの変更手順

「カスタム列」コマンドで登録したステップを後から変更する場合、以下の手順となります。

「カスタム列」コマンドのステップ変更手順

  1. 「追加されたカスタム」ステップの歯車マークをクリック
  2. 任意の箇所を修正
  3. 「OK」をクリック

手順①のステップ名は「カスタム列」コマンドのデフォルトの名前(自身でリネームしている場合は別表記)。
手順①はステップ名をダブルクリックでもOK。
手順①で起動した「カスタム列」ダイアログは、ステップに設定した内容がセットされた状態。

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

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

サンプルファイル_PowerQueryデータ整形_カスタム列.xlsx

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

ブックを開いたら、「売上明細」クエリを編集(Power Queryエディター起動)し、次の手順を実施してください(今までの解説のまとめです)。
ブック起動時、「セキュリティの警告」メッセージが表示された場合は「コンテンツの有効化」をクリック。

  1. リボン「列の追加」タブをクリック
  2. 「カスタム列」をクリック
  3. 任意の列名を入力
    ※今回は「割引後金額」
  4. 任意の数式を入力
    ※今回は「単価×数量×(1-割引率)」
  5. 「OK」をクリック

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

さいごに

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

「カスタム列」コマンドは、任意の数式をセットした計算列の追加を自動化できます。

応用的な計算を行いたい場合に役立つので、もう一段階パワークエリを活用したい方は覚えてみてください!

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


また、よりコアな情報を発信していくために「公式LINE」を開始しましたので、ご興味があれば以下バナーから友だち追加をお願いします!
特典として、Excelワークシート関数一覧(計22スライド)やExcelショートカットキー一覧(計25スライド)等をプレゼント!

森田貢士の公式LINEへの友だち追加告知用バナー

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

森田森田

「カスタム列」コマンドに慣れたら、他の列の追加に役立つコマンドもセットで覚えることをおすすめします。
具体的には、通し番号の列を追加できる「インデックス列」コマンドや、条件列を追加できる「条件列」コマンドです。
元データを集計/分析しやすくする際に便利なので、ケースに応じて活用していきましょう!