IF

MS Excel Spreadsheet

See Also

Returns one value if a condition you specify evaluates to TRUE and another value if it evaluates to FALSE.

Use IF to conduct conditional tests on values and formulas.

Syntax

IF(logical_test,value_if_true,value_if_false)

Logical_test    is any value or expression that can be evaluated to TRUE or FALSE. For example, A10=100 is a logical expression; if the value in cell A10 is equal to 100, the expression evaluates to TRUE. Otherwise, the expression evaluates to FALSE. This argument can use any comparison calculation operator.

Value_if_true    is the value that is returned if logical_test is TRUE. For example, if this argument is the text string "Within budget" and the logical_test argument evaluates to TRUE, then the IF function displays the text "Within budget". If logical_test is TRUE and value_if_true is blank, this argument returns 0 (zero). To display the word TRUE, use the logical value TRUE for this argument. Value_if_true can be another formula.

Value_if_false    is the value that is returned if logical_test is FALSE. For example, if this argument is the text string "Over budget" and the logical_test argument evaluates to FALSE, then the IF function displays the text "Over budget". If logical_test is FALSE and value_if_false is omitted, (that is, after value_if_true, there is no comma), then the logical value FALSE is returned. If logical_test is FALSE and value_if_false is blank (that is, after value_if_true, there is a comma followed by the closing parenthesis), then the value 0 (zero) is returned. Value_if_false can be another formula.

Remarks

  • Up to seven IF functions can be nested as value_if_true and value_if_false arguments to construct more elaborate tests. See the last of the following examples.
  • When the value_if_true and value_if_false arguments are evaluated, IF returns the value returned by those statements.
  • If any of the arguments to IF are arrays, every element of the array is evaluated when the IF statement is carried out.
  • Additional functions can be used to analyze your data based on a condition. For example, to count the number of occurrences of a string of text or a number within a range of cells, use the COUNTIF spreadsheet function. To calculate a sum based on a string of text or a number within a range, use the SUMIF spreadsheet function.

Example 1

The example may be easier to understand if you copy it to a blank spreadsheet.

ShowHow?

Data
50
Formula Description (Result)
=IF(A2<=100,"Within budget","Over budget") If the number above is less than or equal to 100, then the formula displays "Within budget". Otherwise, the function displays "Over budget". (Within budget)
=IF(A2=100,SUM(B5:B15),"") If the number above is 100, then the range B5:B15 is calculated. Otherwise, empty text ("") is returned. ()

Example 2

The example may be easier to understand if you copy it to a blank spreadsheet.

ShowHow?

Actual Expenses Predicted Expenses
1500 900
500 900
500 925
Formula Description (Result)
=IF(A2>B2,"Over Budget","OK") Checks whether the first row is over budget (Over Budget)
=IF(A3>B3,"Over Budget","OK") Checks whether the second row is over budget (OK)

Example 3

The example may be easier to understand if you copy it to a blank spreadsheet.

ShowHow?

Score
45
90
78
Formula Description (Result)
=IF(A2>89,"A",IF(A2>79,"B", IF(A2>69,"C",IF(A2>59,"D","F")))) Assigns a letter grade to the first score (F)
=IF(A3>89,"A",IF(A3>79,"B", IF(A3>69,"C",IF(A3>59,"D","F")))) Assigns a letter grade to the second score (A)
=IF(A4>89,"A",IF(A4>79,"B", IF(A4>69,"C",IF(A4>59,"D","F")))) Assigns a letter grade to the third score (C)

In the preceding example, the second IF statement is also the value_if_false argument to the first IF statement. Similarly, the third IF statement is the value_if_false argument to the second IF statement. For example, if the first logical_test (Average>89) is TRUE, "A" is returned. If the first logical_test is FALSE, the second IF statement is evaluated, and so on.

The letter grades are assigned to numbers using the following key (assuming use of integers only).

If Score is Then return
Greater than 89 A
From 80 to 89 B
From 70 to 79 C
From 60 to 69 D
Less than 60 F