# Numbers: How to change cell text conditionally?

I am trying to change the text of a cell in Numbers 3 according to a condition. E.g. if A1-A2 is a negative value, the text shall be 'Negative'. If the value is positive the text shall be 'Positive'. Is there something like a function to accomplish this?

You can do this with the IF function. The syntax is…

``````┌── IF function returns one of two values when upon an expression's evaluation.
│
│                     ┌── string or calculation for cell to show upon TRUE/FALSE
│                     │   strings should be inside double quotes "like this"
│                ┌────┴─────────┐
IF(if-expression,if-true,if-false)
└─────┬─────┘
└── the expression to evaluate
for example: to test if A1-A2 is negative, you can use (A1-A2)<0
the result must be a boolean
``````

This results in the following calculation:

``````IF(Data::A1<0,"Negative","Positive")
``````

Result:

An example for comparing a calculation in the `if-expression`:

``````            ┌── from table "Data" do A1-B1
│
│          ┌── is the result less than zero (i.e. negative)?
┌───────┴───────┐  │
IF((Data::A1−Data::B1)<0,"Negative","Positive")
└───┬────┘ └───┬────┘
│          └── if false, return "Positive"
│
└── if true, return "Negative"
``````

Result:

However, this will return `Positive` even if the number is `0`, so instead…

``````            ┌── from table "Data" do A1-B1
│
│          ┌── is the result less than zero (i.e. negative)?
┌───────┴───────┐  │
IF((Data::A1−Data::B1)<0,"Negative",IF((Data::A1−Data::B1)=0,"Zero","Positive"))
└───┬────┘                        │ └─┬──┘ └────┬───┘
if true, return "Negative" ──┘           is equal to 0? ───┘   │  return "Positive"
└── return "Zero"
``````