top of page
レザーノート

BLOG

プロが選ぶ!Salesforceで毎日使える数式リスト

  • 河野 成将
  • 2025年12月16日
  • 読了時間: 5分

こんにちは。ネクスト・アイの河野です。

今回は、『Salesforce』を活用していく中で、役に立つ「数式」について紹介します。


「Salesforceを取り扱っているけど、どんな数式を使えばいいのかよくわからない」、「どんな数式があって、どんなことができるの?」という方でもわかりやすく解説していますので、ぜひ最後まで読んでいただけると幸いです。

1.『Salesforce』における「数式」

電卓とペンと数式の書かれた紙

『Salesforce』では「数式」を使用して、項目を参照して自動計算を行ったり、「関数」を使用し、レコードの項目へ条件に沿った文字列を自動入力したりすることが可能です。

『Salesforce』の「数式」では、主に「項目」「演算子」「関数」「リテラル値」、という4つの要素を使用します。


●「項目」:参照元の項目(金額、数量、管理No など)

●「演算子」:加算(+)乗算(*)比較演算子(<、>)など

●「関数」:IF、AND、ORなどExcelでお馴染みのものや『Salesforce』独自の「関数」

●「リテラル値」:計算に使用する直接の数値や文字列(5%を乗算するための0.05など)


これらを駆使することで、数式項目に限らず、入力規則やレポート、承認プロセスなどで「数式」を使用することが可能です。


2.基本的な数式関数の例

複数の関数が羅列している

① IF: IF( 条件, 真の場合の値, 偽の場合の値 )

式が真か偽かを判断します。真の場合は与えられた値を返し、偽の場合は別の値を返します。

(例)

IF(
 Status = "VIP",
 "ゴールド",
 "シルバー"
)

「ステータス(Status)」が "VIP" なら "ゴールド"、それ以外なら "シルバー" と表示されます。

② AND: AND( 条件1, 条件2, ..., 条件n )

すべての条件がTrueのときのみTrueを返します。

(例)

IF(
 AND(
  StageName = "契約済み",
  Amount >= 1000000),
 "重要案件",
 "通常案件"
)

「ステージ(StageName)」が "契約済み"かつ「金額(Amount)」が "1000000以上"の時 "重要案件"、それ以外なら "通常案件"と表示されます。

③ OR: OR( 条件1, 条件2, ..., 条件n )

 いずれかの条件がTrueであればTrueを返します。

(例)

IF(
 OR(
  Industry = "製造",
  Industry = "IT",
  Industry = "医療"
 ),
 "重点業種",
 "その他業種"
)

「業種(Industry)」が "製造" "IT" "医療"の場合、"重点業種"、それ以外なら "その他業種"と表示されます。

④ ISPICKVAL: ISPICKVAL( ピックリスト項目,値 )

選択リスト項目の値が指定したテキストリテラルと等しいかどうかを判断します。

IF(
 OR(
  ISPICKVAL(Status__c, "新規"),
  ISPICKVAL(Status__c, "進行中")
 ),
 "対応中",
 "完了済み"
)

ステータス(Status__c)が「新規」または「進行中」なら「対応中」、それ以外なら「完了済み」と表示されます。

番外編 ~入力規則で使える数式~

①ISBLANK: ISBLANK( フィールド名 )

そのフィールドが空(未入力)の場合、TRUEを返します。

(例)

AND(
 StageName = "契約予定",
 ISBLANK(CloseDate)
)

入力規則の例で、「ステージ(StageName)」が "契約予定"の時、「完了予定日(CloseDate)」が空白だとエラーが表示されます。

➁ISCHANGED ISCHANGED( フィールド名 )

そのフィールドの値がレコード更新時に変更された場合に True を返します。

(例)

AND(
 ISCHANGED(Amount),
 Amount > 1000000
)

入力規則の例で、「金額(Amount)」が変更され、かつその額が "1000000"を超えていたらエラーが表示されます。

3.実務的な「数式」のユースケース(応用)

NXI商談、テスト1などの文字

①商談の完了予定日超過を知らせる数式項目

IF(
 AND(
  TODAY() > CloseDate, ……「完了予定日」が今日より前である
 NOT(
  ISPICKVAL(Status, "完了")) ……「ステータス」が"完了"ではないことを確認
),
"期限超過",
"期限前"
)

この数式は商談オブジェクトや活動オブジェクトなどで便利です。

商談や活動の「完了予定日(CloseDate)」を過ぎても「ステータス(Status)」が "完了"になっていなかった場合、

"期限超過"と表示され、それ以外なら "期限前"と表示されます。

※NOT…真であれば FALSE、偽であれば TRUE を返します。

②取引先区分の判定

IF(
 AnnualRevenue >= 100000000,……「年間売上高」が"1億以上"であるか確認
 "大口",
 IF(AnnualRevenue >= 10000000,……「年間売上高」が"1000万以上"であるか確認
 "中堅",
 "小口"
 )
)

この数式は取引先オブジェクトなどで活用できます。

取引先の「年間売上高(AnnualRevenue )」が "1億以上"なら "大口"、"1000万以上"なら "中堅"、それ以外なら "小口"と表示されます。

③入力必須の複合チェック

OR(
 AND(
  ISPICKVAL(Status, "完了"),……「ステータス」が"完了"であるか確認      
  ISBLANK(CompletionDate)……「完了日」),
 AND(
  ISPICKVAL(Status, "キャンセル"),……「ステータス」が"キャンセル"であるか確認       
  ISBLANK(CancelReason)……「キャンセル理由」
)
)

この数式は、商談オブジェクトなどの入力規則で活用できます。

「ステータス(Status)」が "完了"の時、「完了日(CompletionDate)」必須、「ステータス(Status)」が "キャンセル"の時、「キャンセル理由(CancelReason)」を必須にする数式です。

「ステータス(Status)」が "完了"、"キャンセル"なのに「完了日(CompletionDate)」「キャンセル理由(CancelReason)」が入力されていなければエラーが表示されます。


4.『Salesforce』における「数式」の注意点と解決策


①()で閉じる

×IF(TEXT(件名)="訪問",1,0 ←()で閉じていない

IF(TEXT(件名)="訪問",1,0)


➁ 場所に制限のある関数

数式関数によっては使用場所制限のあるものが存在し、

例えば、レポートのみで使用できるような関数として、ROWCOUNTなどがあります。


➂「型」を揃える

「型」が違うもので比較などをすると、エラーになることがあります。

×IF(件名 = "外出" , "訪問" , "その他" )

IF(TEXT(件名) = "外出" , "訪問" , "その他" )

※「件名」は選択リスト型の項目


👉TEXTを使用して、「文字列型」に変換しましょう。


④ 文字列結合と数値計算

文字列を結合させる場合は「&」を使いましょう。

数値計算を行う場合は「+」を使いましょう。


例)文字列結合

Name & "-" & TEXT(Amount)

これで「Name」に「-Amount」が結合された文字列を表示することができます。



まとめ


今回は、『Salesforce』で使える「数式」についてご紹介しました。

私自身、今回紹介した基本的な数式を頻繁に使用しています。非常に便利で、意外と簡単な数式ですので、ぜひ活用していただけたらと思います。

この記事が、『Salesforce』で「数式」を使いたい、使い方がわからない、といった方の参考になれば幸いです。

最後までご愛読いただきありがとうございました。

このブログでは、Salesforceをもっと便利に使うためのお役立ち情報を発信しています。

記事に対する質問・相談は、トップページの「CONTACT」よりご連絡ください。




コメント


bottom of page