Excel IF statement with multiple conditions

The tutorial shows how to create multiple IF statements in Excel with AND as well as OR logic. Also, you will learn how to use IF together with other Excel functions.

In the first part of our Excel IF tutorial, we looked at how to construct a simple IF statement with one condition for text, numbers, dates, blanks and non-blanks. For powerful data analysis, however, you may often need to evaluate multiple conditions at a time. The below formula examples will show you the most effective ways to do this.

How to use IF function with multiple conditions

In essence, there are two types of the IF formula with multiple criteria based on the AND / OR logic. Consequently, in the logical test of your IF formula, you should use one of these functions:

  • AND function - returns TRUE if all the conditions are met; FALSE otherwise.
  • OR function - returns TRUE if any single condition is met; FALSE otherwise.

To better illustrate the point, let's investigate some real-life formulas examples.

Excel IF statement with multiple conditions (AND logic)

The generic formula of Excel IF with two or more conditions is this:

IF(AND(condition1, condition2, …), value_if_true, value_if_false)

Translated into a human language, the formula says: If condition 1 is true AND condition 2 is true, return value_if_true; else return value_if_false.

Suppose you have a table listing the scores of two tests in columns B and C. To pass the final exam, a student must have both scores greater than 50.

For the logical test, you use the following AND statement: AND(B2>50, C2>50)

If both conditions are true, the formula will return "Pass"; if any condition is false - "Fail".

=IF(AND(B2>50, B2>50), "Pass", "Fail")

Easy, isn't it? The screenshot below proves that our Excel IF /AND formula works right: Excel IF statement with multiple AND conditions

In a similar manner, you can use the Excel IF function with multiple text conditions.

For instance, to output "Good" if both B2 and C2 are greater than 50, "Bad" otherwise, the formula is:

=IF(AND(B2="pass", C2="pass"), "Good!", "Bad") Excel IF function with multiple text conditions

Important note! The AND function checks all the conditions, even if the already tested one(s) evaluated 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 statement may result in an error because of this specificity. For example, the below formula would return #DIV/0! ("divide by zero" error) if cell A2 is equal to 0:

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

The avoid this, you should use a nested IF function:

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

For more information, please see IF AND formula in Excel.

Excel IF function with multiple conditions (OR logic)

To do one thing if any condition is met, otherwise do something else, use this combination of the IF and OR functions:

IF(OR(condition1, condition2, …), value_if_true, value_if_false)

The difference from the IF / AND formula discussed above is that Excel returns TRUE if any of the specified conditions is true.

So, if in the previous formula, we use OR instead of AND:

=IF(OR(B2>50, B2>50), "Pass", "Fail")

Then anyone who has more than 50 points in either exam will get "Pass" in column D. With such conditions, our students have a better chance to pass the final exam (Yvette being particularly unlucky failing by just 1 point :) Excel IF function with multiple OR conditions

Tip. In case you are creating a multiple IF statement with text and testing a value in one cell with the OR logic (i.e. a cell can be "this" or "that"), then you can build a more compact formula using an array constant.

For example, to mark a sale as "closed" if cell B2 is either "delivered" or "paid", the formula is:

=IF(OR(B2={"delivered", "paid"}), "Closed", "")

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

IF with multiple AND & OR statements

If your task requires evaluating several sets of multiple conditions, you will have to utilize both AND & OR functions at a time.

In our sample table, suppose you have the following criteria for checking the exam results:

  • Condition 1: exam1>50 and exam2>50
  • Condition 2: exam1>40 and exam2>60

If either of the conditions is met, the final exam is deemed passed.

At first sight, the formula seems a little tricky, but in fact it is not! You just express each of the above conditions as an AND statement and nest them in the OR function (since it's not necessary to meet both conditions, either will suffice):

OR(AND(B2>50, C2>50), AND(B2>40, C2>60)

Then, use the OR function for the logical test of IF and supply the desired value_if_true and value_if_false values. As the result, you get the following IF formula with multiple AND / OR conditions:

=IF(OR(AND(B2>50, C2>50), AND(B2>40, C2>60), "Pass", "Fail")

The screenshot below indicates that we've done the formula right: IF with multiple AND & OR statements

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

  • In Excel 2007 and higher, you have no more than 255 arguments, and the total length of the IF formula does not exceed 8,192 characters.
  • In Excel 2003 and lower, there are no more than 30 arguments, and the total length of your IF formula does not exceed 1,024 characters.

Nested IF statement to check multiple logical tests

If you want to evaluate multiple logical tests within a single formula, then you can nest several functions one into another. Such functions are called nested IF functions. They prove particularly useful when you wish to return different values depending on the logical tests' results.

Here's a typical example: suppose you want to qualify the students' achievements as "Good", "Satisfactory" and "Poor" based on the following scores:

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

Before writing a formula, consider the order of functions you are going to nest. Excel will evaluate the logical tests in the order they appear in the formula. Once a condition evaluates to TRUE, the subsequent conditions are not tested, meaning the formula stops after the first TRUE result.

In our case, the functions are arranged from largest to smallest:

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

Naturally, you can nest more functions if needed (up to 64 in modern versions). Nested IF statement in Excel

For more information, please see How to use multiple nested IF statements in Excel.

Excel IF array formula with multiple conditions

Another way to get an Excel IF to test multiple conditions is by using an array formula.

To evaluate conditions with the AND logic, use the asterisk:

IF(condition1) * (condition2) * …, value_if_true, value_if_false)

To test conditions with the OR logic, use the plus sign:

IF(condition1) + (condition2) + …, value_if_true, value_if_false)

To complete an array formula correctly, press the Ctrl + Shift + Enter keys together. In Excel 365 and Excel 2021, this also works as a regular formula due to support for dynamic arrays.

For example, to get "Pass" if both B2 and C2 are greater than 50, the formula is:

=IF((B2>50) * (C2>50), "Pass", "Fail") IF array formula with multiple AND conditions

In my Excel 365, a normal formula works just fine (as you can see in the screenshots above). In Excel 2019 and lower, remember to make it an array formula by using the Ctrl + Shift + Enter shortcut.

To evaluate multiple conditions with the OR logic, the formula is:

=IF((B2>50) + (C2>50), "Pass", "Fail") IF array formula with multiple OR conditions

Using IF together with other functions

This section explains how to use IF in combination with other Excel functions and what benefits this gives to you.

Example 1. If #N/A error in VLOOKUP

When VLOOKUP or other lookup function cannot find something, it returns a #N/A error. To make your tables look nicer, you can return zero, blank, or specific text if #N/A. For this, use this generic formula:

IF(ISNA(VLOOKUP(…)), value_if_na, VLOOKUP(…))

For example:

If #N/A return 0:

If the lookup value in E1 is not found, the formula returns zero.

=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), 0, VLOOKUP(E1, A2:B10, 2, FALSE))

