この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

関数

レコードのデータの変換、計算の実行、Visualforce 属性の値の指定を行うには、関数を使用します。

関数は、評価する Visualforce 式で使用する必要があります。Visualforce ページでは、次の関数を使用できます。

日付および時間関数

API バージョン 20.0 未満の Visualforce ページでは、数式の date/time データ型が正しく評価されない場合があります。誤って date 型として解釈される可能性があります。

メモ

関数 説明 使用
ADDMONTHS 指定した日付の指定の月数前または後の日付を返します。結果の月の日数が開始月よりも少ない場合、関数から結果の月の最終日が返されます。それ以外の場合、結果の日付の内容は、指定した日付と同じになります。 ADDMONTHS (date, num)。date に開始日、num に追加する月数を指定します。
DATE 入力した年、月、および日の値から日付値を返します。Salesforce では、数式項目内の DATE 関数の値が、うるうでない年の 2 月 29 日などのように無効な日付である場合に、詳細ページにエラーを表示します。 DATE(year,month,day)year に 4 桁の年、month に 2 桁の月、day に 2 桁の日を指定します。
DATEVALUE 日付/時間またはテキストの式に対して日付型の値を返します。 DATEVALUE(expression)expression に、日付/時間かテキスト値、差し込み項目、または式を指定します。
DATETIMEVALUE 年、月、日、および GMT 時刻値を返します。 DATETIMEVALUE(expression)expression に、日付/時間かテキスト値、差し込み項目、または式を指定します。
DAY 月の日付を、1 から 31 までの数値形式で返します。 DAY(date)date を、日付項目や TODAY() などの値で指定します。
HOUR 日付のないローカル時間の時間値を 1 ~ 12 の数値形式で返します。 HOUR(time)time に、時間値または TIMENOW() などの値を指定します。
MILLISECOND ミリ秒値を 0 ~ 999 の数値形式で返します。 MILLISECOND(time)time に、時間値または TIMENOW() などの値を指定します。
MINUTE 分値を 0 ~ 60 の数値形式で返します。 MINUTE(time)time に、時間値または TIMENOW() などの値を指定します。
MONTH 数値形式で指定された日付の中の、1 (1 月) から 12 (12 月) までの数値を返します。 MONTH(date)date に、返される月を含む日付を表す項目または式を指定します。
NOW 現在の日付/時間を返します。
NOW 関数は、現在の日付と時刻を GMT タイムゾーンで返します。たとえば、{!NOW()} の場合:
1Today's date and time is: {!NOW()}
これは、次の出力を作成します。
1Today's date and time is: Mon Jul 21 16:12:10 GMT 2008
ヒント
  • 括弧を削除しないでください。
  • 括弧は空白のままにしておきます。値を入れる必要はありません。
  • 数値および NOW 関数と一緒に加算演算子または減算演算子を使用すると、異なる日付と時間が返されます。たとえば、{!NOW() +5} は、現在から 5 日先の日付と時間を計算します。
  • 日付時間項目を使用する場合は、TODAY を使用してください。
NOW()
SECOND 秒値を 0 ~ 60 の数値形式で返します。 SECOND(time)time に、時間値または TIMENOW() などの値を指定します。
TIMENOW 現在の時刻を表す時間値を GMT 形式で返します。日付のない時間のみを追跡する場合、NOW 関数の代わりにこの関数を使用します。 TIMENOW()
TIMEVALUE 日付のないローカル時間値 (営業時間など) を返します。 TIMEVALUE(value)value に、日付/時間かテキスト値、差し込み項目、または式を指定します。
TODAY 現在の日付を日付データ型で返します。
TODAY 関数は、現在の日付を返します。たとえば、次のマークアップの場合:
1Today's date is: {!TODAY()}
これは、次の出力を作成します。
1Today's date is: Mon Jul 21 00:00:00 GMT 2008
ヒント
  • 括弧を削除しないでください。
  • 括弧は空白のままにしておきます。値を入れる必要はありません。
  • TODAY 関数および数値と一緒に加算演算子と減算演算子を使用すると、日付が返されます。たとえば、{!TODAY() +7} は、現在から 7 日先の日付を計算します。
  • 日付時間項目を使用する場合は、NOW を使用してください。
