IF関数は、Salesforceの数式の中でよく使われる関数ではないでしょうか?
この記事では、Salesforceの数式でのIF関数の使用例を紹介します。
IF関数とは
式が真か偽かを判断します。真の場合は与えられた値を返し、偽の場合は別の値を返します。
IF(logical_test, value_if_true, value_if_false)
通常の使い方
IF(CheckBox__c, "〇", "×")
この使用例は、CheckBox__cの値を判定して、真の場合は”〇”を返し、偽の場合は”×”を返します。
チェックボックスの値を〇か×のテキストに変換するような場面で使えます。
あまりよくない使い方
IF(CheckBox__c, false, true)
このIFを使って戻り値が真/偽を返すことは初心者がやりがちなことです。
以下のようにするとシンプルにできます。
!CheckBox__c
IF関数を入れ子にして複数使う
IF(CheckBox__c, "〇", IF(CheckBox2__c , "△" , "×") )
CheckBox__cの値を判定して、真の場合は”〇”を返し、偽の場合はCheckBox2__cの値を判定して”△”か”×”を返します。
改行や半角スペースを使って読みやすいように工夫すると後になって助かることが多いです。
IF関数を複数使っていく場合は、真・偽のどちらか片方に寄せた方がコードとしては読みやすいです。真も偽も両方にIF関数を書いていくと途中で何を書いているか分からなくなり収拾が付かなくなりやすいです。
IF(CheckBox__c , "◎"
, IF(CheckBox2__c , "〇"
, IF(CheckBox3__c , "△" , "×")
)
)
IF関数の条件にAND関数を使う
IF(AND(Payment_Due_Date__c < TODAY(),Payment_Status__c ="未払い") , "支払い遅延", null)
AND関数を使うことで複数条件の判定が出来ます。
支払期日が過ぎ、支払状況が「未払い」かどうかが判断されます。該当する場合は、「支払い遅延」というテキストを返し、該当しない場合は、項目を空白のままにします。
IF関数の条件にOR関数を使う
IF( OR( CheckBox__c , CheckBox2__c ), "〇", "×")
CheckBox__c か CheckBox2__c のどちらかが正の場合は”〇”を返し、どちらも偽の場合は”×”を返す。
選択リストの値を判定する
ログインしたユーザが引用符内に指定したライセンスを持っているかどうかを判別するには、次の数式を使います。
IF(ISPICKVAL($Profile.UserType ,"Standard"), 100, 0.1)
複数選択リストの値を判定する
IF(INCLUDES(Hobbies__c, "ゴルフ"), "ゴルフ好き" , null)
複数選択リストのカスタム項目「趣味」にゴルフが選択されていた場合に”ゴルフ好き”とテキストを返し、該当しない場合は、項目を空白のままにします。
まとめ
IF関数の使用例はいかがでしょうか。
ExcelにもIF関数があり、使い方は同じなので慣れている人は問題になることは少ないと思いますが、扱ったことがない人は慣れるまで難しいかもしれません。
よく使う関数なので覚えると他のアプリなどでも応用が効きます。