Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

テキスト項目から数字を取得する方法

公開日: Sep 27, 2025
説明
※この記事は英語版を翻訳しており、一部機械翻訳を含むため内容は後日更新される可能性があります。最新の内容は英語版を参照してください。表示言語は画面右下の言語名から切り替えられます。

テキスト項目に数字が含まれることがあり、これらの数字を抽出して、個別の項目に入力する必要がある場合があります。

この解決策では、ケースの件名項目から数字を抽出します。これは、任意のオブジェクトの任意のテキスト項目に適用できます。

 
解決策
概要:
まずこれらの数字を保持するテキスト (または数値) 項目を作成する必要があります。次に、ケース (または数字を抽出する項目を保持する任意のオブジェクト) に、それらの数字を抽出し、最初のステップで作成した項目を更新するレコードトリガーフローを作成する必要があります。

_____________________________________________
解決策:
件名から取り出す数字を保持する新しいテキスト (または数値) 項目をケースに作成します。

ステップ 1: 任意のケースレコードに移動し、画面の右上の歯車アイコンをクリックし、[オブジェクトの編集] をクリックします。

0069.png

ステップ 2: 左側のパネルで [項目とリレーション] をクリックし、次に [新規] ボタンをクリックします。

0070.png

ステップ 3: [テキスト] (または [数値]) を選択し、[次へ] をクリックします。

ステップ 4: それに名前を付けて (この記事の目的のため、項目を「Subject Numbers Only」と呼ぶことにします)、必要に応じてその長さを設定し (テキスト項目なら最大 255 文字、数値項目なら小数点を含めて 18 桁)、[次へ] をクリックします。

ステップ 5: それを必要なプロファイル/権限セットで使用できるようにし、再度 [次へ] をクリックします。

ステップ 6: 項目を含める [ページレイアウト] を決定し、[保存] をクリックします。

_____________________________________________

ケースにレコードトリガーフローを作成する

ステップ 1: 項目が完成したら、[ホーム] タブをクリックするか、歯車アイコン (画面右上) をクリックして [設定] をクリックします。

0071.png

ステップ 2: 左側の [クイック検索] に「フロー」と入力し、[新規フロー] ボタンをクリックします。

ステップ 3: [レコードトリガーフロー] を選択し、次に [作成] を選択します。

0072.png

ステップ 4: [オブジェクト][ケース] に設定し、[フローをトリガーする条件] セクションで、[レコードが作成または更新された] を選択します。

ステップ 5: [エントリ条件を設定] セクションで、[条件の要件][数式の評価が true になる] に変更し、ボックスに次の数式を入力します。

 
OR( AND(ISNEW(),NOT(ISBLANK({!$Record.Subject}))), ISCHANGED({!$Record.Subject}))


0073.png

ステップ 6: [更新されたレコードでフローを実行するタイミング][レコードを更新し、条件の要件に一致するたび] に設定し、[高速項目更新] ボックスを選択していることを確認して、[完了] をクリックします。

00.png

ステップ 7: ここで、左側のメニュー ([要素を選択] の左側の記号) を展開して、[新規リソース] をクリックします。

01.png

ステップ 8: [数式] を選択します。

ステップ 9: それに名前を付けて (ひとまず「LenFormula」と呼ぶことにします)、[データ型][数値] に設定し、その [小数点の位置] オプションを「0」に設定します。

ステップ 10: 数式自体に、次のように入力します。

 
LEN({!$Record.Subject})

ステップ 11: [完了] をクリックします。

02.png

ステップ 12: 左側の [新規リソース] を再度クリックし、[変数] を選択します。

ステップ 13: それに名前を付け (「Counter」など)、[データ型][数値] に設定されていることを確認します。

ステップ 14: [小数点の位置] を「0」、[デフォルト値] を「1」に設定して、[入力で使用可能] チェックボックスを選択し、[完了] をクリックします。

03.png

ステップ 15: キャンバスに戻り、[決定] を追加して、結果が次のようになるように設定します。

a. Counter がLenFormula 以下:
 04.png

ステップ 16: この結果から [割り当て] 要素を追加します。

ステップ 17: それに名前を付けます。

ステップ 18: [変数] 項目内をクリックし、[+ 新規リソース] を選択します。

05.png

ステップ 19: [変数] を選択し、型 [テキスト] の変数を作成します。それを「TextVar」と呼ぶことにします。[デフォルト値] は不要で、[入力で使用可能][出力で使用可能] の両方がオンであることを確認して、[完了] をクリックします。

06.png

ステップ 20: ここで [割り当て] に戻る必要があります。

ステップ 21: [演算子][追加] に設定します。

ステップ 22: [値] 項目をクリックして、[+ 新規リソース] を選択します。

ステップ 23: 今回は [数式] を選択します。