TODAY()
WEEKDAY 1 (日曜日)、2 (月曜日)、~ 7 (土曜日) を使用して、指定された日付の曜日を返します。 WEEKDAY(date)
YEAR 指定された日付の 4 桁の年を数値形式で返します。 YEAR(date)date に、返される年を含む項目または式を指定します。

論理関数

関数 説明 使用
AND 値がすべて真である場合は TRUE を返し、1 つ以上の値が偽である場合は FALSE を返します。
次のマークアップでは、価格と数量が 1 未満の場合は、「Small」という単語が表示されます。納入商品の価格または数量が 1 より大きい場合、この項目は空白になります。
1{!IF(AND(Price < 1,
2   Quantity < 1),
3   "Small", null)}

Visualforce マークアップでは、単語 AND の代わりに && を使用できます。たとえば、AND(Price < 1, Quantity < 1) は、(Price < 1) && (Quantity < 1) と同じです。

  • value_if_true 式と value_if_false 式のデータ型は同じにしてください。
AND(logical1,logical2,...) を使用し、logical1,logical2,... に評価する値を指定します。
BLANKVALUE 式に値があるかどうかを判断し、ない場合は代替式を返します。式に値がある場合は、式の値を返します。 BLANKVALUE(expression, substitute_expression)expression に、評価する式を指定します。substitute_expression に、空白値を置き換える値を指定します。
CASE 与えられた式を一連の値と照合します。式が値と一致する場合は、対応する結果を返します。どの値とも一致しない場合は、else_result を返します。 CASE(expression,​value1, result1, value2,​ result2,...,​ else_result)expression には、指定された値と比較する項目または値を指定します。value と result の各値は、result を返すために等しくする必要があります。else_result には、式がどの値とも一致しない場合に返される値を指定します。
IF 式が真か偽かを判断します。真の場合は与えられた値を返し、偽の場合は別の値を返します。
次のマークアップは、商談の IsPrivate 項目が true に設定されていると「Private」、false に設定されていると「Not Private」を返します。
1{!IF(opportunity.IsPrivate, "Private", "Not Private")}
IF(logical_test, value_if_true, value_if_false)logical_test に、評価する式を指定します。value_if_true に、式が真の場合に返す値を指定します。value_if_false に、式が偽の場合に返す値を指定します。
ISBLANK 式に値があるかどうかを判断し、ない場合は TRUE を返します。値を含む場合は FALSE を返します。 ISBLANK(expression)expression に、評価する式を指定します。
ISCLONE レコードが別のレコードのコピーであるかどうかを確認し、1 つの項目がコピーである場合は TRUE を返します。それ以外の場合は FALSE を返します。 ISCLONE()
ISNEW 新規レコードの作成中に数式が実行されているかどうかを確認し、実行中の場合は TRUE を返します。既存のレコードが更新中の場合は、FALSE を返します。 ISNEW()
ISNULL 式が null (空白) かどうかを判断し、該当する場合は TRUE を返します。値を含む場合は FALSE を返します。
ISNUMBER テキスト値が数値であるかどうかを判断し、該当する場合は TRUE を返します。該当しない場合は FALSE を返します。 ISNUMBER(text)text に、テキスト項目の差し込み項目名を指定します。
NOT 真であれば FALSE、偽であれば TRUE を返します。
次のマークアップは、取引先の IsActive 項目が false に設定されていると、ReportAcct という値を返します。IsActive が true に設定されていると、SaveAcct という値を返します。
1{!IF(NOT(Account.IsActive)ReportAcct, SaveAcct)}

Visualforce マークアップでは、単語 NOT の代わりに ! を使用できます。たとえば、NOT(Account.IsActive) は、!Account.IsActive) と同じです。

