公式(1)复选框

学习目标

完成本单元后,您将能够:

  • 描述复选框公式的返回类型是什么。
  • 使用IF(),AND(),NOT()和OR()函数十分方便。
  • 用复选框类型描述公式的用例。
  • 使用复选框类型创建一个公式。

公式字段介绍

公式是一个强大的工具,可以让您对组织数据执行计算和其他操作。使用公式,您可以嵌入超链接,使用现有字段执行算术运算,或使用条件逻辑显示金额。如果您以前从未使用过公式,那么在开始使用公式字段之前,请先阅读此公式。

公式中的复选框类型简介

说到复选框,您只有两个选择:选择或不选择。这对你的公式意味着什么?那么,复选框公式只是一个逻辑语句,可以是真或假。例如,如果您想知道账户至少有500名员工,则可以使用简单的复选框公式。

NumberOfEmployees >= 500
如果某个账户的员工数量超过或等于500人,则在该账户的页面上选中复选框大账户。否则,大型账户不被检查。
大多数情况下,公式中的逻辑陈述比这个复杂得多。要充分利用复选框公式数据类型,您需要一些基本的逻辑工具。

基本的逻辑运算符

逻辑函数是对几乎每个对话中已经使用的单词进行更加严格的适应性调整:和,或不,如果。例如,你知道,一个苹果是一个红色的水果,而一个香蕉是一个黄色的水果。如果你在杂货店里看到红色和水果的东西,你就要抢苹果。如果你正在寻找一些红色或水果的东西,你可以用苹果或香蕉。
您可以使用与NOT(),AND(),OR()和IF()函数相同类型的逻辑。

AND()

内建的AND()函数至少需要两个参数。当且仅当两个参数都为真时它才返回true。如果我们在桌子上看这个逻辑,可以很容易地看到这个逻辑。

第一个参数 = True 第一个参数 = False
第二个参数 = True True False
第二个参数= False False False
例如,假设您希望用户查看联系人并立即知道是否可以通过电子邮件或电话联系他们。如果有问题的联系人标记为“不呼叫”和“退出电子邮件”,我们想要选择另一个复选框,不要联系。因为我们希望只有当选择了“不呼叫”和“电子邮件退出”的联系人时,才能检查此复选框,我们使用AND()函数。
以与在Salesforce中创建任何其他公式字段相同的方式创建复选框公式。
  1. 从设置中,在快速查找框中输入联系人,然后选择联系 Contacts | Fields.
  2. 滚动到联系人自定义字段和关系部分,然后单击 New.
  3. 选择Formula 并单击Next
  4. Field Label, 中,输入 Do Not Contact. 字段名称自动填充。
  5. 选择 Checkbox 然后单击 Next.
  6. 复制下面的代码片段并将其粘贴到公式编辑器中。

    AND(DoNotCall, HasOptedOutOfEmail)
    一旦你完成,这是它在公式编辑器中的样子:
    The Do Not Contact checkbox formula
快速记录。我们在整个模块中给出的公式样本范围从相对简单到非常复杂。为了使您更容易,我们将给你所有的公式样本作为片段,而不是公式编辑器中的外观的截图。这将允许您将代码片段复制并粘贴到公式编辑器中。要复制代码段,只需将鼠标悬停在代码段上,直到右上角出现三个图标。然后使用“复制到剪贴板”图标复制代码段。
一如往常,确保您使用高级公式编辑器输入您的公式。您可以通过从公式编辑器中选择“高级公式”选项卡来访问“高级公式编辑器”。高级公式编辑器使您可以轻松访问您在整个模块中需要的各种功能和操作员。

注意

请记住,您可以将公式字段创建为自定义字段,但也可以将公式字段创建为验证规则。通过验证规则,您可以防止用户根据公式保存包含无效数据的记录。验证规则可以是强制执行数据质量的一种有效方法,但拥有巨大的权力则是一项重大的责任。你想要的最后一件事是不能保存记录的不幸的用户。所以明智地使用你的力量。在这里了解更多关于验证规则。
使用此公式,如果有人选择了“不呼叫”和“电子邮件退出”,则联系人卡片将显示另一个选中的复选框“不接触”。如果人员只选择其中一个,则不选中“不联系”框。

 

注意

有不止一种方法来编写AND()函数。你可以用AND()把它写成函数,或者把两个语句和&&联系起来,作为一个操作符。在这种情况下,AND(DoNotCall,HasOptedOutOfEmail)等同于DoNotCall && HasOptedOutOfEmail。请确保不要混淆&,它用&连接两个文本字符串来替换AND()。
如果你想检查两个以上的条件,不要担心,AND()运算符不限于两个。如果AND()运算符选择了“不要呼叫”,“电子邮件退出”和“传真退出”,则在“不联系”框中显示与联系人联系的条件。
AND(DoNotCall, HasOptedOutOfEmail, HasOptedOutOfFax)
使用此公式,只有在选中了“不呼叫”,“不要电子邮件”和“不传真”三个复选框时,才会选中“不接触”复选框。如果没有选中任何一个(或两个或全部三个),则不会在联系人页面上显示未选中。

OR()

OR()函数与AND()函数类似。它也至少需要两个参数。但是,与AND()不同,如果至少有一个条件为真,则OR()返回true,如果所有参数都为假,则返回false。

第一个参数 = True 第一个参数= False
第二个参数 = True True True
第二个参数 = False True False
我们来看看接触对象的另一个例子。假设你想要显示一个复选框,如果一个联系人是在一个组织的执行层。我们知道某人在执行层面上的头衔是以“首席”(如首席执行官,首席运营官等)开头,还是包含“总统”一词(如总裁,副总裁等)。注意我们是如何使用这个词或者描述这个问题的。这是一个很好的线索,你需要在这个公式中的OR()运算符。
为了使这个公式有效,我们将使用几个文本函数,你可以在使用文本公式中学到更多的知识:
  • BEGINS(text, compare_text)告诉你一个字符串(文本)是否以另一个字符串(compare_text)开始。
  • CONTAINS(text, compare_text) 告诉你一个字符串(text)是否包含另一个字符串(compare_text)。
使用复选框类型和名称是执行创建一个公式字段。输入下面的公式

OR(Begins(Title, "Chief"), CONTAINS(Title, "President"))
就像使用AND()函数一样,可以用多种方法编写OR()。你可以写BEGINS(Title , “Chief”) || CONTAINS(Title , “President”).

OR(), 像AND(), 可以有两个以上的参数。要检查联系人的标题是否包含“执行”一词,请尝试:

BEGINS(Title, "Chief") ||
CONTAINS(Title, "President") ||
CONTAINS(Title, "Executive")
NOT()
NOT()函数完全符合你所期望的:它改变了任何真的假,任何真的假。假设您想要在联系人的页面上显示一个复选框,指出联系人卡片是否缺少重要信息。对于这个例子,如果包含名字,姓氏,电话号码,电子邮件地址和邮寄地址,我们认为联系人完成。只有当这些字段都不为空时,公式才会计算为真。
要检查联系人是否有我们正在寻找的信息,请使用ISBLANK()函数。 ISBLANK()将一个字段作为参数,如果为空则返回true,如果填充则返回false。
NOT(
  ISBLANK(FirstName) || 
  ISBLANK(LastName) ||
  ISBLANK(Phone) ||
  ISBLANK(Email) ||
  ISBLANK(MailingAddress)
)

注意

由于函数和运算符之间的空格和返回值在公式中无关紧要,因此此处显示的换行符和空格不是必需的。但是,在公式中使用换行符和空格可以更容易阅读。它也可以帮助其他任何需要了解或更新公式的人。
在那里,你有它!您可以通过查看组织中的联系人来测试此公式。如果所有相关的联系信息都已完成,则联系人将被标记为已完成,并选中您创建的联系人完成复选框。如果我们选中的一个或多个字段为空,则复选框未被选中。
请注意,NOT()也可以写成简单的感叹号。使用这个符号,我们的公式看起来有点不同,但是具有相同的效果。
!(ISBLANK(FirstName) || 
ISBLANK(LastName) ||
ISBLANK(Phone) ||
ISBLANK(Email) ||
ISBLANK(MailingAddress))

