The `IF`

function in Excel is an inestimable ally when we need to implement conditional logic, that is when we need different results depending on a condition.

The syntax is `IF(logical_test, [value_if_true], [value_if_false])`

, where

`logical_test`

is an expression that evaluates to`TRUE`

or`FALSE`

,`value_if_true`

is an optional argument, and it is what the expression evaluates to in case`logical_test`

is false, and`value_if_false`

is an optional argument that determines the value in the case that`logical_test`

is false.

## How to conditionally set the value of a cell in Excel

Let’s see the if statement in action in the simplest use case, when the value of a cell is determined between two options based on the value of a different cell.

For example, let’s say that we have a list of projects, the percentage progress on each of them, and we want to automatically set the string to “In progress” or “Finished”. Then we can write `IF(B2=100, "Finished", "In progress")`

(where `B2`

is the first cell with the progress).

After writing the formula in the first cell we can just double click on the green handle that appears when the cell is selected and the formula will populate to all other cells in the column.

## How to use a nested if statement to conditionally set the value of a cell with more options in Excel

Continuing from the example above, we may want to break down the progress status even more. This time we want to have 7 different status strings depending on the progress of the project.

We need to use nested if statements, writing an if statement in place of `value_if_false`

(it can be used also in place of `value_if_true`

but it becomes messier).

Let’s try to build a formula in case we want to have all these progress statuses: Not Started, Started, First Half, Halfway Through, Second Half, Almost Finished, Finished.

In this case we need a total of 6 if statements, so we could write something like this:

```
=IF(B2=0, "Not started", IF(B2<10, "Started", IF(B2<50, "First Half", IF(B2=50, "Halfway through", IF(B2<90, "Second half", IF(B2<100, "Almost finished", "Finished"))))))
```

Excel allows a max of 7 nested if statements. If we wanted to expand our list of possible statuses, we could add only one more condition and one more status. But fortunately we can add more using a different function.

## How to use `IFS()`

for more than 7 conditions in Excel

The `IFS()`

function was introduced in Excel 2016, and it allows up to 127 conditions. The syntax is `IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2] ... [logical_test127, value_if_true127])`

.

The logical test expressions are evaluated consequentially. When the first one that returns TRUE is found, the corresponding `value_if_true`

is given as output.

The previous expression that we wrote with nested if statements can be written like this:

```
=IFS(B2=0, "Not started", B2<10, "Started", B2<50, "First Half"B2=50, "Halfway through", B2<90, "Second half", B2<100, "Almost finished", B2=100, "Finished")
```

## Conclusion

When you need to set conditionally, you’ll often use `IF()`

. You can nest multiple `IF()`

statements to have complex logic chains.

But if you need to use more than 7 nested `IF()`

statements, then you can use `IFS()`

instead.