I want to write a formula field without an else condition because i want to evaluate the formula only if the conditions are met.


IF(status = 'True',Formula, "retain the old values and do not evaluate")

I seem to fail to do this in salesforce formulas. How can i achieve this ?

  • Could you please elaborate on the use case here. You can't make the formula to "not evaluate" the condition. In this case, the ELSE should be probably blank quotes "".
    – mascot
    Commented Apr 8, 2020 at 7:18
  • "" blank quote means its updating to blank. i dont want to the formula to run when condition changes. instead it should retain the old value of it . Commented Apr 8, 2020 at 9:41
  • As I said, you can't do that. As @Phil W suggests below, use a text field with process builder.
    – mascot
    Commented Apr 8, 2020 at 10:07
  • Hi Nipun, Welcome to SFSE! If you can explain how the current formula is calculated, we may be able to suggest an alternative way to achieve it.
    – pmehta28
    Commented Apr 12, 2020 at 18:42
  • Thanks all. i switched to a price rule. Commented Apr 12, 2020 at 19:56

1 Answer 1


Formula fields don't have a value stored in the database; they are always computed on demand (e.g. when querying that field against one or more objects). Therefore for what you are trying to do, a formula field isn't appropriate.

Perhaps you should switch to using a "real" field with a process builder flow, set to run on update of the object, that updates the field with a required value if a specific condition is met.

Take a look at the Salesforce documentation for more information, or take the trailhead.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .