Business Problem:
It's not uncommon for businesses to use picklists to ensure data quality and conformity. This often comes up when working with Opportunities. A good example of this is listing the Competitor that you lost a deal to in order to track who your biggest competitor is.
Formula Rule Solution:
AND(
ISPICKVAL(StageName,"Closed Lost"),
NOT(
ISPICKVAL( Competitor__c, "Competitor_Picklist_Value1")),
NOT(
ISPICKVAL( Competitor__c, "Competitor_Picklist_Value2")),
NOT(
ISPICKVAL( Competitor__c, "Competitor_Picklist_Value3")
)
)
Let's break this validation rule down. In this rule I am introducing the NOT() function which is a great function for determining is something is NOT true... or false if you are following the logic. However, the NOT() function only works with one parameter at a time. Let me explain.
THIS IS POOR SYNTAX:
NOT(
ISPICKVAL( Competitor__c, "Competitor_Picklist_Value1"),
ISPICKVAL( Competitor__c, "Competitor_Picklist_Value2"),
ISPICKVAL( Competitor__c, "Competitor_Picklist_Value3")
)
The NOT() function will only work with one parameter.
The odd thing here is that if your picklist is actually a multi-select picklist you don't need all this mumbo-jumbo. All you need is something that looks like this:
AND(
ISPICKVAL(StageName,"Closed Lost"),
ISBLANK(Competitor__c)
)