# Solved! Unknown Binary Operator in Adaptive Planning

When working with formulas in your model sheets in Adaptive Planning you may come across an oblique error which doesn’t initially appear to make sense, but once you understand what it is, it becomes fairly obvious what it means (like most errors!).

# Problem

So what is the error and how do you fix it?

Have you been writing an ``` if ``` statement or two in your formula?

The reason for the error is that it relates to an ``` if ``` function used in your formula. You need to make sure the structure of your ``` if ``` formula statements contain a truth-y capture, and a false-y capture.

For example:

``if ( 2 > 1, 3, 0 )``

In the above ``` if ``` formula, we have a capture of the statement first, which asks: is 2 is greater than 1 ( ``` 2 > 1 ``` )?

If the statement is true then we return the first capture in our if statement structure, being ``` 3 ``` . If the statement is false then we return the second part of our if statement, being ``` 0 ``` .

# Solution

So look at your ``` if ``` statement in your model and check the following:

• Is there a ``` true ``` and ``` false ``` section to the ``` if ``` statement?
• If there are nested ``` if ``` statements check the brackets are in the right areas.

Simple examples of where I’ve encountered the error in my own model sheets:

1. I’ve removed a function within the statement part of the ``` if ``` function and have forgotten to remove all the brackets from within that section, or perhaps I did not have enough brackets:
``if ( 2 > 1 ) 3, 0 )``
1. The other times I have made this mistake is when I go a bit crazy on nested if functions and forget one of the outer ``` if ``` statements didn’t have its false-y value.
``if ( 2 > 1, if ( 3 = 0, 1, 2 ) )``

# Conclusion

If you come from an Excel or spreadsheet background these errors should be relatively easy to spot. If you are more familiar with a programming language writing ``` if ``` statements like this can be a bit of hassle.

If you’re coming from another language just remember the ``` if ``` statement is a function and requires 3 parameters.

Ryan Sheehy
Ryan has been dabbling in code since the late '90s when he cut his teeth exploring VBA in Excel. Having his eyes opened with the potential of automating repetitive tasks, he expanded to Python and then moved over to scripting languages such as HTML, CSS, Javascript and PHP.