Comments on: Excel nested IF statement - multiple conditions in a single formula

If someone asks you what Excel function you use most often, what would your answer be? In most cases, it's the Excel IF function. A regular If formula is very straightforward and easy to write. But what if your data requires more elaborate logical tests with multiple conditions? Continue reading

Comments page 18. Total comments: 656

  1. I am trying to get actual budget variance percentage but with an if statement. If actual amount is less than budget then do budget amount minus flex amount divided budget amount and if actual amount is greater than budget amount then do flex amount minus budget amount then divided budget amount. hope this makes sense.

    thank you.

    1. Hi, Erly,

      Assuming that
      A1 – actual amount, B1 – flex amount, C1 – budget, and you want to see the result in E1, type the next formula into E1:
      =IF(A1C1,(B1-C1)/C1,""))

      Note, that it misses the condition when the actual amount is equal to budget amount, and in this case the function leaves the cell blank.

  2. Hi,
    I want formula that can identify a first 3 or 4 numbers and automatically associate them with location. e.g
    809 to Scotland
    779 to London
    If I put a customer order numbers in Column A : It should automatically show their location in column B by identifying 1st 3 numbers
    Column A Column B
    8095625 Scotland
    8096524 Scotland
    7796532 London
    8096524 Scotland

  3. Conditions with Multiple Cells, is there a way to clean this up a bit. I'm new to Excel and used your concept to create this monstrosity.

    =IF(IF(H352=J352,(IF(J352=L352,(IF(L352=N352,"Valid","Invalid")),"Invalid")),"Invalid")="Not In SAP","Invalid","Valid")

    The concept is using 4 cells that have returned a specific value and if they have all returned a specific value and are all the same = "Valid", if one cells is different than the rest = "Invalid".
    Thank you

  4. I need to write a "what if" statement for a column that has both numbers & text. For example 79953A, 81012B, 85023C
    I want the numbers ending with A to read A Crew in a new column, B to read B Crew and C Crew.
    Can I do a "what if" statement to figure out how many A's, B's & C's?

    Any information you can give me would be greatly appreciated. Thank you.

    1. Hi, Felicia,

      you can try the following:

      if your data starts in A1, then to return "A/B/C Crew" to B column use the formula below:
      =IF(RIGHT(A1,1)="A", "A Crew", IF(RIGHT(A1,1)="B", "B Crew", IF(RIGHT(A1,1)="C", "C Crew", "")))

      To count their amount use COUNTIF in column C:
      =COUNTIF(B:B,"A Crew")
      where B:B is a column with returned values and "A Crew" counts A appearances. To count "B Crew" and "C Crew" copy and change COUNTIF formula respectively.

  5. if formula with 3 conditions

    1- Below Rs,15000 - Rs 0/-
    2- 15001 TO 19999 - Rs.150/-
    3- Rs20000 - Rs.200/-

  6. Hi there! I'm not sure if this is the correct formula for what I need, but I need a formula that will return a number based on text conditions. For example, if cell A1 reads "Y" or "N/A" I would like the formula to return a 0 value in cell B1. If neither of those conditions are true, I would like B1 to return the numerical value of cell C1.

    For context, I am using this to calculate how much use tax I owe. If I paid sales tax on an item or the transaction was not subject to sales tax, then I do not owe additional use tax on it. However, if I did not pay sales tax on the item, I now owe use tax on the full amount of the transaction.

    Thanks!

    1. Hi Christina,

      You can use the following formula for B1:

      =IF(OR(A1="Y", A1="N/A"), 0, C1)

  7. hello,

    thank you for all of the input on this site. Very helpful. I am trying to analyze a series of cells and determine the average of those cells. There are only (4) cells in total, but they only show a value higher than zero once a full week has been completed.
    i.e.
    cell b34 week 1 65%
    cell b97 week 2 45%
    cell b160 week 3 0% (week not completed yet)
    cell b223 week 4 0%,(week not completed yet)

    this statement will not work due to too many arguments, but this is what i'd like to achieve.
    =IF(B97>0,AVERAGE(B34,B97),B34,IF(B160>0,(AVERAGE(B34,B97,B160)),AVERAGE(B34,B97),IF(B223>0,(AVERAGE(B34,B97,B160,B223,B34)),AVERAGE(B34,B97,B160)))))

    Anytime it sees a zero value, skip the rest of the weeks and only use the weeks with % already calculated as part of the monthly average. The trouble i'm having is that if I use a nested if statement, it seems to only function when referencing a single cell. does anyone have any suggestions please?

  8. Hi, i have the following task: This sheet lists items of clothing and accessories, whether or not it is on clearance, and whether or not it is on sale. Items with a “Sales Discount” greater than zero are “on sale”. Items that are both on clearance and on sale get a total discount of 50%. Otherwise, the sale discount is the total discount. Have Excel calculate the total discount for each item.
    The data provided for this is:
    Clearance Sale Discount
    yes 25%
    yes 10%
    no 10%
    no 0%
    no 0%
    yes 15%
    no 5%
    yes 0%
    no 20%
    yes 5%

    I need a formula that will provide an answer in % in a 3rd column. I believe it should show either 0%, 50% or the percent in the Sale Discount column. The answer has to take into consideration 4 criteria:
    1. Clearance "yes", Sale Discount >0%
    2. Clearance "yes", Sale Discount =0%
    3. Clearance "no", Sale Discount >0%
    4. Clearance "no", Sale Discount =0%

    I'm struggling with the IF function as i keep getting errors, or not displaying a %. I'm also struggling with criteria #3, how to make the Sale Discount % appear in column 3.

    Can you please help me?

  9. solve my this problam IF TIME IS GRATER THEN AND LESS THEN
    =IF(D14-B14>TIME(6,0,0),IF(D5>=10000,"120/-250/-",IF(D5>=6600,"96/-200/-",IF(D5>=5000,"84/-180/-",IF(D5>=3000,"72/-160/-",IF(D5>=1300,"60/-130/-",IF(D14-B14=10000,"250",IF(D5>=6600,"200",IF(D5>=5000,"180",IF(D5>=3000,"160",IF(D5>=1300,"130"))))))))))))

  10. =IF(AND(G4="A",G5="Below 75"),C4*1.708%,IF(AND(G4="A",G5="76-150"),C4*1.708%),IF(AND(G4="A",G5="151-350"),C4*1.793%))

    This formula showing "Too many Arguments"
    Plz help

  11. =IF(AND(G4="A",G5="Below 75"),C4*1.708%,IF(AND(G4="A",G5="76-150"),C4*1.708%),IF(AND(G4="A",G5="151-350"),C4*1.793%))
    This formula is not working.Plz help!!

  12. Good morning and congrats on a wonderful site.

    I'm currently running a sheet where I need to identify training dates. I have lets say column B which has the dates of training expiry dates for staff members. I want Column C to read Column B and if the date has not passed already then "Yes" to display, if it has already expired, then "No". Unfortunately Column B is reading from another sheet so some of the dates are #N/A. I want the IF formula to return "No" if they have a #N/A value too.

    I currently have =IF(B2>TODAY(),"Yes",IF(B2="#N/A","No","No"))

    However this does not work, please help!

  13. Dear sir,
    i have the formula written already to calculate the contribution of a staff:

    =IF(A1<7100,0,IF(A1<30000,A1*5%,1500))

    Which A1 is the income.

    but first i need to see if the start date of this staff to an end date is = 2 full months, if yes, then calculate the above, if not, then no need to calculate and contribution =0.
    how can i add this criteria to the above formula? Thanks!

  14. Dear sir

    I have a sheet where i want to count if column J(month = Jan or feb mar .....) column N = g(Green = good y = possible r = bad)add column D( Value in currency)

    Please can you help

    Thanks

  15. hello sir. i hav a problem and unable to shortout.

    can i use if condition for sellected range of coloumn ..

    i.e.
    IF (A1=(B1:B8), "true","False")

    it is not corretct because the range is not accepted by if condition.
    how can i do this
    is there any other method to resolve this

    1. Try this.
      =If(A1=SUM(B1:B8),"True","False")

  16. Need help for the following:

    I have % age values in a table according to each process weight-age.The start process "A" has 2% wtage, Process "B" has 25% wtage and so on till Delivery process "G" indicating 100% as %age of work comppleted.

    The Problem
    My excel has each tabs for respective process and a column as "completed date"I have a summary tab for Areawise status in which only the last completed process(ie completed date) percentage should be displayed.

    Any help would be appreciated.
    Thanks

  17. Looking for help. I have a list of zipcodes. I need a formula that says "TRUE" in the cell if the zipcode is one on the list. "FALSE" if not. Zipcodes for "TRUE" below.
    98002
    98003
    98007
    98023
    98030
    98031
    98032
    98047
    98055
    98056
    98057
    98101
    98102
    98104
    98106
    98107
    98108
    98109
    98118
    98121
    98122
    98125
    98126
    98133
    98144
    98146
    98148
    98168
    98178
    98188
    98198

    My normal If/Than does not seem to do the trick?

    1. Your best bet is to create a table as your datasource of zipcodes and then use the VLookUp to compare the zip codes vs what is in your table.

      =If(Vlookup(yourzipcodecellhere,Table,1,0)=yourzipcodecellhere,)

  18. Hi, I have a formula as follows: =IF((B2="N")*AND(ISNUMBER(I2),I2>=0,I2<=6000),LOOKUP(I2,{0,996,1996,2996,3996,4996,5996},{" ","$50.00","$100.00","$150.00","200.00","250.00","300.00"}),"-")

    This works fine when B2=N, but I want the same ISNUMBER formula to run if B2 also = L. I can't figure out how to include both "N" and "L" in the same formula.

    Any help appreciated!

  19. Hi

    I've been trying to use nested formula to return a specific cost if an item is referred to in one column. Do you know why it might be returning my value as false (ie blank) if I am using the following formula just because the criteria isn't contained within the first bracket? For some reason if the first bracket is true it is fine but anything else it just shows as blank?

    =CONCATENATE(IF(C5="Napoleon","£1000",""),IF(C5="Sussex","£2000",""),IF(C5="Townhouse","£3000 ",""),IF(C5="GO","£4000",""))

    1. Actually managed to solve the one above but was wondering if it would be possible to do the formula

      =IF(D2="PM",(IF(C2="Napoleon","£5000",""),IF(C2="Sussex","£3500",""),IF(C2="Townhouse","£2500 ",""),IF(C2="GO","N/A",""),IF(C2="DDR","COST","")),(IF(C2="Napoleon","£2500",""),IF(C2="Sussex","£2500",""),IF(C2="Townhouse","£1500 ",""),IF(C2="GO","N/A",""),IF(C2="DDR","COST","")))

      Where I'm trying to say if D2= PM "Value if true as a nested if formula", "value if false as a nested if formula"

  20. I need a formula in excel for the below.
    A1 contains some value and B1 contains Text A, B, C, D
    Formula should do the following:
    if B1 is A then check the following A1 is greater than 5 but less than 10 it should return 10, if A1 is greater than 10 should return value in A1, if A1 is less than 5 should return 5, if B1 is B then check the following A1 is greater than 5 but less than 10 it should return 8, if A1 is greater than 10 should return value in A1, if A1 is less than 5 should return 5

    How can you put the formulae in excel? Can any body explain

    1. A...fine
      B...fine
      What if C or D?

      If you want to do nothing when B1 is C or D, then formula yo use is:

      =IF(B4="A",IF(AND(A4>5,A4<10),10,IF(A4#10,A4,IF(A4<5,5,"N/A"))),IF(B4="B",IF(AND(A4#5,A4<10),8,IF(A4#10,A4,IF(A4<5,5,"N/A")))))

      Replace # with "greater" sign.

      If B1 contain C or D, then the result is FALSE.

  21. Hi Dear, I m user of excel I have a data in row A and row B .I want to find what data are same in both the row.please let me know the formula for the same

    1. =A1=B1
      That is. The result into cell C1 will be "TRUE" or "FALSE"
      True if A1=B1, false if A1 not equal B1.

      Or this formula:
      =IF(A1=B1,"EQUAL","")
      It is show "EQUAL" if A1=B1, and "" (nothing) if A1 not equal B1.

  22. Bill says:
    February 1, 2017 at 7:34 am
    3 Range : Time, Value A, Value B

    Triger : “>=7”

    condition : between A and B, who reach 7 first in period of time 1 to 6, then win.

    *Eq 1 : in a period of time show by range Time 1 to 6, A hit 7 first before B. then, “A WIN“

    Time | A | B | A WIN

    1 | 1 | 2 |

    2 | 5 | 2 |

    3 | 7 | 4 |

    4 | 5 | 5 |

    5 | 4 | 6 |

    6 | 3 | 7 |

    *Eq 2 : in a period of time show by range Time 1 to 6, B hit 7 first before A. then, “B WIN“

    Time | A | B | B WIN

    1 | 1 | 2 |

    2 | 5 | 7 |

    3 | 7 | 4 |

    4 | 5 | 5 |

    5 | 4 | 6 |

    6 | 3 | 2 |

    Please help me how to make this formula, its been 3 days im trying but i still cant figure it out,

    thanks in advance.

    By: Bill

    1. =IF(B2=7,"A",IF(C2=7,"B","NIL")) formula for ist query A win same way for the next one too have a Nice day

    2. =IF(AND(A2>=1,A2=7),"Awin",IF(AND(A2>=1,A2=7),"Bwin",""))

      For search first instance of Awin or Bwin try VLOOKUP formula.
      If you have time value (not 1 to 6 values) use TIMEVALUE formula.

  23. hi again.
    mr remind the formula you gave doesn't work.

    please give me the true formula.
    this is the problem.

    if F15 is within 0.26-0.75 and H15 is above 0.20 the value returns to "retained"

    if F15 is within 0.26-0.75 and H15 is below 0.20 the value returns to "revised"

    if F15 is not within 0.26-0.75 and H15 is above 0.20 the value returns to "revised"

    if F15 is not within 0.26-0.75 and H15 is below 0.20 the value returns to "rejected"

    I will be glad to your right response. thank u.

    1. =IF(AND(0.26<F15<0.75,H15#0.2),"retained",IF(OR(AND(0.26<F15<0.75,H15<0.2),AND(0.26#F15#0.75,H15#0.2)),"revised",IF(AND(0.26#F15#0.75,H15<0.2),"rejected","N/A")))

      Replace # sign with "greater" sign.

      Is working?

    2. Julius,
      Please send me a sample to help you.
      remindfwd[at]gmail[dot]com
      I solved your formula, but is better to comunicate by e-mail.

  24. Hi,

    First of all I would like to congratulate you for this wonderful site and all your efforts for making using excel much more easier than it used to be. I had started working on excel in my teens and learned a lot but you all are able to surprise me with the new ways you mentioned to tackle the issues or the innovative uses of formulas.

    now coming to the point, i am having difficulty in analysing some data for my report.i have a report which states a specific purchase order code with the quantity in the very next column but the supply is being received in parts. so the system application plots all the receipt against the very same order. but when the report of the same is exported in excel, it repeats the order and quantity against every receipt thus no general formula could be used to just subtract the receipt form order and the data spread over thousands of rows so manual calculation is impossible.

    for example:
    Column A states order no XX/1*12
    Column B states Quantity demanded to be 10000.00
    Column C states the receipts in the tune of 300,1500,2500,700 & 4500.
    Thus the balance should be 500 but since the values of Column A and B repeats, simple subtraction comes as 9700, 8500, 7500, 9300 & 5500 respectively for the balance quantity.

    Can you suggest any possible formula or a set of formulas to derive the balance quantity after considering every aspect.

    1. Try VLOOKUP formula in addition with others.
      If you send to me a sample from your report (not real names or prices or quantities) I will try to hel you.
      my e-mail remindfwd[at]gmail[dot]com

  25. Sorry 2!

    =IF(AND(F15>=0.26,F15<=0.75,H15>=0.2),"retained",IF(AND(F15<=0.26,F15>=0.75,H15 sign (First H15 and forth F15)

    1. thanks a lot God bless (^_^)

  26. hi. someone help me with my item analysis please.

    when f15 is within 0.26-0.75 and h15 is above 0.20 the value returns to "retained"

    when f15 is not within 0.26-0.75 and h15 is below 0.20 the value returns to rejected

    1. O, thats is impardonable:
      The formula is:
      =IF(AND(F15>=0.26,F15<=0.75,H15#=0.2),"retained",IF(AND(F15<=0.26,F15#=0.75,H15<=0.2),"rejected","N/A"))

      Replace # with "greater" sign

    2. Sorry!

      =IF(AND(F15>=0.26,F15=0.2),"retained",IF(AND(F15=0.75,H15<=0.2),"rejected","N/A"))

    3. In the cell G17 (or where you want) insert this formula:

      =IF(AND(F15>=0.26,F15=0.2),"retained",IF(AND(F15=0.75,H15<=0.2),"rejected","N/A"))

      If you want to change N/A with something else, be my guest.

  27. I have suppliers, who sell to me the same products at different prices, different lead times for those different products and different account payable dates.

    I need to make a comparison between them and make a choice on who has better terms using excel.how can I go about it?

    Thank you.

  28. Hi
    I am new in excel.
    I have question, if I have 2 columns (column a and b), each column has negative and positive value. How can I sum if the condition is "show sum of column a and b if either column a or b are negative"?

    Thank you

    1. Hi Fanteri,

      Here is the formula you can use:
      =IF(OR($A1<0,$B1<0),SUM(A1,B1),"")

      It says "if either value in A1 or B1 is less than 0, then sum values in A1 and B1, otherwise show a blank cell". Copy it down the column where you enter the formula to get the results for each row.

      You can read more about OR condition in this blog post.

      I hope this helps.

  29. A B C
    12345 10
    12345 20 #NAME?
    12345 LTP 30

    IF COLUMN A same value, take column B as a return . answer should be '30'.

  30. I have more than one number in the same column and between each number there is a empty cell .. what I need is to repeat the number between each number using excel formula .. please send me the formula that will help in adding the field that are not showing between two number cause I have a big data and need to add the formula also I wanted the system to check using if in case that possible .. will Waite for your reply as soon as possible .. appreciate your assistant..

    I will be very glad if you can send me the formula in me email

    1. Lets say in B1 is your value
      then in B3 =IF(LEN(B1)>0;B1;"")

  31. i have created the formula"=IF(G7=K15,L15,IF(G7=K16,L16,IF(G7=K17,L17,IF(G7=K18,L18,IF(G7=K11,L11,IF(G7=K12,L12,IF(G7=K13,L13,IF(G7=K14,L14))))))))" in ceel H9;BUT FOR MORE THAN 8 CONDITION THIS NOT WORK; WHAT TO DO SOLVE THIS PROBLEM.

    1. I am not sure what you want to acomplish but usually if you need more then 3 ifs thats mean you are doing something wrong.

      also lets say K17 = K19 it will return K19 because its first if that doesent matter then use:

      =VLOOKUP(G7;K11:L18;2;0) just change your range that best serves you

      if same values are problem then:

      =IF(COUNTIF(K11:K18;G7)>1;"MORE THEN ONE";IF(COUNTIF(K11:K18;G7)<1;"NO MATCHES";VLOOKUP(G7;K11:L18;2;0)))

  32. i have prepare the formula-=IF(G7=K 14,F11,E20), =IF(G7=K15,F11,E21), =IF(G7=K16,F11,E22) incell E20 TO E22; BUT THE SUM OF THE VALUES FROM THESE FORMULA NOT DISPLAY & A MESSAGE IS DISPLAYED" careful we have found one or more circular reference in your work book that might cause your formula in correctly"

    1. Hello Sunil,

      The reason why you get this error is that you are trying to get value from the same cell where you enter the formula. Please replace E20 in the formula or describe what you are trying to achieve in more detail, I'll do my best to assist you.

  33. Dear Svetlana,

    I need your help. I have a training matrix that that has different training clumns and different dates.

    for example Company Induction that will be valid for three years. Cell value is 9-Aug-16. i want to highlight it will expire after 3 years.

    if it is 9-Aug-13 it is also expire

    This goes to all training dates with different validity.

    please help me on this...thanks in advance

  34. HI Sventana,

    Thanks for another aspect of Nested if Function. Really nice and useful Information. Expecting some Detailed Article on CF,Data Validation,Offset,Index Match. Great JOB

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 :)