Alteryxで使用できる関数の「条件式関数」の使い方をご紹介します
条件式カテゴリの関数は、if文などの条件分岐を行います。
条件式カテゴリの関数一覧
やりたいこと | 関数名 | 概要 | 対応するExcel関数 |
---|---|---|---|
条件によって処理を分岐 | IF c THEN t ELSE f ENDIF | 条件によって処理を分岐します | IF(c, t, f) |
条件によって処理を複数に分岐 | IF c THEN t ELSEIF c2 THEN t2 ELSE f ENDIF | 条件によって処理を複数に分岐します | IF(c, t, IF(c2, t2, f)) |
条件によって処理を分岐 | IIF(bool, x, y) | 条件によって処理を分岐します | IIF(bool, x, y) |
複数条件によって処理を分岐 | Switch(Value, Default, Case1, ..., CaseN, ResultN) | 複数条件によって処理を分岐します | Switch(Value, Case1, ..., CaseN, ResultN, Default) |
各関数の使い方とサンプル
IF THEN ELSE ENDIF ・・・ 条件によって処理を分岐します
IF c THEN t ELSE f ENDIF
c で条件式、t で条件に対してTrueだった場合の処理、f で条件に対してFalseだった場合の処理を指定します。(フォーミュラツールの出力データ型を Bool型にした場合は、条件に対して「True」「False」で結果を表記することができます。)
Sample
下の例では、A列が 0 の時は T、それ以外の場合は F が返るように処理を分岐させています。
補足
下記のように、IF関数を入れ子にすることもできます。下記の場合、 x = 0 かつ y = 0 の場合は result1、x = 0 の場合は result3、 x = 0 以外の場合は result2 の結果が返ります。
IF c THEN t ELSEIF c2 THEN t2 ELSE f ENDIF ・・・ 条件によって処理を複数分岐します
IF c THEN t ELSEIF c2 THEN t2 ELSE f ENDIF
c で条件式、t で条件に対してTrueだった場合の処理、c2 で次の条件式、t2 で次の条件式 ... と、複数に処理を分岐できます。f で条件に対してFalseだった場合の処理を指定します。
Sample
下の例では、A列が 0 の時は「T_0」、 1 の時は「T_1」、2 の時は「T_2」、それ以外の場合は F が返るように処理を分岐させています。
IIF ・・・ 条件によって処理を分岐します
IIF(bool, x, y)
bool で条件式、x で条件に対してTrueだった場合の処理、y でFalseだった場合の処理を指定します。
Sample
下の例では、A列が 0 の時は T、それ以外の場合は F が返るように処理を分岐させています。
Switch ・・・ 複数条件によって処理を分岐します
Switch(Value, Default, Case1, ..., CaseN, ResultN)
Valueで判定対象、Defaultで条件を満たさない場合の処理を指定します。Caseでそれぞれの条件と、条件に対してTrueだった場合の処理を指定します。
Switch関数の条件は「指定した値と一致するか」でしか判断ができないので、注意が必要です。判定対象を増やしやすいため、判定する対象がたくさんある場合に使うと便利な関数です。
Sample
下の例では、A列が 0 の時は「T_0」、 1 の時は「T_1」、2 の時は「T_2」、それ以外の場合は F が返るように処理を分岐させています。
サンプルワークフロー ダウンロード
FormulaFunction_Conditions fa-download
※Alteryx Designer 2019.1.6.58192時点の情報です