NOT(logical)logical に、評価する式を指定します。
NULLVALUE 式が null (空白) かどうかを判断し、該当する場合は代替式を返します。式が値と一致する場合は、対応する結果を返します。 NULLVALUE(expression, substitute_expression)expression に、評価する式を指定します。substitute_expression に、空白値を置き換える値を指定します。
OR 式が真か偽かを判断します。式が真である場合は、TRUE を返します。式が偽である場合は、FALSE を返します。
次のマークアップは、取引先項目 IsActive__c または IsNew__c が false に設定されていると、VerifyAcct という値を返します。
1{!IF(OR(Account.IsActive__c, 
2   Account.IsNew__C)) 
3   VerifyAcct, CloseAcct)}

Visualforce マークアップでは、単語 OR の代わりに || を使用できます。たとえば、OR(Price < 1, Quantity < 1) は、((Price < 1) || (Quantity < 1)) と同じです。

OR(logical1, logical2...) を使用し、任意の数字の論理参照に、評価する式を指定します。
PRIORVALUE 項目の前の値を返します。 PRIORVALUE(field)

算術関数

関数 説明 使用
ABS 数値の絶対値を計算します。数値の絶対値とは、正または負の記号のない数値のことです。 ABS(number)。それぞれの number に、差し込み項目、式、または削除する記号を持つその他の数値を指定します。
CEILING 数値を最も近い整数 (負の場合は 0 から遠い方) に切り上げます。 CEILING(number)number を切り上げられた値に置き換えます。
EXP e を指定した指数まで掛け合わせた値を返します。 EXP(number)number に、数値項目または 5 などの値を指定します。
FLOOR 最も近い整数 (負の場合は 0 に近い方) に切り捨てられた数値を返します。 FLOOR(number)number に、数値項目または 5.245 などの値を指定します。
LN 指定した数の自然対数を返します。自然対数は、定数 e の値 2.71828182845904 に基づきます。 LN(number)number に、自然対数を求める項目または式を指定します。
LOG 数値の基数 10 の対数を返します。 LOG(number)number に、基数 10 の対数の計算元項目または式を指定します。
MAX 数値のリストの中で最大の数値を返します。 MAX(number, number,...) を使用し、number に最も高い数を取得する項目または式を指定します。
MCEILING 数値を最も近い整数 (負の場合は 0 に近い方) に切り上げます。 MCEILING(number)
MFLOOR 数値を最も近い整数 (負の場合は 0 から遠い方) に切り捨てます。 MFLOOR(number)
MIN 数値のリストの中で最小の数値を返します。 MIN(number, number,...) を使用し、number に項目または式を指定します (これらの項目または式から、最も低い数が取得されます)。
MOD 数値を指定した除数で除算した後の剰余を返します。 MOD(number, divisor)number を除算する項目または式で置き換え、divisor には、約数として使用する数値を指定します。
ROUND 指定した数値にもっとも近い数値を返します。新しい数値は、指定した桁数で制限します。 ROUND(number, num_digits)number に、値を丸める項目または式を指定します。num_digits に、値を丸めるときに考慮する小数点以下の桁数を指定します。
SQRT 指定された数値の正の平方根を返します。 SQRT(number)number に、平方根にする項目または式を指定します。

テキスト関数

関数 説明 使用
BEGINS テキストが特定の文字列で始まるかどうかを判断し、該当する場合は TRUE を返します。偽である場合は FALSE を返します。
次のマークアップは、商談の StageName 項目が文字列「Closed」で開始する場合、true を返します。標準フェーズ名「Closed Won」(商談成立) と「Closed Lost」(不成立) の場合、どちらも true が返されます。
1{!BEGINS(opportunity.StageName, 'Closed')}

この関数は、大文字と小文字を区別するため、compare_text の値には必ず正しい大文字を使用してください。また、この関数は text にのみ機能し、number やその他のデータ型には機能しません。

BEGINS(text, compare_text)text, compare_text に、比較する文字または項目を指定します。
BR テキスト文字列に改行を挿入します。 BR()
CASESAFEID 15 文字の ID を 大文字と小文字を区別しない 18 文字の ID に変換します。 CASESAFEID(id)id にオブジェクトの ID を指定します。
CONTAINS テキストの 2 つの引数を比較し、最初の引数に 2 番目の引数が含まれる場合には TRUE を返します。含まれない場合は FALSE を返します。
この例は、Product_Type というカスタムテキスト項目の内容を確認し、「part」という言葉の含まれる商品に対して「Parts」を返します。それ以外の場合は、「Service」と表示します。
1{!IF(contains(opportunity.Product_Type__c, "part"), "Parts", "Service")}

