※こちらは過去に公開していたブログからの移行記事です。
欲しい情報
取引先の請求先住所に入力した都道府県から、エリア区分を判別して表示させます。
例として、次のようにエリア区分を分類。
北海道:北海道
東北:青森、秋田、岩手、山形、宮城、福島
北関東:群馬、栃木、茨城
首都圏:東京、千葉、神奈川、埼玉
甲信越:新潟、長野、山梨
北陸:富山、石川、福井
東海:静岡、岐阜、愛知、三重
近畿:滋賀、奈良、和歌山、大阪、京都、兵庫
中国・四国:鳥取、島根、岡山、広島、山口、香川、徳島、愛媛、高知
九州・沖縄:福岡、佐賀、長崎、大分、熊本、宮崎、鹿児島、沖縄
数式パターンその1:IF関数
「エリア」項目という数式項目を取引先に作成。
データ型:数式
数式の戻り値のデータ型:テキスト
数式:
IF ( BillingState = "北海道", "北海道",
IF ( BillingState = "青森県","東北",
IF ( BillingState = "秋田県", "東北",
IF ( BillingState = "岩手県","東北",
IF ( BillingState = "山形県","東北",
IF ( BillingState = "宮城県","東北",
IF ( BillingState = "福島県","東北",
IF ( BillingState = "群馬県", "北関東",
IF ( BillingState = "栃木県","北関東",
IF ( BillingState = "茨城県", "北関東",
IF ( BillingState = "東京都","首都圏",
IF ( BillingState = "千葉県", "首都圏",
IF ( BillingState = "神奈川県","首都圏",
IF ( BillingState = "埼玉県", "首都圏",
IF ( BillingState = "新潟県","甲信越",
IF ( BillingState = "長野県", "甲信越",
IF ( BillingState = "山梨県","甲信越",
IF ( BillingState = "富山県","北陸",
IF ( BillingState = "石川県", "北陸",
IF ( BillingState = "福井県","北陸",
IF ( BillingState = "静岡県","東海",
IF ( BillingState = "岐阜県","東海",
IF ( BillingState = "愛知県", "東海",
IF ( BillingState = "三重県","東海",
IF ( BillingState = "滋賀県","近畿",
IF ( BillingState = "奈良県", "近畿",
IF ( BillingState = "和歌山県","近畿",
IF ( BillingState = "大阪府","近畿",
IF ( BillingState = "京都府", "近畿",
IF ( BillingState = "兵庫県","近畿",
IF ( BillingState = "鳥取県","中国・四国",
IF ( BillingState = "島根県", "中国・四国",
IF ( BillingState = "岡山県","中国・四国",
IF ( BillingState = "広島県","中国・四国",
IF ( BillingState = "山口県", "中国・四国",
IF ( BillingState = "香川県","中国・四国",
IF ( BillingState = "徳島県","中国・四国",
IF ( BillingState = "愛媛県", "中国・四国",
IF ( BillingState = "高知県","中国・四国",
IF ( BillingState = "福岡県", "九州・沖縄",
IF ( BillingState = "佐賀県","九州・沖縄",
IF ( BillingState = "長崎県","九州・沖縄",
IF ( BillingState = "大分県", "九州・沖縄",
IF ( BillingState = "熊本県","九州・沖縄",
IF ( BillingState = "宮崎県","九州・沖縄",
IF ( BillingState = "鹿児島県", "九州・沖縄",
IF ( BillingState = "沖縄県","九州・沖縄", "")))))))))))))))))))))))))))))))))))))))))))))))
コンパイルエラーになるかと思いましたが、ダメ元でやってみたところ、「差し込み項目または関数に構文エラーはありません。(コンパイル後のサイズは 3,689 文字)。」で大丈夫でした。
ちなみに、コンパイルの文字数制限は、3900文字でした。
数式パターンその2:CONTAINS関数
データ型:数式
数式の戻り値のデータ型:テキスト
数式:IF(ISBLANK(BillingState), "None",
IF(CONTAINS("北海道", BillingState), "北海道",
IF(CONTAINS("青森県:秋田県::岩手県:山形県:宮城県:福島県", BillingState), "東北",
IF(CONTAINS("群馬県:栃木県:茨城県", BillingState), "北関東",
IF(CONTAINS("東京都:千葉県:神奈川県:埼玉県", BillingState), "首都圏",
IF(CONTAINS("新潟県:長野県:山梨県", BillingState), "甲信越",
IF(CONTAINS("富山県:石川県:福井県", BillingState), "北陸",
IF(CONTAINS("静岡県:岐阜県:愛知県:三重県", BillingState), "東海",
IF(CONTAINS("滋賀県:奈良県:和歌山県:大阪府:京都府:兵庫県", BillingState), "近畿",
IF(CONTAINS("鳥取県:島根県:岡山県:広島県:山口県:香川県:徳島県:愛媛県:高知県", BillingState), "中国・四国",
IF(CONTAINS("福岡県:佐賀県:長崎県:大分県:熊本県:宮崎県:鹿児島県:鹿児島", BillingState), "九州・沖縄","Other")))))))))))
※1行目の「IF(ISBLANK(BillingState), "None", 」では、「都道府県(請求先)」項目が空白のときに"None"と表示するように設定しています。この1行がないと、"北海道"が表示されてしまいます。
参考
◇ Salesforce > Trailblazer community > ヘルプ > 数式項目の制限および制約文字数制限 — 数式項目には、スペース、改行文字、コメントを含む最大 3,900 文字を含めることができます。数式にこれを上回る数の文字が必要な場合は、個別に数式項目を作成し、他の数式項目でそれらの項目を参照してください。