ブール形式の引数をテストして、true か false かに応じて二つの結果のうちの一つを返します。
たとえば、IF THEN ELSE 関数を使って、指定した条件を満たす値にだけ計算を適用できます。
構文
IF Boolean argument THEN Result 1 ELSE Result 2
引数
引数 | データ型 | 説明 |
Boolean argument | ブール値 | 関数が Result 1 と Result 2 のどちらを返すかを決定するブール形式の引数 TRUE の場合、関数は Result 1 を返します。FALSE の場合、関数は Result 2 を返します。 |
Result 1 | 数字、ブール値、日付、時間軸、リスト、テキスト | Boolean argument が TRUE に解決される場合に返される値 Result 2 と同じデータ型にする必要があります。 |
Result 2 | 数字、ブール値、日付、時間軸、リスト、テキスト | Boolean argument が FALSE に解決される場合に返される値 Result 1 と同じデータ型にする必要があります。 |
IF THEN ELSE 関数は Result 1 引数および Result 2 引数と同じデータ型の結果を返します。
構文の例
IF Time Settings.'Current Version' THEN Revenue ELSE 0
追加情報
代替の構文
他のスプレッドシート アプリケーションで使用されている構文を使用することもできます。例:
IF(a > b, x, y)
この式は次の式に相当します。
IF a > b THEN x ELSE y
式エディターのインデント
新しいモデリング エクスペリエンスで IF THEN ELSE 関数を使用した場合、展開された式エディターで関数の各引数がインデントされます。
ブール形式の結果
指定した条件に基づいてブール形式の結果を返す必要がある場合、必ずしも IF THEN ELSE 関数を使う必要はありません。代わりに演算子を使ってステートメントを作成し、セルの値に基づいて Anaplan から TRUE 又は FALSE の値を返すことができます。たとえば、以下のようなステートメントを使用できます。
a > b
この式は次の式に相当します。
IF a > b THEN TRUE ELSE FALSE
式での IF THEN ELSE の複数回の使用
式で IF THEN ELSE を複数回使用できます。ただし、IF THEN ELSE が複数回使用されている式はメンテナンスが難しくなることもあるため、できるだけ複数回の使用は避けてください。式で IF THEN ELSE を 10 回以上使用する必要がある場合、LOOKUP 関数の使用を検討してください。
制約
Result 引数のデータ型を一致させる
Result 1 引数と Result 2 引数でデータ型を同じものに揃える必要があります。ターゲット ライン アイテムでもデータ型を同じものに揃える必要があります。
同等の操作が行える Excel の関数
例
すべてのデータ型の一般的な例
この例では二つのモジュールを使用しています。一つ目のモジュールは「Values module」で、各データ型の二つの値を含む複数のライン アイテムがあります。
Number 1 | 100 |
Number 2 | 200 |
Boolean 1 | |
Boolean 2 | |
Date 1 | 1/1/2021 |
Date 2 | 2/2/2021 |
Time period 1 | Jan 21 |
Time period 2 | Feb 21 |
List 1 | London |
List 2 | Paris |
Text 1 | Good |
Text 2 | Bad |
Result 1 引数と Result 2 引数では、上記の値を下記の二つ目のモジュールの式で使用しています。二つ目のモジュールには、IF THEN ELSE 関数の Boolean argument で使用されているライン アイテムもあります。
シナリオ 1 | シナリオ 2 | |
Boolean argument | ||
数値の例
| 100 | 200 |
ブール値の例
| ||
日付の例
| 1/1/2021 | 2/2/2021 |
時間軸の例
| Jan 21 | Feb 21 |
リストの例
| London | Paris |
テキストの例
| Good | Bad |
演算子の使用例
Boolean argument で AND や NOT、 OR などの演算子を使用して、IF THEN ELSE 関数の条件をきめ細かく指定できます。
Region A | Region B | Region C | |
Value 1 | 1 | 10 | 10 |
Value 2 | 10 | 1 | 10 |
IF 'Value 1' >= 10 AND 'Value 2' >= 10 THEN "A" ELSE "B" | B | B | A |
IF 'Value 1' >= 10 OR 'Value 2' >= 10 THEN "A" ELSE "B" | A | A | A |