I often see questions about SharePoint validation formulas in the online forums that include IF statements to return True or False. Something like this:
=IF( someCondition , True, False )
=IF( Amount > 100, True, False )
=IF( AND( State = "OH", Amount>100 ), True, False )
The IF is simply not needed!
Simply replace this:=IF( Amount > 100, True, False )
With this:
=Amount > 100
It's either greater than, or it is not. The greater than test returns a True or False all by itself. For that matter, the expression in the first parameter of an IF statement must return True or False!
Here's what it looks like in both Classic and Modern UI.
What if you need to reverse the True and the False result?
Use the NOT function to reverse the True/False value.=NOT( Amount > 100 )
ANDs and ORs Return True or False
Simply replace this:=IF( AND( State = "OH", Amount>100 ), True, False )
With this:
=AND( State = "OH", Amount>100 )
Two more examples…
If the state must be within the tri-state area you could write:=IF( State="OH", True, IF( State="KY", True", IF( State="IN",True, False ) ) )
Or you could just write:
=OR( State="OH", State="KY", State="IN" )
While there are examples that require IF, you can solve most validations with a simple comparison, or the with the use of AND, OR and NOT.
=IF( AND( Amount>100, IF( State="OH", True, IF( State="KY", True", IF( State="IN",True, False ) ) ) ), True, False)
Yup… I have seen those. And, it can be replaced with:
=AND( Amount>100, OR( State="OH", State="KY", State="IN" ) )
And… book plug here… I have a lot more on validation formulas in my book!
2 comments:
Great Tip. BTW, will you be publishing a Customization for Site Owners for later versions of SharePoint (i.e. SP2013, SP2016 or SP2019) ?
Bismarck,
On the ToDo list, but that list is currently quite long!
Mike
Post a Comment
Note to spammers...
Spammers, don't waste your time... all posts are moderated. If your comment includes unrelated links, is advertising, or just pure spam, it will never be seen.