Excel IF statement with multiple AND/OR conditions, nested IF formulas, and more

In Part 1 of our Excel IF function tutorial, we started to learn the nuts and bolts of the Excel IF function. As you remember, we discussed a few IF formulas for numbers, dates and text values as well as how to write an IF statement for blank and non-blank cells.

However, for powerful data analysis, you may often need to evaluate multiple conditions at a time, meaning you have to construct more sophisticated logical tests using multiple IF functions in one formula. The formula examples that follow below will show you how to do this correctly. You will also learn how to use Excel IF in array formulas and learn the basics of the IFEFFOR and IFNA functions.

How to use Excel IF function with multiple conditions

In summary, there can be 2 basic types of multiple conditions - with AND and OR logic. Consequently, your IF function should embed an AND or OR function in the logical test, respectively.

  • AND function. If your logical test contains the AND function, Microsoft Excel returns TRUE if all the conditions are met; otherwise it returns FALSE.
  • OR function. In case you use the OR function in the logical test, Excel returns TRUE if any of the conditions is met; FALSE otherwise.

To better illustrate the point, let's have a look at a few IF examples with multiple conditions.

Example 1. Using IF & AND function in Excel

Suppose, you have a table with the results of two exam scores. The first score, stored in column C, must be equal to or greater than 20. The second score, listed in column D, must be equal to or exceed 30. Only when both of the above conditions are met, a student passes the final exam.

The easiest way to make a proper formula is to write down the condition first, and then incorporate it in the logical_test argument of your IF function:

Condition: AND(B2>=20, C2>=30)

IF/AND formula: =IF((AND(C2>=20, D2>=30)), "Pass", "Fail")

Easy, isn't it? The formula tells Excel to return "Pass" if a value in column C >=20 AND a value in column D >=30. Otherwise, the formula returns "Fail". The screenshot below proves that our Excel IF /AND function is correct:
Excel IF function with multiple AND conditions

Note. Microsoft Excel checks all conditions in the AND function, even if one of the already tested conditions evaluates to FALSE. Such behavior is a bit unusual since in most of programming languages, subsequent conditions are not tested if any of the previous tests has returned FALSE.

