在公式中使用选项列表和多选选项列表值的提示
获取有关构建从选项列表和多选选项列表中引用值的公式的提示。此外,查找有关使用布尔复选框字段和处理常见错误的指导。
所需的 Edition
| 适用于:Lightning Experience 和 Salesforce Classic |
| 在所有版本中可用 |
由于 Salesforce 存储选项列表值的方式与其他字段类型不同,因此在公式中使用这些值需要专门的函数。使用大多数公式函数或标准比较运算符(例如 = 或 !=)会导致错误。
选项列表
要在公式中引用选项列表值,请仅使用这三个函数。
- ISPICKVAL:确定选项列表字段是否包含特定值。
- 用例示例:如果个案状态选项列表等于
Escalated,则创建显示警报的验证规则公式。
- 用例示例:如果个案状态选项列表等于
- CASE:为选项列表中的每个选项分配特定值。
- 用例示例:通过将数值分配到优先级选项列表中的每个选项来计算到期日期公式字段,其中
High转换为 1 天,Low转换为 7 天。
- 用例示例:通过将数值分配到优先级选项列表中的每个选项来计算到期日期公式字段,其中
- 文本:将选项列表的选定值转换为标准文本,其中文本是值的 API 名称。将选项列表值转换为文本后,您可以将其与其他字段组合。仅适用于流公式资源、公式字段、验证规则和工作流字段更新。
- 用例示例:通过将
Region选项列表值与年份字段组合,创建唯一的记录 ID 公式字段。
- 用例示例:通过将
多选选项列表
要在公式中引用多选选项列表值,请仅使用这些函数。
- 包括:检查多选选项列表是否包含特定值(即使也选择了其他值)。
- 用例示例:创建一个公式字段,当用户在兴趣选项列表中选择
Golf选项时,该字段会自动设置复选框返回类型(称为 VIP 成员)。
- 用例示例:创建一个公式字段,当用户在兴趣选项列表中选择
- 空白:检查用户是否未在选项列表中选择任何选项。
- 用例示例:创建验证规则公式,防止用户在多选选项列表字段为空时保存记录。
- 已更改:检查用户是否在当前编辑会话期间修改了选项列表选择列表。仅适用于分配规则、验证规则、工作流字段更新和使用评估条件的工作流规则:在记录处于以下状态时评估规则:创建以及每次编辑。
- 用例示例:如果客户处于活动状态,创建验证规则公式,防止用户更改批准供应商选项列表中的选择。
- PRIORVALUE:检查用户更改前选项列表的选择。仅适用于分配规则、验证规则、工作流字段更新和使用评估条件的工作流规则:在记录处于以下状态时评估规则:创建以及每次编辑。
- 用例示例:创建验证规则公式,如果用户取消选择标记选项列表中的
Critical选项,则需要用户提供原因。
- 用例示例:创建验证规则公式,如果用户取消选择标记选项列表中的
这些函数也适用于公式中的多选选项列表值,但有一些注意事项。
- 包含:检查特定文本字符串是否出现在多选选项列表中选定值中的任何位置。仅适用于进程构建器或使用满足运行操作条件的流公式。最好使用 INCLUDES。
- 用例示例:如果用户在兴趣选项列表中的任何选择包含文本
Golf,则创建触发操作的 Process Builder 公式。
此函数匹配部分单词。在示例中,如果用户选择 Mini-Golf,公式会触发操作,因为该值包含文本“Golf”。请谨慎使用短词 — 搜索 Ten 会匹配“Tennis”和“Tent”。
- 用例示例:如果用户在兴趣选项列表中的任何选择包含文本
- ISNULL:检查字段是否为空。此函数过时,不能很好地处理空文本字段或选项列表。将 ISBLANK 用于新公式。
有关这些函数的语法指导,以及提示和示例,请参见 INCLUDES、ISBLANK、ISCHANGED、PRIORVALUE、CONTAINS 和 ISNULL。
标准复选框字段(布尔值)
一些标准对象包含汇总记录状态的特殊复选框字段(布尔值)。例如:对个案的 IsEscalated,对业务机会的 IsWon 和 IsClosed,对任务和事件的 IsClosed,以及对潜在客户的 IsConverted。
这些字段不是选项列表。虽然它们与状态相关,但它们实际上是包含真或假值的复选框。系统管理这些复选框。您可以直接在公式上使用这些字段,而无需选项列表所需的专用函数,例如 ISPICKVAL。例如,要识别已结束的业务机会,您只需使用:
IsClosed = TRUE在根据状态构建公式时,检查标准复选框字段(例如 IsWon)是否执行您需要的操作。这通常比为选项列表字段(例如 StageName)编写复杂的逻辑语句更简单。
在公式中引用选项列表值时的常见错误故障排除
- 错误:只有某些函数支持选项列表字段
- 可能原因:您尝试将选项列表字段直接与文本进行比较(例如,
Status = "Open",或使用不可用于选项列表的数学或文本函数)。 - 解决方案:使用 ISPICKVAL 替换直接比较。
- 不正确:
Status__c = “Open" - 正确:
ISPICKVAL( Status__c, "Open" )
- 不正确:
- 可能原因:您尝试将选项列表字段直接与文本进行比较(例如,
- 错误:函数“ISPICKVAL()”的参数数量不正确或通 用语法错误
- 可能原因:您在括号中包含等号 (=)。
- 解决方案:使用逗号将字段与值分开。
- 不正确:
ISPICKVAL( Status__c = "Open" ) - 正确:
ISPICKVAL( Status__c, "Open" )
- 不正确:
- 错误:公式有效但不起作用(当公式应为 TRUE 时返回 FALSE)
- 可能原因:您使用选项列表标签(用户看到的内容)而不是 API 名称(系统使用的内容)。选项列表标签通常与基础 API 名称不同。
- 解决方案:检查字段设置中的选项列表值,并确保公式使用准确的 API 名称(例如,In_Progress,而不是“进行中”)。
另请参阅:
本文章是否解决您的问题?
请与我们共享您的想法,以便我们进行改进!

