息抜きと備忘を兼ねて、テキスト項目から値を取り出す数式パターンのひとつをご紹介します。
Salesforceを長く管理されていたり、Excelのプロのような方はご存じかと思いますが、数式が苦手な民の一人である私は毎回まっさらな気持ちでスタートしてしまうので、すぐに活用できるようにここにも残しておこうと思います。
なお、実際今回のような数式を使う場面は、都合によりまとめられて入ってきたデータを使いやすい形に分けたり
、値を分岐に使用する、などが考えられますが、今回は数式が想定通りに動くかの確認のため、シンプルにテキスト項目を参照する数式項目を作成します。
前回公開した「
実験!フローで頑張ってみた:メールtoケースでメールの内容を取り出して項目に挿入する」でも似たようなことを検証しており、そちらで参照したのはhtmlのメール本文でしたので若干数式は異なっていますが、基本的な考え方は同じです。
また、「
【フロー】テキスト内の改行を判断して、文字を抽出する方法」ではスケジュール済みパスを使用してケースの「説明」から改行を判断して文字を抜き出す方法が紹介されていますので、あわせて参照いただき、対応されている要件にどのような設定が適切なのか検討いただくといいかと思います。
前置きが長くてすみません。本題はすぐに終わります。
やりたいこと
『リード』のカスタムテキスト項目「出身地情報」では、次のような値が入る。
①青森県②ねぶた祭り③青天の霹靂

ここから、①、②、③のあとの文字列を抜き出して表示する数式項目を作成したい。

数式
『リード』に次の数式を使った数式項目を 3つ作成します。

カスタム数式項目の作成手順は割愛し、それぞれの数式の部分を載せます。「InfoBirthPlace__c」が参照するカスタムテキスト項目「出身地情報」です。
①
MID( InfoBirthPlace__c , FIND("①", InfoBirthPlace__c )+1 ,
FIND("②", InfoBirthPlace__c )- FIND("①", InfoBirthPlace__c )-1)
※FIND関数で①と②の位置を取得し、MID関数で文字列の中の指定した位置から値を抽出します。
途中で「+1」と入れているところは①自体を含まないようにするため、「-1」は②自体を含まないようにするため調整しています。
②
MID( InfoBirthPlace__c , FIND("②", InfoBirthPlace__c )+1 ,
FIND("③", InfoBirthPlace__c )- FIND("②", InfoBirthPlace__c )-1)
③
MID( InfoBirthPlace__c,FIND("③", InfoBirthPlace__c)+1,LEN( InfoBirthPlace__c ))
ひとこと
データが入ってくる形を整えられるのが素敵なことはわかっているけれど、そうもいかないとき、ありますよね。数式を駆使ししてユーザーが使いやすい形に整えるのもアドミニストレーターのお仕事のひとつです。最初に書いた通り、私は数式がとても苦手です。なのでこういうパターン、事例はあればあるほど嬉しいので(ヘルプの例はときどきとってもアメリカン)、今後も事あるごとにここに残してやろうと思います
関連記事
【フロー】テキスト内の改行を判断して、文字を抽出する方法実験!フローで頑張ってみた:メールtoケースでメールの内容を取り出して項目に挿入する小なり(<)、大なり(>)にはご注意を[フロー]数式を使って、Chatter投稿のメンションを出しわけてみた改行のあるデフォルト値の設定[入力規則]ロングテキストエリアで複数行のメールアドレスを入力可能にする方法