IF()

可以使用IF()语句,而不是像AND()和OR()这样的逻辑运算符串联在一起。 IF()接受三个参数,格式为IF(test,result,alternate)。通俗地说:如果测试是真的,评估结果。否则,评估备用。

所以你回到杂货店,再一次找一个红色的水果。你知道如何用AND()和OR()写出这个场景,但是你也可以用IF()语句来思考它。首先,你拿起一块产品,检查是否是水果。如果是,请检查它是否是红色的。如果您使用IF()语句编写产品选择公式,则您的决策过程如下所示:

IF(Mystery_Produce = "Fruit", Mystery_Produce_Color = "Red", false)
您可以在公式中应用相同的基于if的逻辑。例如,您想知道联系人是否是主要联系人。我们将主要联系人定义为执行人员(使用之前创建的公式字段“执行”),并且位于市场营销部门中。你已经知道如何和ands和ors做到这一点。
Is_Executive__c && Department = "Marketing"
使用IF()语句,公式如下所示:
IF(Is_Executive__c, Department = "Marketing", false)
你可以嵌套IF()语句。 IF()语句中的任何参数都可以是另一个逻辑语句,包括另一个IF()语句。在这个例子中,我们将主要联系人定义为执行人员,除此之外,还有旧金山市场部或纽约销售部。我们将创建一个只有在满足这些条件时才被选中的复选框。
我们通过查看电话号码的区号来确定联系人所在的城市,415对应于旧金山,212对应纽约。使用ands和ors,公式如下所示:
Department = "Marketing" && 
Is_Executive__c &&
BEGINS(Phone, "(415)") ||
Department = "Sales" &&
Is_Executive__c &&
BEGINS(Phone, "(212)")

注意

逻辑运算符就像数学运算符一样,具有操作的顺序。 AND()总是在OR()之前被计算。您还可以将逻辑运算符分组在括号中,以便按特定顺序进行评估。
如果一个联系人满足作为主要联系人的所有要求,我们需要一个正确的公式。首先,我们要检查联系人是否使用我们之前创建的Is Executive复选框。如果联系人是主管人员,我们会检查该部门是否为销售人员。如果这是真的,那么我们要检查的最后一件事是电话号码的区号。另一方面,如果联系人是执行人员,但部门不是销售人员,则检查是否为营销。如果是这种情况,我们检查电话号码是否有旧金山地区代码。使用选择树来显示一系列IF()语句通常更容易。当你写一个使用IF()的公式的时候,先抽出一个是很好的第一步。
A choice tree representing our logical process
树的每个分支对应于我们公式的IF()语句中的条件。

IF(Is_Executive__c,
  IF(Department = "Sales", BEGINS(Phone, "(212)"), False),
  IF(Department = "Marketing", BEGINS(Phone, "(415)"), False))
在像这样的公式中,包含明确的换行符和空格是非常重要的。那么,后来谁读你的公式知道你的IF()语句是如何嵌套的。

复选框公式示例

  1. 如果概率小于50%(0.5),并且预期收入小于10,000,则此复选框公式将机会指定为小的机会。
    AND(Probability < 0.5, ExpectedRevenue < 10000)
  2. 如果优先级标记为高,情况未关闭,并且在一周内升级或未更新,则此公式将优先级标记为优先级。该公式根据放置括号的位置而有所不同。

    ISPICKVAL(Priority, "High") &&
    NOT(IsClosed) &&
    (IsEscalated || Days_Since_Last_Update__c > 7)
    例如,此公式使用略有不同的圆括号来检查案件是否高优先级,已关闭并升级,或者自案件上次更新以来已超过7天。
    (ISPICKVAL(Priority, "High") &&
    NOT(IsClosed) && IsEscalated)|| 
    Days_Since_Last_Update__c > 7
  3. 这个公式显示一个复选框,好的呼叫,检查是否可以拨打联系人。该公式检查联系人是否选择了“不要呼叫”。如果联系人没有,公式确保电话号码字段不是空白。
    IF(NOT(DoNotcall), NOT(ISBLANK(Phone)), false)