5段階評価など選択リストの数字を数式項目で合計する
評価を選択リストで入力していても、数式項目で合計点を出せます。2023年に書いた記事を、2026年9月時点のSalesforce公式ヘルプで確かめ直し、未選択の項目があるときの扱いを書き足しました。
どういうときに使うのか
面談の評価やアンケートの点数を、1から5の選択リストで入力している組織は多いです。入力する人にとっては選ぶだけで済むので楽ですが、あとで「総合点」を出そうとすると困ります。選択リストの値は数値ではないため、そのままでは足し算ができないからです。
この記事では、複数の5段階評価の合計を数式項目で表示する作り方を紹介します。
数式の組み立て方
考え方は3段階です。
選択リストの値を文字にする
数式の中で選択リストを扱うには、TEXT関数で文字に直します。例は
TEXT(Meeting__c)です。文字を数値にする
VALUE関数で文字を数値に直します。例は
VALUE(TEXT(Meeting__c))です。数値にした値を足す
評価の項目ごとに同じ形で数値にし、
+でつなぎます。
VALUE(TEXT(Meeting__c)) + VALUE(TEXT(Instruction__c)) + VALUE(TEXT(ProgressSharing__c)) + VALUE(TEXT(SupportAdvice__c))
4つの評価を合計する数式(すべて選ばれている前提)
項目のAPI参照名は、実際の組織に合わせて置き換えてください。Meeting__c と SupportAdvice__c は当時の記事の例、ほかの2つはこの記事で付けた仮の名前です。
未選択の項目があるときの扱い
公式ヘルプのVALUE関数の説明には、テキストが空白なら結果も空白になると書かれています。数字として読めない文字が入っている場合も、計算されずに空白になります。
評価を1つでも付け忘れると、合計が出ないことがあるということです。未選択を0点として数えたいときは、BLANKVALUEで空白を0に置き換えてから足します。
BLANKVALUE(VALUE(TEXT(Meeting__c)), 0) + BLANKVALUE(VALUE(TEXT(Instruction__c)), 0) + BLANKVALUE(VALUE(TEXT(ProgressSharing__c)), 0) + BLANKVALUE(VALUE(TEXT(SupportAdvice__c)), 0)
未選択の評価を0点として合計する数式
0点として数えるのか、そもそも合計を出さないのかは、評価の運用で決めてください。付け忘れを見つけたいなら、全項目を必須にする方法もあります。
項目を作る
数式項目を作る
オブジェクトマネージャーで対象のオブジェクトを開き、「項目とリレーション」から新規の項目を作ります。データ型は「数式」、戻り値のデータ型は「数値」を選びます。
数式を入れて構文を確かめる
上の数式を貼り付け、API参照名を置き換えて「構文を確認」を押します。
ページレイアウトに置く
評価の項目の近くに置くと、入力した人がその場で合計を確かめられます。
ここで間違えやすいところ
| 気をつけること | 理由 |
|---|---|
| 値のAPI参照名を数字だけにする | TEXTはAPI参照名を返すため、数字以外の文字が入るとVALUEで数値にならない |
| 数式が見るのは表示ラベルではない | 画面に出る表示ラベルがどうであっても、数式で使われるのはAPI参照名のほう |
| 選択リストを直接文字と比べない | 公式ヘルプでは、選択リストを「Status = "Open"」のように文字と直接比べることが、エラーの原因として挙げられています。条件で使うときはISPICKVALを使います |
確認した環境
- 2026年9月時点のSalesforce公式ヘルプ(選択リストを数式で使うときのヒント、VALUE関数、BLANKVALUE関数)で、TEXTがAPI参照名を返すこと、VALUEが空白を空白として返すこと、BLANKVALUEが空白を置き換えることを確かめています
- 画像は2023年時点の画面です。利用者名とぼかしの掛かっていた欄は白で伏せています
まとめ
- 選択リストの数字は、TEXTで文字に直し、VALUEで数値に直してから足します
- TEXTが返すのは値のAPI参照名なので、API参照名を数字だけにしておきます
- 空白をVALUEに渡すと空白が返るため、未選択を0点にしたいときはBLANKVALUEで置き換えます
- 未選択を許すかどうかは、合計の意味に合わせて先に決めておきます
Salesforceの導入・運用についてご相談ください
導入前の検討から、お使いの環境の改修・運用、AIとの連携まで承ります。状況を伺ったうえで、進め方をご提案します。