In practice, a seemingly correct IF / AND formula may result in an error because of this specificity. For example, the formula =IF(AND(A2<>0,(1/A2)>0.5),"Good", "Bad") will return "Divide by Zero Error" (#DIV/0!) if cell A2 is equal to 0. The avoid this, you should use a nested IF function:

=IF(A2<>0, IF((1/A2)>0.5, "Good", "Bad"), "Bad")

Example 2. Using IF with OR function in Excel

You use the combination of IF & OR functions in a similar way. The difference from the IF / AND formula discussed above is that Excel returns TRUE if at least one of the specified conditions is met.

So, if we modify the above formula in the following way:

=IF((OR(C2>=20, D2>=30)), "Pass", "Fail")

Column E will have the "Pass" mark if either the first score is equal to or greater than 20 OR the second score is equal to or greater than 30.

As you see in the screenshot below, our students have a better chance to pass the final exam with such conditions (Scott being particularly unlucky failing by just 1 point : )
An example of IF/OR formula

More formula examples can be found in Excel IF OR functon.

Example 3. Using IF with AND & OR functions

In case you have to evaluate your data based on several sets of multiple conditions, you will have to employ both AND & OR functions at a time.

In the above table, suppose you have the following criteria to evaluate the students' success:

  • Condition 1: column C>=20 and column D>=25
  • Condition 2: column C>=15 and column D>=20

If either of the above conditions is met, the final exam is deemed passed, otherwise - failed.

The formula might seem tricky, but in a moment, you will see that it is not! You just have to express two conditions as AND statements and enclose them in the OR function since you do not require both conditions to be met, either will suffice:

OR(AND(C2>=20, D2>=25), AND(C2>=15, D2>=20)

Finally, use the above OR function as the logical test in the IF function and supply value_if_true and value_if_false arguments. As the result, you will get the following IF formula with multiple AND / OR conditions:

=IF(OR(AND(C2>=20, D2>=25), AND(C2>=15, D2>=20)), "Pass", "Fail")

The screenshot below indicates that we've got the formula right:
Using IF with OR & AND functions

Naturally, you are not limited to using only two AND/OR functions in your Excel IF formulas. You can use as many logical functions as your business logic requires, provided that:

  • In Excel 2016, 2013, 2010 and 2007, your formula includes no more than 255 arguments, and the total length of the formula does not exceed 8,192 characters.
  • In Excel 2003 and lower, you can use up to 30 arguments and the total length of your formula shall not exceed 1,024 characters.

Using multiple IF statements in Excel (nested IF functions)

If you need to create more elaborate logical tests for your data, you can include additional IF statements in the value_if_true and value_if_false arguments of your Excel IF formulas. These multiple IF functions are called nested IF functions and they may prove particularly useful if you want your formula to return 3 or more different results.

Here's a typical example: suppose you want not simply to qualify the students' results as Pass/Fail, but define the total score as "Good", "Satisfactory" and "Poor". For instance:

  • Good: 60 or more (>=60)
  • Satisfactory: between 40 and 60 (>40 and <60)
  • Poor: 40 or less (<=40)

To begin with, you can add an additional column (E) with the following formula that sums numbers in columns C and D: =C2+D2

An additional column that sums numbers in columns C and D

And now, let's write a nested IF function based on the above conditions. It's considered a good practice to start with the most important condition and make your functions as simple as possible. Our Excel nested IF formula is as follows:

=IF(E2>=60, "Good", IF(E2>40, "Satisfactory", "Poor "))

As you see, just one nested IF function is sufficient in this case. Naturally, you can nest more IF functions if you want to. For example:

=IF(E2>=70, "Excellent", IF(E2>=60, "Good", IF(E2>40, "Satisfactory", "Poor ")))

The above formula adds one more conditions - the total score of 70 points and more is qualified as "Excellent".

An example of nested IF functions

For more information about Excel IF with multiple conditions, please see How to use nested IF in Excel.

Using Excel IF in array formulas

Like other Excel functions, IF can be used in array formulas. You may need such a formula if you want to evaluate every element of the array when the IF statement is carried out.

For example, the following array SUM/IF formula demonstrates how you can sum cells in the specified range based on a certain condition rather than add up the actual values:

=SUM(IF(B1:B5<=1,1,2))

The formula assigns a certain number of "points" to each value in column B - if a value is equal to or less than 1, it equates to 1 point; and 2 points are assigned to each value greater than 1. And then, the SUM function adds up the resulting 1's and 2's, as shown in the screenshot below.
Using Excel IF in array formulas

Note. Since this is an array formula, remember to press Ctrl + Shift + Enter to enter it correctly.

Using IF function together with other Excel functions

Earlier in this tutorial, we've discussed a few IF formula examples demonstrating how to use the Excel IF function with logical functions AND and OR. Now, let's see what other Excel functions can be used with IF and what benefits this gives to you.

Example 1. Using IF with SUM, AVERAGE, MIN and MAX functions

When discussing nested IF functions, we wrote the formula that returns different ranking (Excellent, Good, Satisfactory or Poor) based on the total score of each student. As you remember, we added a new column with the formula that calculates the total of scores in columns C and D.

But what if your table has a predefined structure that does not allow any modifications? In this case, instead of adding a helper column, you could add values directly in your If formula, like this:

=IF((C2+D2)>=60, "Good", IF((C2+D2)=>40, "Satisfactory", "Poor "))

Okay, but what if your table contains a lot of individual scores, say 5 different columns or more? Summing so many figures directly in the IF formula would make it enormously big. An alternative is embedding the SUM function in the IF's logical test, like this:

=IF(SUM(C2:F2)>=120, "Good", IF(SUM(C2:F2)>=90, "Satisfactory", "Poor "))
Using IF with the SUM function

In a similar fashion, you can use other Excel functions in the logical test of your IF formulas:

IF and AVERAGE:

=IF(AVERAGE(C2:F2)>=30,"Good",IF(AVERAGE(C2:F2)>=25,"Satisfactory","Poor "))

The formulas retunes "Good" if the average score in columns C:F is equal to or greater than 30, "Satisfactory" if the average score is between 29 and 25 inclusive, and "Poor" if less than 25.

IF and MAX/MIN:

To find the highest and lowest scores, you can use the MAX and MIN functions, respectively. Assuming that column F is the total score column, the below formulas work a treat:

MAX: =IF(F2=MAX($F$2:$F$10), "Best result", "")

MIN: =IF(F2=MIN($F$2:$F$10), "Worst result", "")

If you'd rather have both the Min and Max results in the same column, you can nest one of the above functions in the other, for example:

=IF(F2=MAX($F$2:$F$10) ,"Best result", IF(F2=MIN($F$2:$F$10), "Worst result", ""))
Using IF with the MIN and MAX functions

In a similar manner, you can use the IF function with your custom worksheet functions. For example, you can use it with the GetCellColor / GetCellFontColor functions to return different results based on a cell color.

In addition, Excel provides a number of special IF functions to analyze and calculate data based on different conditions.

For example, to count the occurrences of a text or numeric value based on a single or multiple conditions, you can use COUNTIF and COUNTIFS, respectively. To find out a sum of values based on the specified condition(s), use the SUMIF or SUMIFS functions. To calculate the average according to certain criteria, use AVERAGEIF or AVERAGEIFS.

For the detailed step-by-step formula examples, check out the following tutorials:

Example 2. IF with ISNUMBER and ISTEXT functions

You already know a way to spot blank and non-blank cells using the ISBLANK function. Microsoft Excel provides analogous functions to identify text and numeric values - ISTEXT and ISNUMBER, respectively.

Here's is example of the nested Excel IF function that returns "Text" if cell B1 contains any text value, "Number" if B1 contains a numeric value, and "Blank" if B1 is empty.

=IF(ISTEXT(B1), "Text", IF(ISNUMBER(B1), "Number", IF(ISBLANK(B1), "Blank", "")))
Using IF with ISNUMBER, ISTEXT and ISBLANK functions

Note. Please pay attention that the above formula displays "Number" for numeric values and dates. This is because Microsoft Excel stores dates as numbers, starting from January 1, 1900, which equates to 1.

Example 3. Using the result returned by IF in another Excel function

Sometimes, you can achieve the desired result by embedding the IF statement in some other Excel function, rather than using another function in a logical test.

Here's another way how you can use the CONCATINATE and IF functions together:

=CONCATENATE("You performed ", IF(C1>5,"fantastic!", "good"))

I believe you hardly need any explanation of what the formula does, especially looking at the screenshot below:
Using the result returned by IF in another Excel function

IF function vs. IFERROR and IFNA

Both of the functions, IFERROR and IFNA, are used to trap errors in Excel formulas and replace them with another calculation, predefined value or text message. In earlier Excel versions, you can use the IF ISERROR and IF ISNA combinations instead.

The difference is that IFERROR and ISERROR handle all possible Excel errors, including #VALUE!, #N/A, #NAME?, #REF!, #NUM!, #DIV/0!, and #NULL!. While IFNA and ISNA specialize solely in #N/A errors.

Here is the simplest example of the IFERROR formula:

=IFERROR(B2/C2, "Sorry, an error has occurred")
An example of using the IFERROR function in Excel

As you see in the screenshot above, column D displays the quotient of the division of a value in column B by a value in column C. You can also see two error messages in cells D2 and D5 because everyone knows that you cannot divide a number by zero.

In some cases, however, you may not want to trap all errors, but rather test the condition causing a specific error. For example, to replace a divide by zero error with your own message, use the following IF formula:

=IF(C2=0, "Sorry, an error has occurred", B2/C2)

And that's all I have to say about using the IF function in Excel. I thank you for reading and hope to see you on our blog next week!

You may also be interested in:

1,861 Responses to "Excel IF statement with multiple AND/OR conditions, nested IF formulas, and more"

  1. Mike L says:

    I am trying to find a way to make this all work so that it will give me the new value.

    if value is between 0 and 3999 multiply by 3% if value is between 4000 and 5999 then multiply by 10% if value is grater than 6000 multiply by 14%

  2. rajan says:

    which formula we can use if our value is 30 then multiply by 2, if 31-60 then multiply 4 and if value is grater than 60 then multiply by 5

  3. Sarah says:

    Hi,

    I am trying to use the IF,AND function to calculate what tariff should be applied.
    Three types of rates: Standard, Out of Hours and Bank Holiday
    Three Type of Van: Small, Transit LWB
    I have tried the following: =IF(AND(C4="Standard",C5="Small),£23,IF(AND(C4="Standard",C5="Transit", £25.....
    OOH = Standard x 1.5
    BH = Standard x 2

    Any ideas

  4. SANTOSH says:

    1000 TO 2000=50
    2001 TO 2500=60
    2501 TO 3000=70 PLEASE CONVERT TO EXCEL FORMULA

  5. Prashanth N B says:

    Hi,

    I have both "number" and "text" in the same cell. Like "A123". In such case comment should reflect as "Invoice received". Please help

    Regards,
    Prashanth N B

  6. Jaques Strydom says:

    Good day

    Can you Please be so kind as to help me out
    I am trying to do a formula where if I enter a number from 1-10 each number will represent a differt total in another cell

    1=25
    2=38
    3=47
    4=63
    5=71
    6=82
    and so on, This is not the correct numbers.
    How would I Formulate say if I put 1 in CELL A1 then the Total that represents 1 Should apear in CELL C3 for instance?

  7. Imee says:

    Hi,
    I need a formula for my report. I need to get the result for the trace level column. If Clearing has number, result should be "Cleared" in Trace Level Column. But if Clearing column has no number, and Aging column is Over 120Days, Trace Level should be Trace 5. Below is the sample. Hope you can help me with this.
    Clearing Aging Trace Level
    1123456 Over 120 Days
    5846821 91-120 Days
    31-61 Days
    5846821 1-30 Days
    0 Day

  8. Gene Pepee says:

    I'm trying to construct a spreadsheet that has an input of several measurements, and M or F and based upon that calculates a value. But I'm can figure it out.
    =IF(U2="M",359.34+0.265*(R2*S2*T2), (U2="F",296.4+0.275*(R2*S2*T2)
    Thank you

  9. Kristi says:

    Good Evening,
    I am hoping that you could help me with understanding what formula to use. I am very new to excel so this is probably pretty easy. But i would greatly appreciate if you could assist. Thank you!

    Two columns of numbers (Column A and B). I need to add up the sum of the numbers in column B, however, if the number in Column B is greater than the corresponding number in Column A, it needs to count column A's number for that line instead.

    example:
    A B looking for sum
    725 454 = 454+65+1+4+"15"+8+"5", etc.
    86 65
    45 1
    45 4
    15 45
    45 8
    5 31
    45 28
    41 1
    4 84
    5 45
    123 8
    456 52
    45 8
    15 5
    78 8
    45 4
    7 8
    96 45
    13 7
    79 84
    7456 87
    4 5
    8789 754
    76 8
    78 4
    76 8
    4 48
    89789 1
    45 82
    8
    978 8
    5 74
    8 8
    78 4
    8 8
    7 45
    7 48

  10. Samnan Ali says:

    Hi: Svetlana Cheusheva (Ablebits.com Team)
    i am marking participants Hours: as =IF(C3>=1,"Present","Absent")

    I want it to show no value if the cell (C3) is empty or has no value instead of "Absent"
    whatsapp +92-345-6165677

  11. macky says:

    Hi, I want to check if the 2 values i have in tab 1 has also in tab 2. example, in column A I have numbers.. 1, 2, 3 ……, in column B i have letters A, B, C ……….. I want to check if I have the same digits in other tab, eg. 1A, 2A, 3A etc... thank you.

  12. VIJAY SUTHAR says:

    =IF((Z18-AA18-AB18)>(AC14-AC11),(AC14-AC11),(Z18-AA18-AB18))
    My Answer In Negative
    But I want Answer In positive
    *Minimum Answer is Zero Not less Then Zero
    So Can you Help?

  13. Shane Tuttle says:

    Help! Can I change all instances of say, "October", in column I, to "November", only if column B says Traffic Stops?

  14. lax says:

    How will you explain =IF(DAY(H18)=1;H18;"")
    Formula .. We have an excel kalendar that needs to be revised for leap year

  15. TJ says:

    How do I create a formula that returns a projected date value based on more than one other set of data? Example: current formula is =IF(G5"",G5+60,""), but I want to include in this if another cell is YES, then the formula changes to G5+65.

  16. van dwayne says:

    great explanation.

  17. sagar says:

    =IF(And(Sheet1!F30>0,Sheet1!F30<=1)),1,0) is it correct

  18. kzaky says:

    =IF(IF($AI278>0,(IF(MONTH(AO$21)MONTH($AI278),0)))),$AF278),IF(MONTH($J278)>MONTH(AO$21),0,IF(MONTH($J278)<=MONTH(AO$21),$AF278)))

    this FORMULA show FALSE I NEED TO SHOW 0
    WHAT IS MISSING

  19. Rajesh Dahiya says:

    Sir.,
    I want to find a formula for gradeing
    Using 4 subject marks and total ‰age
    For example
    Sub1=30
    Sub2=85
    Sub=80
    Sub4=85
    Now %age is 70
    If we use IF function it show "A" grading
    But fail in sub 1
    So i want to show in result FAIL
    PLZ

  20. Ared says:

    I am in need of a formula that would allow for the following in one cell:

    If field 1=A, and field 2=I, then field 3=Low, or, If field 1=A, and field 2=II, then field 3=Low, or, If field 1=A, and field 2=III, then field 3=Low, or, If field 1=A, and field 2=IV, then field 3=Moderate, or, If field 1=A, and field 2=V, then field 3=High

    My issue is there are 5 data possibilities. How do I write that in a formula?

    I II III IV V
    A Low Low Low Moderate High
    B Low Low Moderate High Unacceptable
    C Low Moderate Moderate High Unacceptable
    D Low Moderate High High Unacceptable
    E Moderate Moderate High Unacceptable Unacceptable

  21. Bishwajit Choudhary says:

    Can I use excel to start the second operation only after completion of the first. Also note, the operations are in test form and not numbers.

  22. DG says:

    Hello Community!
    Would really appreciate if someone can help.
    My case is:
    I have 3 columns of varying data points.
    I need to scan through the first two columns - and if both rows of data match - I need to run a secondary function where I say compare the values of the 3rd column - and give me the largest number.

    Example (not necessarily what I am attempting to do):
    Column A contains all First Names
    Column B contains all Last Names
    Column C contains all ages

    I need to find every instance of "John" (column A) "Smith" (column B) and then return me the "oldest" age (column C).

    Thank you everyone for your help! Greatly appreciated.

  23. Sanjit Sutradhar says:

    IF(A1>0 THEN A1/B1,A1/C1,A1/D1)
    RESULT SHOULD SHOW FIRST DEVIDING RESULT AND IF FISRT DEVIDING RESULT BE 0 THEN SHOULD SHOW SECOND DEVIDING RESULT IF SECOND DEVIDING RESULT BE
    ALSO 0 THEN SHOULD SLOW THIRD DEVIDING RESULT.
    HOW CAN I MEET FOLLOWING CONDITION IN A SINGLE CELL

  24. Sarah says:

    I need a formula to fill a cell with text (5 possible text outcomes).
    I need several cells to be checked to decide which of the text options are filled, (5 different cells to check).
    eg, if cell b=No fill with 'text a', if = yes check cell c, if c = no fill with 'text b', if = yes check cell d and so on.

  25. new GM says:

    =IF(($D2="legendary",RANDBETWEEN(500001,1000000),IF($d2="veryrare",RANDBETWEEN(5001,50000),IF($d2="rare",RANDBETWEEN(501,5000),IF($d2="uncommon",RANDBETWEEN(101,500))))))

    I am trying to make a shop pricing algorithm for my D&D campaign that will generate random prices based off of item rarity. so far I have a list of about 500 items each assigned a rarity uncommon, rare, veryrare, and legendary, in the D column. I am using column F to generate the costs for each item using the formula above. anyone have any ideas why this is creating an error and how to fix it?

  26. Manju says:

    Hi,
    I want to compare vales in two cells and assign a value in 3rd column with multiple conditions, e.g.,
    If (I4="H" & K4="H") OR (I4="M" & K4="H") OR (I4="H" & K4="M"), assign number 1 to L4
    OR
    If (I4="M" & K4="M") OR ( I4="M" & K4="L") OR (I4="L" & K4="M"), OR (I4="L" & K4="H"), OR (I4="H" & K4="L), assign number 2 to L4
    OR
    If (I4="L" & K4="L"), assign number 3 to L4.
    Thanks.
    Humbly,
    manju

  27. Dave says:

    I'm trying to write an logical statement to do the following:
    Assume the statement is in Range Name "Question"
    If Value in Range Name Value = 3
    Then Question = Value
    and
    Range Name Result = Value
    The first part is ease [If(Value=3,Value)]
    But if I try [IF(Value=3,AND(Value, Result=Value)] it doesn't work.
    Is there a way to set value in a named range from a statement in a cell/range not where the value should go?

    Thanks

  28. Jason East says:

    Hi,
    if b2 equals 1 I need the calculation to = 4 and if b2 is 2 then I need the calculation to = 8

  29. Declan says:

    Hi,
    I have a number of figure ranges that have corresponding different values. What is the formula to automatically calculate the value applicable when given a figure within one of the ranges?

    Ranges and their corresponding values are:
    0.005 - 0.025 = 5
    0.025 - 0.05 = 7.2
    0.05 - 0.1 = 16.3

    Thanks.

  30. Katie says:

    Hi,
    I need a formula IF value in J8 is less than 0 add J8 & G9, IF more than 0 add J8 & C9.

  31. Siddu says:

    Hi need formula below mentioned
    i want result 1 2 3 45
    80% 90%
    91% 99%
    100% 110%
    111% 120%
    >120

  32. Siddu says:

    Hi
    Please solve this problem
    80% -90% 1
    91% -99% 2
    100%-110% 3
    111%-120% 4
    >120 5

  33. Steve says:

    How to make formula. If Cell4 = Cell1, but if Cell2 has data then Cell4 = Cell2, like wise if Cell3 has data then Cell4 = Cell3. So in short Cell 2 and 1 will not be shown or be read if the Cell3 has data. More likely an updating formula. Please help Thanks

  34. Abhay says:

    I want to write a simple Conditional format rule -

    If column H contains either texts - VTA or ADI or SBI , value in column P should be a difference of (Value in Column O - Value in Column G)

    Please help or guide me where to look

  35. Neel says:

    whats the formula if i want to calculate the total QTY that has a value only. Currently i have qty with number but no value, so i want to only count qty with actual value

  36. Saman De Silva says:

    How can i write - (minus values in nested if functions

  37. Asghar Abbas says:

    Pls guide I’ve 2 vehicles (Vehicle 1 & 2) in Column C, both mileages in column E should multiply by different values and need answers in column F. Please advise the formula?

Post a comment



Unfortunately, due to the volume of comments received we cannot guarantee that we will be able to give you a timely response. When posting a question, please be very clear and concise. We thank you for understanding!
Ultimate Suite 2018.5 for Excel
60+ professional tools for Excel 2019-2007 to do your daily work
Incredible product, even better tech support…AbleBits totally delivers!
Deborah Bryant
Anyone who works with Excel is sure to find their work made easier
Jackie Lee
The best spent money on software I've ever spent!
Patrick Raugh
Ablebits is a fantastic product - easy to use and so efficient.
Debra Celmer
Excel is at its best now
Annie C.
I don't know how to thank you enough for your Excel add-ins
Jennifer Morningstar
Anybody who experiences it, is bound to love it!
Kumar Nepa
AbleBits suite has really helped me when I was in a crunch!
Nelda Fink
I have enjoyed every bit of it and time am using it
Christian Onyekachi Nwosu
It's the best $100 we've ever spent!
Mike Cavanagh
I love the program, and I can't imagine using Excel without it!
Robert Madsen
One word… WOW!
Dave Brown
Love the products!
David Johnston
It is like having an expert at my shoulder helping me…
Linda Shakespeare
Your software really helps make my job easier
Jeannie C.
Thanks for a terrific product that is worth every single cent!
Dianne Young
I love your product
Brad Gibson
Awesome!!!
Sheila Blanchard