この関数は、大文字と小文字を区別するため、compare_text の値には必ず正しい大文字を使用してください。

CONTAINS(text, compare_text)text に、compare_text の値を含むテキストを指定します。
FIND テキスト文字列中での指定した文字列の位置を数値で返します。 FIND(search_text, text[, start_num])search_text に検索対象となる文字列を指定します。text には、検索対象となる項目または式を指定します。start_num には、左から右に向かって検索を開始する文字数を指定します。
GETSESSIONID ユーザのセッション ID を返します。 GETSESSIONID()
HTMLENCODE 大なり記号 (>) などの HTML で予約されている文字を &gt; などの HTML エンティティ文字に置き換えて、HTML で使用するテキスト文字列や差し込み項目値を符号化します。 {!HTMLENCODE(text)}text に、差し込み項目または予約文字を含むテキスト文字列を指定します。
ISPICKVAL 選択リスト項目の値が指定したテキストリテラルと等しいかどうかを判断します。 ISPICKVAL(picklist_field, text_literal)picklist_field には選択リストの差し込み項目名を指定し、text_literal には引用符で囲んだ選択リストの値を指定します。text_literal を差し込み項目、または関数の結果にすることはできません。
JSENCODE バックスラッシュ (\) などのエスケープ文字をアポストロフィー (') などの安全でない JavaScript 文字の前に挿入して、JavaScript で使用するテキスト文字列や差し込み項目値を符号化します。 {!JSENCODE(text)}text に、差し込み項目または安全でない JavaScript 文字を含むテキスト文字列を指定します。
JSINHTMLENCODE HTML で��約されている文字を HTML エンティティ文字に置き換えて、エスケープ文字を安全でない JavaScript 文字の前に挿入し、HTML タグ内の JavaScript で使用するテキスト文字列や差し込み項目値を符号化します。JSINHTMLENCODE(someValue) は、JSENCODE(HTMLENCODE((someValue)) と同等の便利な関数です。つまり、JSINHTMLENCODEHTMLENCODE で最初に someValue を符号化してから、JSENCODE で結果を符号化します。 {!JSINHTMLENCODE(text)}text に、差し込み項目または安全でない JavaScript 文字を含むテキスト文字列を指定します。
LEFT テキスト文字列の先頭から、指定した数の文字を返します。 LEFT(text, num_chars)text に、返す項目または式を指定します。num_chars に、返す文字列の先頭からの文字数を指定します。
LEN 指定したテキスト文字列の文字数を返します。

{!LEN(Account.name)} は、取引先名の文字数を返します。LEN は、文字と空白をカウントします。{!LEN("The Spot")} は 8 を返します。

LEN(text)text に、返される長さを持つ項目または式を指定します。
LOWER 指定したテキスト文字列内のすべての英字を小文字に変換します。英字でない文字は、この関数の影響を受けません。地域が適用されている場合は地域ルールが適用されます。 LOWER(text, [locale]) を使用し、text に小文字に変換する項目またはテキストを指定して、locale には任意で 2 文字の ISO 言語コードまたは 5 文字の地域コードを指定します。
LPAD テキスト文字列の左側に指定した文字を挿入します。
LPAD(text, padded_length[, pad_string])。次の変数を指定します。
  • text には、その左側に文字を挿入する項目または式を指定します。
  • padded_length には、返されるテキストの合計文字数を指定します。
  • pad_string には、挿入する必要のある文字を指定します。pad_string は省略可能であり、デフォルトでは空白になります。
text の値が pad_string よりも長い場合には、textpadded_length のサイズまで切り取られます。
MID テキスト文字列中の途中で指定した開始位置から、指定した数の文字を返します。 MID(text, start_num, num_chars)text に、文字列を返すときに使用する項目または式を指定します。start_num に、開始位置として使用する文字の、左から数えた文字数を指定します。num_chars に、返す合計文字数を指定します。
RIGHT テキスト文字列の末尾から、指定した数の文字を返します。 RIGHT(text, num_chars)text に、返す項目または式を指定します。num_chars に、返す文字列の最後尾からの文字数を指定します。
RPAD テキスト文字列の右側に指定した文字を挿入します。
RPAD(text, padded_length[, 'pad_string'])。次の変数を指定します。
  • text には、その後に文字を挿入する項目または式を指定します。
  • pad_length には、返されるテキスト文字列の合計文字数を指定します。
  • pad_string には、挿入する文字を指定します。pad_string は省略可能であり、デフォルトでは空白になります。
text の値が pad_string よりも長い場合には、textpadded_length のサイズまで切り取られます。
SUBSTITUTE テキスト文字列中の元のテキストを新規のテキストで置き換えます。 SUBSTITUTE(text, old_text, new_text)text に、値の代入をする項目か値を指定します。old_text に、置換対象となるテキストを指定します。new_textold_text を置換するテキストを指定します。
TEXT 数式を使用するすべての場所で、パーセント、数値、日付、日付/時間、または通貨の各項目のデータ型をテキストに変換します。また、承認ルール、承認ステップルール、ワークフロールール、エスカレーションルール、割り当てルール、自動レスポンスルール、入力規則、数式項目、項目自動更新、およびカスタムボタンとカスタムリンクで、選択リスト値をテキストに変換します。 TEXT(value)value に、テキスト形式に変換する項目または式を指定します。この関数では、小数点 (ピリオド) またはマイナス記号 (ダッシュ) 以外の特殊文字を使用しないでください。
TRIM テキスト文字列の先頭と末尾から、スペースとタブを削除します。 TRIM(text)text に、タブとスペースを削除する項目または式を指定します。
UPPER 指定したテキスト文字列内のすべての英字を大文字に変換します。英字でない文字は、この関数の影響を受けません。地域が適用されている場合は地域ルールが適用されます。 UPPER(text, [locale])。必要に応じて、text を大文字に変換する項目または数式と置き換え、locale は、省略可能な 2 文字の ISO 言語コードまたは 5 文字の地域コードに置き換えます。
URLENCODE RFC 3986, Uniform Resource Identifier (URI): Generic Syntax での定義に従って、URL では不正な空白スペースなどの文字を、これらの文字を表すコードに置き換えて、URL で使用するテキスト文字列や差し込み項目値を符号化します。たとえば、空白スペースは %20 に置き換えられ、感嘆符は %21 に置き換えられます。 {!URLENCODE(text)}text に、差し込み項目または符号化するテキスト文字列を指定します。
VALUE テキスト文字列を数値に変換します。 VALUE(text)text に、数値に変換する項目または式を指定します。

高度な関数

関数 説明 使用
CURRENCYRATE 指定された通貨 ISO コードのマスタ通貨に対する換算レートを返します。通貨が無効な場合は 1.0 を返します。 CURRENCYRATE(currency_ISO_code)currency_ISO_code に、「USD」などの通貨 ISO コードを指定します。
GETRECORDIDS リストビューまたは関連リストなどのリスト内で選択したレコードのレコード ID の形式で、配列された文字列を返します。 {!GETRECORDIDS(object_type)}object_type に、取り出したいレコードのカスタムオブジェクトまたは標準オブジェクトへの参照を指定します。
IMAGEPROXYURL 安全に外部画像を取得し、ユーザのログイン情報が許可なく要求されることを防ぎます。 <apex:image value="{!IMAGEPROXYURL("http://exampledomain.com/pic.png")}"/>http://exampledomain.com/pic.png に画像を指定します。
INCLUDE Sコントロールスニペットの内容を返します。複数の Sコントロールで共通のコードを再利用する場合に、この関数を使用します。 {!INCLUDE(source, [inputs])}source に、参照する Sコントロールスニペットを指定します。inputs に、スニペットに渡す情報を指定します。
ISCHANGED 項目の値を前との値と比較し、値が異なれば TRUE を返します。値が同じ場合は FALSE を返します。 ISCHANGED(field)field に、比較する項目名を指定します。
JUNCTIONIDLIST 入力した ID に基づいて JunctionIDList を返します。 JUNCTIONIDLIST(id, id,...)id に、使用する Salesforce ID を指定します。
LINKTO リンク (href およびアンカータグ) の形式で、カスタムSコントロールまたは Salesforce ページへの相対 URL を返します。 {!LINKTO(label, target,​ id, [inputs], [no override]}​label に、リンクのテキストを指定します。target に URL を指定します。id に、レコードへの参照を指定します。入力は省略可能で、リンクには追加のパラメータを指定できます。 no override (優先指定なし) 引数も省略可能で、デフォルトは「False」です。これは、$Action.Account.New など標準の Salesforce ページへの対象に適用されます。別の箇所で優先指定を定義したかどうかに関係なく標準の Salesforce ページを表示する場合は、no override を「True」に置き換えます。
REGEX テキスト項目を正規表現と比較し、一致する場合に TRUE を返します。該当しない場合は FALSE を返します。正規表現とは、特定の構文規則に従う文字列の形式を記述するための文字列です。 REGEX(text, regex_text)text にはテキスト項目を、regex_text には一致させる正規表現を指定します。
REQUIRESCRIPT 指定した URL に対する script タグとそのソースを返します。Lightning Platform AJAX ツールキットまたはその他の JavaScript ツールキットを参照する場合に、この関数を使用します。 {!REQUIRESCRIPT(url)}url に、必要なスクリプトへのリンクを指定します。
URLFOR Visualforce ページにある静的リソースアーカイブ内のアクション、Sコントロール、Visualforce ページ、またはファイルの相対 URL を返します。

これは、静的リソースアーカイブ (.zip ファイルや .jar ファイルなど) に含まれるファイルへの参照を返すために使用できます。{!URLFOR(resource, path)}resource を差し込み変数 ($Resource.resourceName など) として表される静的リソースアーカイブの名前で置き換え、path をアーカイブ内の参照するファイルへのローカルパスに置き換えます。

{!URLFOR(target, [id], [inputs], [no override])}target に URL またはアクション、Sコントロール、静的リソースマージ変数を指定します。id に、レコードへの省略可能な参照を指定します。inputs に、省略可能な追加のパラメータを指定します。 no override (優先指定なし) 引数も省略可能で、デフォルトは「False」です。これは、$Action.Account.New など標準の Salesforce ページへの対象に適用されます。別の箇所で優先指定を定義したかどうかに関係なく標準の Salesforce ページを表示する場合は、no override を「True」に置き換えます。
Visualforce ページにアクセスするには、「$Page」に続けてページ名を入力します。たとえば、Visualforce ページの名前が myTestPage の場合、次のように入力します。
1{!URLFOR($Page.myTestPage)}
入力値は動的にすることができます。たとえば、取引先 ID を含めるには、次のように指定します。
1{!URLFOR($Page.myVisualforcePage, null, [accountId=Account.Id])}

この結果、URL には次のように ID 付きのパラメータが含まれます。

1https://instance.salesforce.com/apex/myVisualforcePage?accountId=001B0000002txol

S オブジェクト変数など、文字列以外の変数を使用することもできます。たとえば、[myAccountParam=Account] を指定すると、値は文字列に変換され、URL に ?MyAccountParam=001B0000002txol が含まれます。[param1=55] のように、パラメータを使用して静的値を指定することもできます。

パラメータ名は静的であるため、変数を使用してパラメータ名を決めることはできません。たとえば、[myVariable=”value1”] を使用して “myVariable” を param1 に設定すると、URL には「param1」の値ではなく ?myVariable=value1 が含まれます。

メモ

VLOOKUP Excel の VLOOKUP() 関数と同様に、カスタムオブジェクトに関連する値を検索し、その値を返します。 VLOOKUP(field_to_return, field_on_lookup_object, lookup_value)field_to_return には返す値が含まれている項目を、field_on_lookup_object には一致させる値が含まれている関連オブジェクト上の項目を、また lookup_value には一致させる値を指定します。入力規則には VLOOKUP() のみ使用できます。たとえば field_on_lookup_object が存在しないなどの理由で関数が失敗した場合は、入力規則自体にエラーメッセージを指定できます。