Power QueryではExcelのIFと同じ数式が使えます。M言語を使って直接数式を入力することもできれば、マウスをぽちぽちクリックして画面操作だけでも完結できます。
以下の成績表で試験の合否と評価を行うとします。

Excelの数式を使おうとすると、条件分岐でIF文を駆使することになります。
「合否」は
=IF([@合計]>=140, “合格”, “不合格”)
といった数式になります。これはまだ単純なので書きやすいと思います。

「評価」は
=IF(AND([@英語]>=90,[@数学]>=90), “A”, IF(AND([@合否]=”合格”,OR([@英語]>=90,[@数学]>=90)),”B”,IF([@合否]=”合格”,”C”,IF(NOT([@合否]=”合格”),”D”,””))))
といった数式になります。ここまで来ると書く方も読む方も辛くなってきます。

Power Queryではどうやって条件分岐(if文)を書くか解説していきます。
条件列を使って条件分岐を作る
Power Queryの「条件列」を使えば、数式を書かずに条件分岐を作れます。
まず事前に、Power Queryでデータを取得しましょう。
テーブルのセルを選択した状態にして、「データ」タブを開き「テーブルまたは範囲から」をクリックします。

A1セルなどを選択した状態であれば、選択したテーブルの成績表が読み込まれます。

条件列で合否を判定する列を追加する
「列の追加」タブを開き、「条件列」をクリックします。

「新しい列名」に「合否」を入力、「列名」に「合計」列を選択、「演算子」は「次の値以上」、「値」は「140」、「出力」は「合格」、「それ以外の場合」に「不合格」と入力し、OKをクリックします。

この設定を行えばif文の書き方を知らなくても、Excelで「=IF([@合計]>=140, “合格”, “不合格”)」と書いたことと同じ数式を生成して、新たな列を追加してくれます。

複数条件をつける(and条件、or条件)→出来ませんでした
ExcelでA1=”○”かつB1=”○”という条件をつけたい場合、「AND(A1=”○”, B1=”○”)」といったように、AND条件が使えます。
しかし、「条件列」は数式を知らなくても条件分岐を作れる反面、andやorの条件指定が出来ません。

andやorの条件指定をしたい場合は、「カスタム列」を使って直接数式を書きましょう。
カスタム列を使って条件分岐を作る
if文の書き方
ifの構文は次のとおりです。
if <条件> then <条件が真の場合> else <偽の場合>
カスタム列を使って新たな列を作り、そこに数式を書くことが出来ます。
「列の追加」タブを開き、「カスタム列」をクリックします。

「新しい列名」に「合否」を入力、「カスタム列の式」に「if [合計] >= 140 then “合格” else “不合格”」を入力し、OKをクリックします。

合計列が140以上の場合に合格、それ以外のときに不合格と表示する数式の列が追加されました。

「ホーム」タブを開き、「閉じて読み込む」をクリックします。

「合否」列が追加されました。

複数条件をつける(and条件、or条件)
and、orをつけることによって、条件が2つありどちらも真の場合、あるいは片方が真の場合といった条件分岐が出来ます。
if <条件1> and <条件2> then <条件1かつ条件2が真の場合> else <偽の場合>
if <条件1> or <条件2> then <条件1または条件2が真の場合> else <偽の場合>
andを使った例として、英語と数学が両方とも90点以上の場合に「A」と表示する数式は次の通りです。
= if [英語] >= 90 and [数学] >= 90 then "A" else "D"


orを使った例として、英語または数学90点以上の場合に「B」と表示する数式は次の通りです。
= if [英語] >= 90 or [数学] >= 90 then "B" else "D"


notをつければ否定形になる
notをつけることで否定形になります。英語と数学が両方とも90点以上の場合に「A」と表示する条件の頭にnotをつけると、結果が反転します。
= if not([英語] >= 90 and [数学] >= 90) then "A" else "D"


3つ以上条件分岐を作る
条件分岐が2つの場合について解説してきました。条件分岐が3つ以上ある場合はどうすればいいでしょうか?
else if を使うことで3つ以上作れます。構文は次のとおりです。
if <条件1> then <条件1が真の場合> else if <条件2> then <条件2が真の場合> else <偽の場合>
else if を使って、「評価」列を追加していきます。

カスタム列を使って、条件分岐が4つある次の数式を入力してOKをクリックします。
= if [英語] >= 90 and [数学] >= 90 then "A"
else if [合否] = "合格" and ([英語] >= 90 or [数学] >= 90) then "B"
else if [合否] = "合格" then "C"
else "D"

列が追加されます。

「ホーム」タブを開き、「閉じて読み込む」をクリックします。

「評価」列が追加されました。