ステップ 24: それに名前を付け (「NumberTextFormula」)、[テキスト] を返すことを確認します。

ステップ 25: 下の数式を設定し、[完了] をクリックします。
 
IF(OR( /*Check for a digit*/ ISNUMBER(MID({!$Record.Subject},{!Counter},1)),  /*Check for a decimal point - needs to be in between numbers*/ AND( MID({!$Record.Subject},{!Counter},1)=".", ISNUMBER(MID({!$Record.Subject},{!Counter}-1,1)), ISNUMBER(MID({!$Record.Subject},{!Counter}+1,1)))), MID({!$Record.Subject},{!Counter},1),NULL)


07.png

ステップ 26: ここで [割り当て] に戻る必要があります。

ステップ 27: [+ 割り当てを追加] ボタンをクリックして、この [割り当て] に別の行を追加します。

ステップ 28: 下のような新しい行を設定します

a. Counter - 追加 - 1

ステップ 29: [割り当て] 要素は次のようになります。

08.png

ステップ 30: この [割り当て] を再度 [決定] にリンクします。

ステップ 31: [割り当て] の下のドットにマウスポインタを置くと、[+] 記号に変わるので、クリックします。

ステップ 32: [要素に接続] を選択します。

09.png

ステップ 33: 以前に作成した [決定] の [+] 記号をクリックすると、キャンバスに接続が表示されます。

11.png

ステップ 34: ここで、決定の [デフォルトのパス] で、[ケース] のトリガーを更新し、数値を保持するために作成したテキスト項目を更新する [レコードを更新] 要素をフローに追加します。

ステップ 35: それに名前を付けます (「UpdateCase」など)。

ステップ 36: [高速項目更新] のフローを作成した場合、[更新するレコードを検索してその値を設定する方法] セクションに [フローをトリガーしたケースレコードを使用] が自動的に設定されています。

ステップ 37:
[レコードを更新する条件の要件] ドロップダウンを [なし-常にレコードを更新] のままにします。

ステップ 38: [ケースレコードの項目値を設定] セクションで、次のように入力し、[完了] をクリックします。
     

Subject_Numbers_Only__c <-- {!TextVar}

44.png

注:
ポイント 3 で [数値] 項目を作成することを選択した場合は、次のように [レコードを更新] 要素の [値] を数式にする必要があります (それを「FinalNumberFormula」と呼ぶことにします)。

 
VALUE({!TextVar})

[レコードを更新] 要素の [ケースレコードの項目値を設定] セクションは、次のようになっています。

Subject_Numbers_Only__c <-- {!FinalNumberFormula}

ステップ 39: フローは次のようになっています。

45.png

ステップ 40: フローを保存して、有効化します。

これで完了です。

注:
これは新しく作成または更新したケースの件名にのみ機能します。既存のケースの件名については、Subject_Numbers_Only__c を手動で更新する (データローダなどを使用して) か、または上と同じ要素で、ケースオブジェクトに対して 1 回だけ実行するスケジュール済みフローを作成する必要があります。


_____________________________________________
作成者: Eric Praud Salesforce MVP
Eric は Epam PolSource 社のシニアコンサルタントであり、12 年間にわたって Salesforce エコシステムに携わってきました。Eric 氏は Salesforce サポートエージェントとして Salesforce のキャリアをスタートさせました。多くの人がそうであるように、偶然このプラットフォームに巡り合い、それ以来熱心に取り組んでいます。Eric 氏はアンサーコミュニティで非常に活発に活動しており、2021 年 3 月より Salesforce MVP を務めています


これらの回答は回答を提供したユーザーの意見のみを反映したものであり、ユーザーが Salesforce と提携しているか否かにかかわらず Salesforce の意見ではありません。第三者によって、または第三者に代わって提供された製品、サービス、情報、データ、コンテンツ、その他の資料 (以下「第三者資料」) が含まれる場合があります。 Salesforce は第三者資料の正確性、有効性、適時性、網羅性、信頼性、完全性、品質、適法性、有用性、安全性、該当する知的財産権について、管理も支持もしておらず、それに関する責任を負いません。投稿された質問に対してメッセージボードやフォーラムで提供された回答、Salesforce やプログラムに関する質問などに答えることを意図した回答は、一般的な知識としてのみ利用でき、特定の質問に対する回答として捉えないでください (「最良」な回答または同様の評価がされた回答としてマークされている場合でも同様です)。特定の質問に対する回答は、必ず Salesforce サポートにお問い合わせください。Salesforce は回答を管理しておらず、回答の第三者による使用または誤用 (共有を含む) について一切責任を負いません。

ご質問がある場合は、こちら (https://trailhead.salesforce.com/trailblazer-community/feed) から Trailblazer Community 全体の英知を活用してください。

 
ナレッジ記事番号

000396056

 
読み込み中
Salesforce Help | Article