If #N/A return blank:

If the lookup value is not found, the formula returns nothing (an empty string).

=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "", VLOOKUP(E1, A2:B10, 2, FALSE))

If #N/A return certain text:

If the lookup value is not found, the formula returns specific text.

=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "Not found", VLOOKUP(E1, A2:B10, 2, FALSE)) If #N/A error in VLOOKUP

For more formula examples, please see VLOOKUP with IF statement in Excel.

Example 2. IF with SUM, AVERAGE, MIN and MAX functions

To sum cell values based on certain criteria, Excel provides the SUMIF and SUMIFS functions.

In some situations, your business logic may require including the SUM function in the logical test of IF. For example, to return different text labels depending on the sum of the values in B2 and C2, the formula is:

=IF(SUM(B2:C2)>130, "Good", IF(SUM(B2:C2)>110, "Satisfactory", "Poor"))

If the sum is greater than 130, the result is "good"; if greater than 110 – "satisfactory', if 110 or lower – "poor". Using the IF function with SUM

In a similar fashion, you can embed the AVERAGE function in the logical test of IF and return different labels based on the average score:

=IF(AVERAGE(B2:C2)>65, "Good", IF(AVERAGE(B2:C2)>55, "Satisfactory", "Poor"))

Assuming the total score is in column D, you can identify the highest and lowest values with the help of the MAX and MIN functions:

=IF(D2=MAX($D$2:$D$10), "Best result", "")

=IF(D2=MAX($D$2:$D$10), "Best result", "")

To have both labels in one column, nest the above functions one into another:

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

Likewise, you can use IF together with your custom functions. For example, you can combine it with GetCellColor or GetCellFontColor to return different results based on a cell color.

In addition, Excel provides a number of functions to calculate data based on conditions. For detailed formula examples, please check out the following tutorials:

  • COUNTIF - count cells that meet a condition
  • COUNTIFS - count cells with multiple criteria
  • SUMIF - conditionally sum cells
  • SUMIFS - sum cells with multiple criteria

Example 3. IF with ISNUMBER, ISTEXT and ISBLANK

To identify text, numbers and blank cells, Microsoft Excel provides special functions such as ISTEXT, ISNUMBER and ISBLANK. By placing them in the logical tests of three nested IF statements, you can identify all different data types in one go:

=IF(ISTEXT(A2), "Text", IF(ISNUMBER(A2), "Number", IF(ISBLANK(A2), "Blank", ""))) IF with ISNUMBER, ISTEXT and ISBLANK

Example 4. IF and CONCATENATE

To output the result of IF and some text into one cell, use the CONCATENATE or CONCAT (in Excel 2016 - 365) and IF functions together. For example:

