PR

Power Queryでカスタム列を作成!条件分岐と数式の基本を解説

初心者講座

Power Queryでは、既存の列を組み合わせたり、条件によって値を変えたりする「カスタム列」を簡単に作成できます。
Excel関数のように「IF」や「四則演算」を使えるため、データ加工を自動化する上で欠かせない機能です。

~この記事の信頼性~
執筆者:最適屋
業務自動化のスペシャリスト
  • 実務経験20年以上の現役エンジニア。数多くの現場で「これ、もっと楽にならない?」という悩みをITの力で解決してきました。

  • 保有資格:VBAエキスパート「スタンダードクラウン」 ExcelとAccessの両VBAを極めたスペシャリストの証。プロの技術を、初心者の方にも届く言葉へ「わかりやすく翻訳」して解説します。

  • 得意領域:再現性の高い効率化 Excelの自動化から、iPhone標準アプリだけで完結する画像補正まで、「誰でも・今すぐ・再現できる」手順を厳選して発信中。

プロフィール詳細は[こちら]
お気軽に「最適屋」と呼んでくださいね!

この記事でわかること

  • カスタム列とは何か
  • 基本的なカスタム列の作成方法
  • 条件列・カスタム列にIF文(条件分岐)を書く
  • 計算式や文字列操作の活用例
  • よくあるエラーと対処法

カスタム列とは?

カスタム列とは、Power Queryで新しく作成する独自の列のことです。
既存のデータをもとに、条件判定・数値計算・文字列結合などを行うことができます。

たとえば、売上データに「利益率」や「評価(高・中・低)」を自動計算で追加することが可能です。

カスタム列を追加する手順

列の追加 カスタム列
  1. Power Queryエディターで対象のテーブルを開く
  2. 上部メニューから「列の追加」→「カスタム列」を選択
  3. 表示されたウィンドウで、新しい列名と式を入力
  4. OKを押すと、右端に新しい列が追加される

たとえば、次のように式を入力します:

「カスタム列」で売上列を追加
[単価] * [販売数]

これで「売上」列が自動的に作成されます。

条件列を使う

ExcelのIF関数と同じように、「もし◯◯なら△△、そうでなければ□□」という条件分岐も可能です。

カスタム列に入力するよりも、「条件列」を使用する方がより簡単です。

「条件列」を使用して列を追加

if文の基本構文

if [条件] then [真の場合の値] else [偽の場合の値]

if文の入力例

「カスタム列」にif文を入力
if [単価] > 10000 then "1万円超" else "1万円以下"

単価が1万円を超える場合は「1万円超」、それ以外は「1万円以下」と表示されます。

if文の結果が列に表示される

計算式や文字列操作の活用例

  • 四則演算:[数量] * [単価]
  • 文字列結合:[姓] & [名]
  • 日付の差分:Duration.Days([納期] - [受注日])
  • 小数点処理:Number.Round([利益率], 2)

Power QueryではExcel関数とは異なる関数名(M言語)を使いますが、慣れると柔軟な処理が可能になります。

よくあるエラーと対処法

① 「Token Literal expected」エラー

構文エラーです。=thenelseの位置を確認しましょう。

② 型が一致しない

文字列と数値を比較している場合に発生します。必要に応じてNumber.From()Text.From()で型変換します。

③ 式が長すぎる

複雑な条件は入れ子にせず、「条件列」や「別のカスタム列」を分けて作ると見やすく保守しやすくなります。

応用:複数条件のネスト(入れ子)

Power Queryでは、IF文を入れ子にして複雑な条件分岐も可能です。


if [利益率] >= 0.3 then "A" 
else if [利益率] >= 0.1 then "B" 
else "C"

利益率が30%以上なら「A」、10〜30%なら「B」、それ以下なら「C」と自動分類できます。

まとめ:カスタム列でデータ分析を効率化しよう

  • カスタム列は、Power Queryで新しい値を自動生成する機能
  • IF文で条件分岐、計算式や文字結合も簡単にできる
  • 型変換や構文ミスに注意すれば、エラーを回避できる
  • 入れ子条件で複雑な分類も自動化可能

次回は「Power Queryで列を分割・結合するテクニック」を解説します。
データ整形をより自在に操るステップへ進みましょう。

Power Queryで列を分割・結合するテクニック【初心者向け】
Power Queryで文字列を区切って別の列に分けたり、複数列を結合して1つの列にまとめる方法を解説。住所や氏名などの整形に役立つ基本テクニックです。
タイトルとURLをコピーしました