=CONCATENATE("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))

=CONCAT("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))

Looking at the screenshot below, you'll hardly need any explanation of what the formula does: Using IF and CONCATENATE

IF ISERROR / ISNA formula in Excel

The modern versions of Excel have special functions to trap errors and replace them with another calculation or predefined value - IFERROR (in Excel 2007 and later) and IFNA (in Excel 2013 and later). 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.

For example, to replace the "divide by zero" error (#DIV/0!) with your custom text, you can use the following formula:

=IF(ISERROR(A2/B2), "N/A", A2/B2) Using IF together with ISERROR

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!

Practice workbook for download

Excel IF multiple criteria - examples (.xlsx file)

4506 comments

  1. Hi
    I have a query- In one sheet(a) I have dump data which contains- multiple voucher numbers , dates, descriptions and account numbers.
    If account number contains 4148 all details should move to one sheet-b, if account number contains 4149 all details should move to sheet-c, if acc num has 4147 then it should move to sheet- d.
    Could you please help out to move with formula or macro??

    Thank you

  2. Hi Alexander,

    I have a 4 digit text data in column B, i need to achieve that if starting two digit of text are DL or LG or SS or may be some other words i want the answer as LCC otherwise Nothing. I tried following formula for data in column B but unable to achieve the result. could you try and assist on the same.

    =IF(OR(LEFT(B11,2)="DL","LG","SS"),"LCC","")

    Irfan

  3. I have a row of identifiers - 1ST, 2ND, 3RD, ETC....(total of 12 identifiers in 12 separate cells) I want to build a formula that basically states if the row/cell below the cell identifier has an "x" then pick up the identifier above it... is this possible?

  4. Pls I have this Excel file i used Match And Index with positions but whenever there is bracket or a tigh in position, the match and index function brings up only one name.

  5. Hi, can any give me a solution...how can i write this fourmula, [ IF B7=ASIA, RESULT IS 5,6, 12 & 13, ELSE, 'WRONG INPUT' ]

    • You didn't really specify what "5,6, 12 & 13" represents, but if it is a literal string, then:

      =IF(B7="ASIA","5, 6, 12 & 13","WRONG INPUT")

  6. Hi,

    Can I have one column containing percentages and another column that contains due dates. How do I write an if statement that will look at today's date and return the % relating to the last date before the current date?

  7. Hello, I am trying to return different results by doing a simple division of 2 numbers. To simplify here are the results I would like to get with K18 being the numerator and K20 being the denominator.

    If K200 the result is "Infinite"
    If K20<0 AND K180 AND K18>0 the result is K18/K20
    If K20>0 AND K18<0 the result is K18/K20

    Thank you for your help, I can't seem to get the formula to work!

    • When I posted everything got messed up, I spelled it out a bit more here. Hopefully this works

      If K20 is less than 0 AND K18 is greater than 0 the result is "Infinite"
      If K20 is less than 0 AND K18 is less than 0 the result is K18/ABS(K20)
      If K20 is greater than 0 AND K18 is greater than 0 the result is K18/K20
      If K20 Is greater than 0 AND K18 is less than 0 the result is K18/K20

  8. Hi, I'm trying to post a thread to ask about =IFS, where the data needs to have a range e.g. AB-AH =Income, AI-AM = Staff Costs etc, is this able to be done rather than writing in each command individually? As I'm not sure the whole formula would fit. Many thanks

    • Current Formula =IFS(LEFT(I2,1)="A","Income",LEFT(I2,1)="B","Costs",LEFT(I2,1)="E","Staff",LEFT(I2,1)="P","Capital Projects",LEFT(I2,1)="Z","Depreciation")

      But I need to input so that it has ranges AA-AK = Income so it will look up 2 characters instead of 1, but there would be hundreds if I have to include them individually, and I'd rather not use a lookup for each specific code if I can

  9. Hello, I have a data that has 8000 rows and two columns. I want to extract every 60th row (rows 60, 120, 180, 240...) so that I can create a graph. How do I do it? Thanks.

  10. I am trying to compare two cells with multiple possible standards in each and make a determination based off the values in the cells. I have a formula that works for one cell, but I need to compare two cells and grade based off both values. I'm trying to compare both cells M4 and L4 with the criteria below:

    =IF(K4<=9,"Exceptional",IF(K4<=19,"Exceeds",IF(K450,"Needs Improvement")))) =IF(L4=0,"Exceptional",IF(L4<=9,"Exceeds",IF(L4<=9,"Meets Minimum",IF(L420,"Unsatisfactory")))))

    Is there a way to combine these into one function?

    • sorry, the spacing between the formulas didn't pull over:

      =IF(K4<=9,"Exceptional",IF(K450,"Needs Improvement"))))

      =IF(L4=0,"Exceptional",IF(L4<=9,"Exceeds",IF(L420,"Unsatisfactory")))))

    • Hi!
      It is not possible to understand the conditions you want to test from your formula. Your formula uses 2 and 4 cells and there is no M4 cell. Describe the problem more clearly.

  11. Hi!
    Good day!
    I need your help, I wanted to create a formula that cell B8 does not change in the formula, the value in B8 can be change from 1-100.
    I wanted to have the formula that B8 is less than or equal to 10, the answer would be 1, when B8 is more than 10 but less than 20, answer would be 2, if B8 is more than 20 but less than 30, answer would be 3 and so on until 100.

    =IF(B810,"2",IF(B8>=20,"3"

      • Hi Alex,

        Good day!
        Thank you very much for the response. It works great...

  12. Hello, I need your help please, I have tried several times to use IF function as the examples above to have a formula which compares the result from 2 different cells and then gives an statement as result but my formula is not working and shows every time a problem with the formula. I would appreciate your help, thanks!

    =IF((W9>=50)*(S9="Audit passed"),"Supplier approved",IF((W9>=50)*(S9="Audit passed with deviations)," New review of supplier",IF((W9<50)*(S9="Audit not passed"),"Supplier not approved")))

    • Hi!
      I can't check your formula because I don't have your data. Make sure that all text values are enclosed in double quotes.

      =IF((W9>=50)*(S9="Audit passed"), "Supplier approved",IF((W9>=50)*(S9="Audit passed with deviations"), "New review of supplier",IF((W9<50)*(S9="Audit not passed"), "Supplier not approved"))

      • Thank you so much, it works. I appreciate your help Sir.

  13. I need the year to be indicated in column A as an nth term, based on the months in column B, so I have written the formula below. Is there a more simple formula that achieves the same result?

    =IF($B8<=12,"1st",IF($B8<=24,"2nd",IF($B8<=36,"3rd",IF($B8<=48,"4th",IF($B8<=60,"5th",IF($B8<=72,"6th",IF($B8<=84,"7th",IF($B8<=96,"8th",IF($B8<=108,"9th",IF($B8<=120,"10th",IF($B8<=132,"11th",IF($B8<=144,"12th",IF($B8<=156,"=13th",IF($B8<=168,"14th",IF($B8<=180,"15th",IF($B8<=192,"16th",IF($B8<=204,"17th",IF($B8<=216,"18th",IF($B8<=228,"19th",IF($B8<=240,"20th",""))))))))))))))))))))

    Thanks in advance.

      • Hi Alex!

        Thank you for your reply.

        I pasted this formula into cell A8, where the data begins, but this did not work however; I get a #N/A error for rows 8-18 (months 1-11) and a #NAME? error for rows 55-247 (months 45-240). This formula only works for rows 19-54, but incorrectly starts the 1st year from the 12th month.

        • Hi!
          Your formula can only work with numbers in cell B8. Explain what data you are using. You can round a number to the nearest 12 using the CEILING function. If your Excel does not have an IFS function, use a nested IF function.
          Try this formula:

          =IFS(CEILING(B8,12)/12=1,CEILING(B8,12)/12&"st", CEILING(B8,12)/12=2,CEILING(B8,12)/12&"nd", CEILING(B8,12)/12=3,CEILING(B8,12)/12&"rd", CEILING(B8,12)/12>3,CEILING(B8,12)/12&"th")

          • Thanks Alex, this works perfectly!

            Apologies, the data in column B is a sequence of numbers from 1-240 (each row is every month for 20 years), and using this formula, column A shows the year as an nth term based on the month number.

            If I needed to increase the total number of months to 480, what would I need to change in the formula?

              • Beyond the 20th year the nth term is incorrect for some of the years; 21th, 23th, 31th, 32th

              • What's incorrect? I think I've given you enough information for you to adjust the formula yourself, if necessary.

  14. I am looking at data in a column got example Column G row 5. I want to know if the numeric value in the cell is equal to 5, 6, 7, 8 or 9 numeric characters. If that is true I need to show it is valid and if not it is invalid.

    Example: 000456789 valid
    456789 valid
    6789 invalid

    I have this IF statement:

    =IF(AND(SUM(LEN(G5)-LEN(SUBSTITUTE(G5,{1,2,3,4,5,6,7,8,9,0},)))=9),"Valid","Invalid")

    How can I show a variable length equal to 5, 6, 7, 8 or 9 and check all rows simply?
    I change the 9 and check them all...then to 8 and check them all, eliminating until complete.

    If I was only ever trying to determine if only 9 characters then that formula works fine.

    • Hi!
      I’m not sure I got you right since the description you provided is not entirely clear. However, it seems to me that the formula below will work for you:

      =IF(SUM(--ISNUMBER(--MID(G5,ROW($A$1:$A$20),1)))>5,"Valid","Invalid")

      You can check if a character is a number using the ISNUMBER function.

      • Thank you.
        How does this relate to this IF statement? I am just trying to validate if the cell has a numeric value that is greater than 5 and no more than 9 characters.

        The cell in question being G5 as you noted above.

        Tracy

        • Hi!
          The expression SUM(--ISNUMBER(--MID(G5,ROW($A$1:$A$20),1)) counts the number of digits in the cell.
          So you can use the condition AND(SUM(--ISNUMBER(--MID(G5,ROW($A$1:$A$20),1)))>=5,SUM(--ISNUMBER(--MID(G5,ROW($A$1:$A$20),1))<=9) to check the number of digits from 5 to 9.
          For numeric values, you can also use the condition AND(G5>9999,G5<1000000000).
          However, your value 000456789 can only be written as text, not as number. Therefore, this condition will not work for you.
          You can use these conditions in an IF formula to get the message you want instead of TRUE or FALSE.

  15. Hello, can we create a formula helps us summing up the bold numbers only.
    thank you for your help in advance.

  16. Hi,

    I'd like to seek assistance if possible.

    I'm looking into creating an excel formula and these are the conditions:
    Hope you can assist me :)

    IF J = "REG", E = "1", L = 40 , L 40 (For email)
    IF J = "REG", E = "2", L = 80 , L 80 (For email)
    IF J = "REG", E = "4", L = 173.33 , L 173.33 (For email)
    IF J = "37", L = 160, L 160 (For email)
    IF J = "38", L = 240, L 240 (For email)

    Thank you in advance :)

  17. Hi,

    I am trying to create a formula to solve column C and Column D

    Column A - Overdue Date
    Column B - Appointment date
    Column C - Days waiting past overdue date formula to solve (appointment date- overdue date) but if appointment date column blank then (today- overdue date)

      • Thank you so helpful!! Some further assistance if you area able ?

        The below formula works but I want to add a few conditions

        =IF([@[Appointment date]]>[@OverdueDate],[@[Appointment date]]-[@OverdueDate],IF(ISBLANK([@[Appointment date]]),[@[Week Ending]]-[@OverdueDate]))

        How do I add that if the result returned from the below statement = false then leave cell blank and if Column K contains "Referral yet to be accepted" or "On hold" then not to calculate - is this possible?

        Many thanks in advance

  18. Hello, I am trying to create a formula where if cell B1 says Child and Cell A1 says the age (if its under 21 it will still say Child, then if it's over 21 but less than 25 it should be changed to Over-aged Student, then if it's over 25 then it should be Terminated) then cell C1 should say the condition depending on the age. I am trying some IF statement but wasn't successful. Can you please help me? Thank you very much!

      • Thank you so much!

        I have another question though, is there a way to like filter the answer on cell C based on cell B. Here's the example.
        Cell A1 (Age): 22
        Cell B1 (Relationship): Child
        Cell C1(Status): based on the given formula above should be "over-aged student"

        Cell A2 (Age): 55
        Cell B2 (Relationship): Spouse
        Cell C2 (Status): based on the given formula above should be "Terminated" but since it's a Spouse (not Child) the answer on this cell should be blank.

        In a way the formula should only affect the Cell that says Child then the rest would be blank. Is there a way to do that? I appreciate your help!

          • It works!! Thank you so much! I really appreciate it. May you have a great day Sir.

  19. Trying to validate this if condition basically I have thresholds for test scores and validate
    =IF(F4<10,"45%",IF(F4<9,"55%",IF(F4<8,"65%",IF(F4<7,,"75%",IF(F4<6,"85%",IF(F4<5,"100%","0%"))))))

    -when I run it says to many arguments for formula and when I use IFS function it says too few arguments for formula

    • Hi!
      There is an extra comma in the formula. Watch the syntax.

      =IF(F4<10,"45%",IF(F4<9,"55%",IF(F4<8,"65%",IF(F4<7,"75%",IF(F4<6,"85%",IF(F4<5,"100%","0%"))))))

      • Thanks a lot

  20. Hi Sir

    Could you please check out this formula and support for correction

    =IF($I5=Employment,"=DAYS360(M5,N5)/30*(2.5)",IF($I5=Collaboration,"=DAYS360(M5,N5)/30*(1.17)"))

    • Hi!
      I’ll try to guess and offer you the following formula:

      =IF($I5="Employment",DAYS360(M5,N5)/30*2.5,IF($I5="Collaboration",DAYS360(M5,N5)/30*1.17))

  21. Good day,
    I am trying to find a find a formulae in which
    If cell D7 matches a cell in a list L2:L500 (and it matches L5) then insert in cell E7 cell K5

    I am creating a production schedule whereby when they insert the product code from a drop list (L2:L500) then the same row corresponding columns will automatically place the raw material items for the product code.

    I have searched where i could to find such formulae and have not located one, does one exits for this function.

    Thanking you in advance for your expert advice.

    • Hi. I'm sorry but your description does not give me a complete understanding of your task. Correct me if I am wrong, but I think the formula in cell K5 will help you:

      =IF(ISNUMBER(MATCH(D7,L2:L500,0)),E7)

      The MATCH function searches for the value of D7 in the range L2:L500.

  22. Thank you very much for your explanations, you helped me solve lots of complex conditions on Excel.

  23. Help, i wan to make an array formula.

    Example,

    column A to D = will have text approved then if all cells from A to D is Approved on column E approved will appear
    then if one cell is disapproved automatic column E will appear disapprove

    • I want an excel formula.
      If the value B1 is 55 the value of C1 must be 15
      it must repeat in that sequence

  24. Hello, I am facing an issue in writing multiple IF condition and AND.

    below is the formula used:

    =IF('Products list '!B60,"1"),IF('Products list '!B6<=5000000,"2",IF('Products list '!B610000000,"4","0"))))

    The issue is :not returning the value needed, instead it returns "TRUE & FALES" values",

    and it occurs in the first part of the formula (=IF('Products list '!B60,"1"))

    While the rest of the formula works perfectly.

    Would you please help

    Thank you

  25. Hello
    I am running a formula in a cell, and when the result is a specific value, I wish to display text, rather than the numerical result, but when the result is not that specific value, then to display the numerical result. I that this makes sense. So, in my workbook, in the cell E6 I have the formula =ROUNDDOWN((B6/(D6*E3)),0).
    The value of B6 is currently 31.25, the value of D6 is 10 and the value of E3 is 1. This formula, as you know, rounds down the result to an integer, so the result displayed in E6 is 3.
    What I am trying to achieve, is, if the E6 result is 1 (eg if the value of D6 is 20 instead of 10), then instead of displaying 1 as the result, cell E6 instead displays the text "Not viable".
    I hop that you can help me with this - TIA...

    • Hello!
      If I understand your task correctly, use the IF function to calculate by condition.
      Please try the following formula:

      =IF(ROUNDDOWN((B6/(D6*E3)),0)=1, "Not viable", ROUNDDOWN((B6/(D6*E3)),0))

  26. Hi, PLEASE HELP.

    The first formula works, but the second one does not.

    The only difference between the formulas is in the second one, if I enter 5 into the cell, I want it to look at cell $B$1 and make a calculation depending on if $B$1 says "Plan" or "LE" and give me the appropriate answer.

    Alternatively, if I enter 1 into the cell, I want it to look at cell $B$1 and make a calculation depending on if $B$1 says "Plan" or "LE" and give me the appropriate answer.

    =IF($A$1=2,(C8*$D$2-E8),(IF($A$1=3,(F8*$D$2-E8),(IF($A$1=4,(G8*$D$2-E8),(IF($A$1=5,(T8*(1+H8+D8)-E8-J8-K8),IF($A$1=1,IF($B$1="Plan",$U8,IF($B$1="LE",$U8-E8-J8-K8,0))))))))))

    =IF($A$1=2,(C8*$D$2-E8),(IF($A$1=3,(F8*$D$2-E8),(IF($A$1=4,(G8*$D$2-E8),(IF($A$1=5,IF($B$1="Plan",T8*(1+H8+D8)-E8-K8,IF($B$1="LE",(T8*(1+H8+D8)-E8-K8-J8),IF($A$1=1,IF($B$1="Plan",$U8,IF($B$1="LE",$U8-E8-J8-K8,0))))))))))))

    • Hi!
      It is very difficult to understand a formula that contains references to your workbook worksheets. I don't have your workbook. Hence, I cannot check its work, sorry.

      • Hi, I actually changed the references to make it simpler to look at. I just need a general idea as to why its not working. Maybe something about the logic that I don't know?

        Formula that works:
        =IF($A$1=2,(calculation),(IF($A$1=3,(calculation),(IF($A$1=4,(calculation),(IF($A$1=5,(calculation),IF($A$1=1,IF($B$1="Plan",$U8,IF($B$1="LE",calculation,0))))))))))

        Formula that doesn't work:
        =IF($A$1=2,(calculation),(IF($A$1=3,(calculation),(IF($A$1=4,(calculation),(IF($A$1=5,IF($B$1="Plan",calculation,IF($B$1="LE",calculation,IF($A$1=1,IF($B$1="Plan",$U8,IF($B$1="LE",calculation,0))))))))))))

      • Sir kindly correct this formula, i cannot use IFS since i am not a subscription on microsoft 365

        hope you correct this one, i need your help.

        statements
        D5 is a text to be input either "Cold Work" or "Hot Work" - Manual Input
        B5 is the date when the document is approved. - Manual Input

        J is where my formula to be input (format result is date)

        now my problem is this formula, how to combine these two formula to get a correct result for "J"

        =IF(D5="Cold Work",B5+28),IF(D5="HOT Work",B5+14)

        Kindly correct this formula.

        thank you, much appreciate for your help

  27. Hi there! I need help, please! I want to write multiple functions, but I do not know how to do them. Can someone please help me? Thank you.

    Function 1: I want to say if A is greater than 5, then A is equal to 5. For example, if A is 7, then A=5.
    Function 2: If A is between 0 and 5, then A is equal to the value itself. For example, if A is 2.5, then A=2.5

    Thank you once more and greatly appreciate your help in advance!

    • If column A contains your numbers starting at A2 (for example, if A1 contains your column label), then put the following formula in cell B2:

      =MIN(A2,5)

      Alternatively, if you need to understand a basic conditional, then this will do the same thing, but less efficiently:

      =IF(A2>5,5,A2)

  28. I'm not sure if an If and statement is what I need to use or not. I'm newer to formulas in excel and I'm trying to get this to work. Please help.

    In my cell I want to first look at a cell with drop down options (named Grade). Drop down options are Above or Below. I then want to look at another sheet in a specific column for a specific description. I want the value present in another column to return based off those 2 criteria. How can I do this?

    I tried the and keep receiving False. I'm not sure what I need to do to get the value to return.

    =IF(Grade="ABOVE",AND('SPOTFIRE 10.24.2022'!R:R="Hookup Spools - Traditional CGL",'SPOTFIRE 10.24.2022'!M:M,0))

  29. Hi! This might be might be a stupid question so pardon me. I would like to know how I can display a result wherein if grade is equals to 95 and up, it will display as "1.0". If the grade is 94, the display is "1.0" - all the way to the grade 83 which should display as "2.2". Any assistance will be much appreciated. Thanks!

  30. Hello Ablebits Team,

    I need to fix below multiple criteria IF formula to show me monthly commission percentage in a column B applied on column A (Subscription Term):

    =IF(A236,A260,A272,"0.65%"))))

    Subscription Term Commission Percentage Months Monthly Commission
    A2: 12 B2 C2: 0 to 36 D2: 0.25%
    A3: 36 B3 C3: 36 to 60 D3: 0.35%
    A4: 42 B4 C4: 60 to 72 D4: 0.45%
    A5: 48 B5 C5: 72+ D5: 0.65%
    A6: 24 B6
    A7: 56 B7
    A8: 60 B8
    A9: 72 B9
    A10: 76 B10

    Thanks a lot.

  31. Hi, This is excellent. However I think I have multiple AND conditions. I.e. if row A has "0", AND row B has "1-9", then put "1" in row J. This I can do, however I need around 4 set of these rules. I.e. in simple terms:
    If row A has "0" and row B has "0", then row C should have "0" enetered OR if row A has "1-9" and row B has "0" then row C should have "1-9". OR....
    I.e. multiple IF AND conditions. I hope this makes sense! Thank you!

  32. Hello Ablebits Team,

    I need one formula with IF function that will return a percentage in Column B that applies to the specific range of months:

    Column A: Subscription Term Column B: Commission Percentage
    12
    36
    42
    48
    24
    56
    60
    72
    76

    Column C: Months Column D: Monthly Commission
    0 to 36 (commission 0.25%)
    36 to 60 (commission 0.35%)
    60 to 72 (commission 0.45%)
    72 and more (commission 0.65%)

    NOTE: The percentages in the formula needs to be hardcoded (with "")

    Thank you in advance.

  33. Hi, I need to write a formula that will give me the following
    If B6=20% and if C6 is <=60 than to return the value in C Colum
    IF B6=25% and if C6 id <=48 than to return the value in C Colum

    Thank you

  34. Can anyone help me?? When key in the following formula im and getting #NAME, #SPILL, #REF, #VALUE errors. To many arguments etc...

    =IF(C4:C13=“Aqua”,B22,””, AND(IF(C4:C13=“Rec”,B23,””, AND(IF(C4:C13=“Behavior”,B24,””, IF(C4:C13=“Massage”,B25,””, IF(C4:C13=“Music”,B26,””, IF(C4:C13=“Training”,B28,””, IF(C4:C13=“PRN”,B27,””)))))))

    also

    • Hi!
      Your formula is written incorrectly. I can't fix it because I don't understand what you wanted to do. Please read the instructions in the article above carefully. Or explain the problem in detail.

    • try to remove all "AND" and -""-, except -""- on the last IF.

  35. CAN ANYONE HELP ME FOR THIS FORMULA ON HOW TO COMBINE or SIMPLIFY (4) FOUR OR MORE LOGICAL CONDITIONS?

    IF((A1=0),"-","TEAM1") , IF((B1=0),"-","TEAM2") , IF((C1=0),"-","TEAM3") , IF((D1=0),"-","TEAM3") AND SO ON.....

    THANKS IN ADVANCE.

  36. I have an IF OR AND formula that does not work where I am trying to combine 2 statements resulting in an answer, times 4 scenarios, using 2 table titles and giving an option of 4 answers. This formula comes after 1 simple IF formula with a single simple statement, as below:
    =IF([@[Project Stage]]="Idea","Idea",
    IF(OR(AND([@[RSN Project?]]="No",AND([@[2022 C/O (Y/N)]]="No","391203","",
    IF(OR(AND([@[RSN Project?]]="No",AND([@[2022 C/O (Y/N)]]="Yes","391205","",
    IF(OR(AND([@[RSN Project?]]="Yes",AND([@[2022 C/O (Y/N)]]="No","392572","",
    IF(OR(AND([@[RSN Project?]]="Yes",AND([@[2022 C/O (Y/N)]]="Yes","392571","")))))))))))))))))

    can you advise where I am going wrong please?

    • Hi!
      It is very difficult to understand a formula that contains unique references to your workbook worksheets. Hence, I cannot check its work, sorry.

      • Many thanks for your quick response Alexander, basically i want the result of the combination of 2 columns (No/No; No/Yes; Yes/No; and Yes/Yes) to result in a different 6 digit number. The Table Titles are in square brackets in the formula "RSN Project" and "2022 C/O (Y/N)", so as not to refer to column/row, as below:
        ANT # RSN Project? 2022 C/O (Y/N)
        Idea No No
        391203 No No
        391205 No Yes
        391203 Yes No
        Currently the numbers in the first column are only looking at a combination of only 2, either/or, whereas I need to have a different number for 4 different combinations, does that make it clearer for you?

          • Thank, you, i have adapted slightly and now it's working :-)

  37. Hi there! I need help, please! I want to write multiple functions, but I do not know how to do them. Can someone please help me? Thank you.

    Function 1: I want to say if A is greater than 5, then A is equal to 5. For example, if A is 7, then A=5.
    Function 2: If A is between 0 and 5, then A is equal to the value itself. For example, if A is 2.5, then A=2.5
    Function 3: If A is less than 0, then A is equal to 0. For example, if A is -1.50, then A=0.

    Thank you once more and greatly appreciate your help in advance!

    • Didn't Sanjay ask the same question (without the negative case)? :^P

      =MIN(5,MAX(A2,0))

      OR

      =IF(A25,5,A2))

      • Not sure why it posted incorrectly...trying again in quotes because the site is seeing angle brackets (greater-than and less-than symbols) as "code":

        ...OR

        "=IF(A25,5,A2))"

        • ok, it did it again - reworking the formula. >:(

          =IF(0>A2,0,IF(A2<5,A2,5))

  38. Dear,
    I have a question if I have Three values "S" = Satisfactory, "US" = Unsatisfactory, "US*" = Satisfactory / Unsatisfactory.
    Condition is, I have exam depends on two components theory & practical if candidate pass both exam print "S", if fails in both print "US" but how to print "US*" if candidate fails in anyone component, my formula is

    =IF(L11<36&M11=36&M11>=24, "S","US*"))) // but not worked

    Thaks

  39. Need help!!!

    For Schools and Non-Profit organizations, a rebate of 40% on shipping cost is given if the Cost exceeds $6,000.00. Final Cost is the Final Shipping Cost based on all the charges and the rebate.

    • How do I combine in these two formula

      =IF((D3="School")*(L3>6000),"Rebate","No Rebate")
      =IF((D3="Non-Profit Organization")*(L3>6000),"Rebate","No Rebate")

      • I haven't tested, but this should work for your problem

        =IF(OR(AND(D3="School";L3>6000);AND(D3="Non-Profit Organization";L3>6000));"Rebate";"No Rebate")

      • it seems both conditions either "school" or "non-profit Organization" and cell L3 is more than 6000 would be "rebate", but if its not more than 6000 would be "no rebate"
        So the if the function would be just like this :
        =IF(L3>6000,"Rebate","No Rebate")

        If you have any other condition than just "school" or "non-profit organization", it would be :
        =IF(AND(OR(D3="School",D3="Non-Profit Organization),L3>6000),"Rebate","No Rebate")

  40. Hello need help with combining

    IF(IFERROR(LEN(MID(B7,SEARCH(".",B7)+1,LEN(B7)-SEARCH(".",B7)+1)),0)=5, B7-(B11/10000), B7-(B11/1000))

    with

    IF(ISNUMBER(SEARCH("b",B6)),((B7-B19)),(B7+(B19-B7))

    the conditions I'm trying to do is

    Condition 1: if decimal is =5 and Search=b, then (B7-B19)/10000

    Condition 2: if decimal is not=5 and Search=b, then (B7-B19)/1000

    Condition 3: if decimal is =5 and Search not=b, then (B7+(B19-B7))/10000

    Condition 4: if decimal is not =5 and Search not=b, then (B7+(B19-B7))/1000

    • Sorry, it's supposed to be

      Condition 1: if decimal is =5 and Search=b, then B7-(B11/10000)

      Condition 2: if decimal is not=5 and Search=b, then B7-(B11/1000)

      Condition 3: if decimal is =5 and Search not=b, then B7+(B11/10000)

      Condition 4: if decimal is not =5 and Search not=b, then B7+(B11/1000)

      • In that case, I'd write:

        =B7+IF(IFERROR(SEARCH("b",B6)>0,FALSE),-1,1)*(B11/IF(LEN(MOD(B7,1))-2=5),10000,1000))

        Because your formula in all cases follows a somewhat standard form, rather than determine all four possibilities, I'd incorporate the conditionals directly into the formula. So the standard form becomes: B7 + (+1 or -1) * (B11 / (10000 or 1000) )

        I changed the form of the "b" search from using ISNUM to using IFERROR.

        I changed the form of the decimal length calculation (I /think/ that is what was intended, though the OP formula is not correct for that purpose) from using a decimal SEARCH to using MOD x,1 to obtain the decimal and adjusting by two characters to account for the leading "0."

  41. Hi, can I seek professional help?
    I need an excel format if:

    If every 6 pcs, I need to charge $10. How about the formula?
    For example, I buy 30 tickets, and if it reaches 6 tickets, I will charge them $10. That is to say, they will be charged 50 dollars for this 30 ticket.

    is urgent...any one can help?

  42. Hi,

    I am NOT an excel expert, so might be a stupid question :)

    I am looking for a formula to apply to a sheet with 900 product lines where (fx) cell B130 text is =AW22 cell AA130 needs to be lowered with 40% if anything but AW22 is written cell needs to be lowered with 50.

    How do I do that? HELP

    • Hi!
      I’m sorry but your description doesn’t give me a complete understanding of your task. Correct me if I’m wrong, but I believe the formula below will help:

      =IF(B130="AW22",AA130*0.6, IF(ISNUMBER(SEARCH("AW22",B130)),AA130*0.5, AA130))

      Use the SEARCH function to find partial matches between text strings.

  43. =IF(B3="value","RUH","")&IF(B3="value","RUH","")

    Is there a way to add more value instead of applying the Formula twice

    i want if B1 CONTAIN VLAUE+VLAUE+VALUE

    • Use this function: REPT("RUH",n)

      So, =IF(B3="value",REPT("RUH",2),"")

  44. I have following data

    Company Bank Code
    ABC-1 B-1 0
    ABC-2 B-1 0
    ABC-3 B-1 089

    When i change the company the code should change with respect to company

  45. I have a warehouse report. Column A shows me LOT #. Column B shows me location in the warehouse. Each row will display the lot and the location. 1 lot may be 10 rows if there are 10 stored pallets in the warehouse.

    Example:
    LOT Loc'n
    XYZ A
    XYZ A
    XXS A
    XXS A
    XXS B

    As detailed above, I do not want to see XYZ because it only has A as a location. I do want to see XXS on the report because I can possibly consolidate into A-locations or B-locations.

    What I need is a formula that I can add to another column, filter that column and get rid of the lot numbers that are only stored in the A-locations.

      • Example:
        LOT Loc'n
        XYZ A100
        XYZ A101
        XXS A102
        XXS A103
        XXS B100

        In this case ,too? I want to filter out the LOT number if the locations for that LOT number are only in A locations.

          • I have a report that displays "lot", "locn", and pallets (example on the left).
            I would like to pare down the report to only show "lot" with locations in A/B locns, A/C locns, or A/B/C locations (example on right).

            I would like to have a formula that allows me to identify the "lots" that only have locations in A-locations, use a unique identifier in another column, and delete those "lots" to minimize the number of pages within the report.

            Thank you for your consideration.

            lot_ location pallets lot location pallets
            XYZ1000 AB219E01 1 XYZ1000 AB219E01 1
            XYZ1000 BA100 10 XYZ1000 BA100 10
            XYZ1000 CA100 10 XYZ1000 CA100 10
            XYZ2000 AG100A01 1
            XYZ2000 AG100A02 1
            XYZ3000 AG101A01 1
            XYZ3000 AG200A01 1
            XYZ3000 AF168A01 1
            XYZ3000 AG141B02 1

            • sorry. the parsing put both tables above together. Here is an example of the current report.
              I would like to see "lots" (which there are more than XYZ1000) that have locations in A/B locns, A/C locns, or A/B/C locations.

              I want to delete from the report, "lots" with only A-locations as it makes my current report go from 20 pages to 150 pages.

              lot_number location pallets
              XYZ1000 AB219E01 1
              XYZ1000 BA100 10
              XYZ1000 CA100 10
              XYZ2000 AG100A01 1
              XYZ2000 AG100A02 1
              XYZ3000 AG101A01 1
              XYZ3000 AG200A01 1
              XYZ3000 AF168A01 1
              XYZ3000 AG141B02 1

              • The report has 3 columns- Lot, location, and quantity. The report is 150 pages. I have 400 lots with multiple locations. If I can sort/delete the Lots that only have locations (AA100A01-AF243E01), it will reduce the report significantly.

                Is there a way I can uniquely have a formula identify a LOT that has locations only in the A-locations? I will then delete those unique LOTs from the report to only show LOTs with A and B , or A and C and have my team physically consolidate pallets within the warehouse. I do not need to have my team consolidate LOTs that only have locations in the A-locations because no consolidation would be needed. BUT, if I give them a report that shows them LOTs in A/B or A/C or B/C locations, they have a chance to consolidate LOTs and put them all together in one location of the warehouse rather than have the LOTs spread throughout.

              • Hi!
                To generate a report with locations where the first letter is not "A", try the formula

                =FILTER(A2:D10,LEFT(B2:B10,1)<>"A")

                Then replace the formulas with their values.
                Or you can select the first letter in a separate column using the LEFT function, then apply an Excel filter on that column.
                All this can be done faster and without formulas using the Ultimate Suite for Excel and the Extract Text, Convert Formulas and Filter tools. You may find 70+ other data tools useful. You can install it in a trial mode and check how it works for free.

  46. How do I combine 5 variances of "IF" functions into 1 cell?
    Column B C D E F
    #1 ~ ~ ~ IF(AND(B7="~",E7="~",F7="~"),"YES1","Enter (L)1")
    #2 08-Dec-22 09:21 ~ ~ IF(AND(B7>0,E7="~",F7="~"),"YES2","Enter (L)2")
    #3 08-Dec-22 10:06 ~ 08-Dec-22 11:29 IF(AND(B7>0,E7="~",F7>=B7),"YES3","Enter (L)3")
    #4 08-Dec-22 10:07 08-Dec-22 11:29 ~ IF(AND(B7>0,F20="~",E7>=B7),"YES4","Enter (L)4")
    #5 08-Dec-22 09:22 08-Dec-22 09:23 08-Dec-22 09:23 IF(AND(B7>0,B21<=E7,B7<=F7),"YES5","Enter (L)5")

    Each statement by itself works, but once combined, does not.
    The "YES" and "Enter (L)" are numbered only to know which statement my equation stopped at.
    Column C & D are blank at this time but needed for future information.

  47. Very simple explanation for a such complicated query.

  48. Having a bit of trouble with adding a AND function.
    I can get this formula to work:
    =TEXTJOIN(", ";TRUE;UNIQUE(IF('Asset Inventory CPT'!L4:L2000="Borrowed from campus";'Asset Inventory CPT'!D4:D2000;"")))

    But if I add in a AND function... it breaks:

    =TEXTJOIN(", "; TRUE;(UNIQUE(IF(AND('Asset Inventory CPT'!L4:L2000="Borrowed from campus"; 'Asset Inventory CPT'!B4:B2000="PC");'Asset Inventory CPT'!D4:D2000;""))))

    Can someone point out where im going wrong?

      • Thank you for that correction... that one does indeed work.
        so it was just a different function that I needed... case of me trying to bark up the wrong tree.

        Thank you

  49. SM&C Scale - Corporate Scale
    SM&C Commercial - SMB SMB
    SM&C Education - SMB SMB
    SM&C Government - SMB SMB

    apply if contionon

  50. I HAVE BEEN TRYING TO FIGURE A FORMULA THAT WOULD GIVE TWO DIFFERTENT SCENRIOS FOR THE FOLLOWING

    CELL A IS LESS THAN 3500 OUPUT WOULD BE 250
    IF CELL A IS GREATER THAN 3500 OUTPUT WOULD BE 5% OF CELL A + 250

Post a comment



Thank you for your comment!
When posting a question, please be very clear and concise. This will help us provide a quick and relevant solution to
your query. We cannot guarantee that we will answer every question, but we'll do our best :)