IF is one of the most popular and useful functions in Excel. Generally, you use an IF statement to test a condition and to return one value if the condition is met, and another value if the condition is not met. Continue reading
by Svetlana Cheusheva, updated on
IF is one of the most popular and useful functions in Excel. Generally, you use an IF statement to test a condition and to return one value if the condition is met, and another value if the condition is not met. Continue reading
Comments page 133. Total comments: 4830
i want to make a mark sheet with result of different students, i want result fail if value=<34, then what will be the arguement, how can i write the cell range in formula. i have done it, but it is wrong! plz help
hi svetlana
i am working as a planning officer in textile. i have to make/maintain multiple sheet. can you help me?
imran
Hi..I am currently working on sales report and using IF formula. However I encountered IF error message - "IF only takes 3 arguments but this is argument number 4". Appreciate your help on this....thank you
Hi Alynda,
Yes, the syntax of the IF function allows for 3 arguments only. You can find the detailed explanation of each argument at the beginning of this article. If you provide more details about your formula, we will try to get it right.
Using the data in C16:C18, generate in Cell E16 the formulation that will check Cell C16 for a Y, an N or any other character and if this cell contains a Y the formulation will round the figure in Cell C18 (19.2589) to the number of decimals indicated in Cell C17 (3), if Cell C16 contains an N the formulation will not round the figure in Cell C18 and simply return the number that is in Cell C18 and if Cell C16 contains any other character, the formulation will return the error message “Invalid Character”.
Would this be an IF function?
if value entered B 1 40 to 45 the value C 2 36 and if enter 46 to 50 , the value C 2 37
Here is the formula for C2:
=IF(AND(B1>=40, B1<=45), 36, IF(AND(B1>=46, B1<=50), 37, ""))
A B
10 0
Please help, B=A"Paid", B=0"Outstanding" and 0<B<A"Pending" Thank you!
Hi Kea,
Here you go:
=IF(B1=A1,"paid", IF(B1=0,"Outstanding", IF(AND(B1>0, B1<A1),"Pending", "")))
Hi Svetlana, I working well thank you again for your help and sorry for late checking
Hello,
I have the following formula so far:
=IF(A1>=40,"40",""), If the value is less than 40 I need the result to be the exact value in the cell.
For example if A1= 39.5 I need the result to be 39.5 not blank as I currently have it in the formula. What can I replace "" with to get this result?
Thank you!
Hi Olga,
Just replace "" with the cell reference, like this:
=IF(A1>=40, 40, A1)
Dear Svetlana Cheusheva
Is this formula correct
=IF(H2="#N/A", "No", "Yes")
where #N/A is a result of vlookup which is applied in H2
Please help i am stuck here
Hi Khan,
You have to use the ISNA function to check another cell for N/A error, like this:
=IF(ISNA(H2), "No", "Yes")
Thanks Svetlana, I was using ISNA but wrong, this helped.
Really v thankful to you it worked
Hi can you help me formulate one formula for these situations:
1. If the actual completion date (F9) is less than or equal to the target completion date (E9) then it's ON TIME
2. If the actual completion date (F9) is greater than the target completion date (E9) then it's OVERDUE
3. If the target completion date (E9) is greater than the date today (B5) and the actual completion date (F9) is unfilled it's NOT YET DUE
4. If the target completion date (E9) is less than or equal the date today (B5)and the actual completion date is unfilled it's UNDONE
My formula I have right now is:
"IF(F9E9,"OVERDUE",IF(E9>B5,F9="","NOT YET DUE",IF(E9<B5,F9="","UNDONE"))))
But it says I'VE ENTERED SO MANY ARGUMENTS
Thanks!
Hi Tetay,
You have to use the AND function when entering more than 1 condition, like this:
=IF(F9<=E9, "ON TIME", IF(F9>E9, "OVERDUE", IF(AND(E9>B5,F9=""),"NOT YET DUE", IF(AND(E9<=B5,F9=""), "UNDONE", ""))))
Thanks but it does not work for the NOT YET DUE and UNDONE. I think there is something missing?
Because it still displays ON TIME even if the actual completion date (F9) is unfilled.
Oops... I forgot to check if F9 is not empty in "ON TIME" and "OVERDUE" logical tests.
Please try this one:
=IF(AND(F9<=E9, F9<>""), "ON TIME", IF(AND(F9>E9, F9<>""), "OVERDUE", IF(AND(E9>B5,F9=""),"NOT YET DUE", IF(AND(E9<=B5,F9=""), "UNDONE", ""))))
OMG Svetlana! Thank you so much, it's working. YOU'RE AWESOME
Please help me providing with encoding stating Week 1 Week 2 Week 3 Week 4 so on for the Year, to come automatically depending on Date in other cell.
how to create a subscript in an "if()" function? for example if(1<2,"FS","") the "S" should be in subscript. thank you!
I want to replace F2 with value in G2 if value in F2 is 0.
Rukia,
It is not possible to have a value and a formula in the same cell.
Hi There,
I use this formula but nothing is coming out:
=IF(B6>2),"3.86"
what i need is if b6 is > 2 i need excel to put 3.86 and 3.99 if b6 is <= 2
Thanks
Hi Teame,
Please try this one:
=IF(B6>2, 3.86, 3.99)
Mant Thanks Sve.
I need help figuring out 2 calculations
1.If cell is blank, then leave cell blank, but if cell has a value then add another cell.
2.Total cells and then divide by cells that only have value. Example if there are 10 cells, but only 5 have value, you would divide by 5.
Hi Toni ,
You can use formulas like these:
1. =IF(A1="", "", B1)
A1 is the cell you check for being blank/non-blank, and B1 is the cell you add if A1 is blank.
2. =SUM(A1:A100)/COUNTIF(A1:A100, "<>"&"")
Hi,
I am currently working with a schedule, and I am trying to make an IF function that if I have a table that will show me who is working each shift, it will look at the schedule and pull the person that is scheduled at a certain time.
An Example:
If I have person A scheduled at 11:15 AM and I want there name to be pulled into the table which shows all the employees that work at 11:15 AM how would I do so. Currently the function I am trying to use (=IF(B13="11:15 AM", A13) is not working. B13 is representing the starting time of the shift, while A13 is representing the Employee name. I would greatly appreciate any help you can give on this matter, thank you!
Hi Phillip,
When comparing dates or times in Excel, you have to use the DATEVALUE and TIMEVALUE functions, respectively, in order to convert a date or time unit in the text format to a serial number that Excel recognizes as a date / time. For example:
=IF(B13=TIMEVALUE("11:15 AM"), A13, "")
What is the formula when my conditions are;
If 0<= A < 10 the result is 3
If 10< A < 15 the result is 2
If 15 < A 20 the result is 0
Assuming that the variable A is the value on a certain cell.
Thanks
Forgot to mention;
if 15< A < 20 the result is 1
Hi Faith,
Here you go:
=IF(AND(A1>=0, A1<10), 3, IF(AND(A1>=10, A1<15), 2, IF(AND(A1>=15, A1<20), 1, "")))
Thank you for the article. I don't know if there is a function to do what I want, but here is basically what I am looking for.
I have a list of items that I have set to display on a different sheet. I would like a large number of those items (those that start with a 4) to be combined into one cell with a different name in the same list (The 400 Series). Is there a function that will keep my list intact, but combine all the names that start with 4 into my new cell? I don't need a count of them by the way, just the list to transpose itself over as it is now with those specific cells pushed down into one.
Thank you for the help.
As a follow up and to complicate my question, I am hoping to establish a function to do this dynamically every day when I import new information. If I were doing it only once, I think I could just remove the "4" items and put in a new block, but this would become a timely process if I were doing it every day, because I have the list being dynamically generated, which would bring back all my "4" blocks with the new import each day.
Can I assume my question is too complicated?
Hi Svetlana,
I need to create the following if statement.
IF the member type in B6 = "TC" then take the date from B3 and + 10 Days, If the member type in B6 = "T2C" then take the date from B3 and + 15 Days.
Hi Adam,
Here you go:
=IF(B6="TC", B3+6, IF(B6="T2C", B3+15, ""))
Please remember to change the format of the cell with the formula to the Date format so that is displays the date correctly.
Hi Svetlana
I would like to create in "IF" statement or an "ISBLANK" statement that says that if C2 is blank, populate from D2. If C2 has text, do nothing.
=IF(C2 is Blank, Populate from D2) or =IF(ISBLANK(C2)=TRUE,D2,0)
Thank you!
Hello Donni,
You can use either of the below formulas:
=IF(C2="", D2, "")
If cell C2 is "visually blank" (including an empty string returned by some other formula, if any), the formula returns a values from D2, otherwise returns an empty string.
=IF(ISBLANK(C2), D2, "")
The second formula returns a value from D2 if cell C2 is absolutely blank (no value, no empty string).
Please see the Excel IF examples for blank, non-blank cells section in this tutorial for full details.
Hi,
I have a formula that is returning "Recent" in cells that do not contain dates.
=IF(C6>DATEVALUE("4/21/2014"),"Recent","")
Cell C6 = "1 File(s)"
What can I do to exclude cells that do not have dates?
Never mind this, got it figured out.
Hi,can you help me with formula if for this condition, if F3=A,D3=1,the result for H3=C3 & if F3=A,D3>1 the result for H3=-1 in 1 formula if. Thank you :)
Hi Pichan,
Here is the formula for H3 as per your conditions. If nether condition is met, it will return a blank cell (empty string).
=IF(AND(F3="A", D3=1), C3, IF(AND(F3="A", D3>1), -1, ""))
Hi, im trying to place a formula that, according to a "word" I can get a number as true or false value.
ex.: A1= Casa .......... B1= If=(A1Casa,"2","5"), something like that.
Thanks in advanced. :)
Hi Roman,
I believe you meant =IF(A1="Casa", 2, 5)
Yes,sorry...... but I get a warning that I shoud put an apostrophe, but is possible to make work somehow?
Most likely this is because you have ";" set as a List separator (you can check this in the Regional settings). If this is the case, then try =IF(A1="Casa"; 2; 5)
Sweeeeet, perfect, thanks Svetlana :)
Sorry again, work at prefection, but something else that I want to know if possible, Is possible also to make a Image to show in a cell linked to a word in a formula?, if possible can you direct me to a link of how to do it?, thanks again :)
=(D3/B3)if(B3="0"),D3,E3 I get error please help
D3=hour B3=Sales E3=final number
Hi Daniel,
Sorry, I cannot follow you. Can you explain the condition (logical test), please?
Hi Clarence,
Here you go:
=IF(AND(E20<J21, E20<D21), MAX(F11:F15), "")
it's not working :'(
Hmm... strange, it works just fine on my test sheet.
The formula is in A1.
hi , can you help with my sheet ? I can't translate it to codes in excel .this is how i read it "if e20 is less than j21 and d21 , i should get the cell with the highest value in f11 to f15 cells . thanks .
HELP! :( Working on a sheet I have made a drop down in a cel and I would like the cel next to it to enter text if a certain word is selected in the drop down, is this possible?!?! I am not very good at explaining so I can try my best with whatever questions you have!
For example, if the drop down menu is selected Oranges I want cel G to now have Bananas in it, but if from the drop down Grapes is selected I want cel G to now say Grapes, and so on and so on, honestly have 27 so far in the drop down and need an IF in G if something is in the drop down menu, is this possible?!?!
Hi Ryan,
If you want a cell next to your drop down list to display the same value as currently selected in the drop-down, all you need is a simple formula like =$A$1 where A1 is the drop-down cell.
If you want to display different values, then you should use nested IF functions, like this:
=IF(A1="bananas", "bananas2", IF(A1="oranges", "oranges2", IF(A1="grapes", "grapes2")))
=IF(AH5>69, AG5*5, IF(AH5>59, AG5*4,IF(AH5>49, AG5*3,IF(AH5>44, AG5*2,IF(AH5>39, AG5*1,IF(AH569) and so on.
pls, can you help
Hi Fred,
The formula looks good. You just need to finish it properly, by closing all IF statements. I.e. the number of closing brackets should match the number of opening ones. Also, in the value_if_false argument of the last IF, enter the value to display when none of the conditions are met - it's an empty string ("") in the example below:
=IF(AH5>69, AG5*5, IF(AH5>59, AG5*4, IF(AH5>49, AG5*3, IF(AH5>44, AG5*2, IF(AH5>39, AG5*1, IF(AH5>29, AG5, ""))))))
Hi! I am trying to use an IF Formula to provide me a date result.
=IF(H2=S, [Approval]+(7*[Estimated weeks from Start to Approval]),IF(H2=P, [Start]+(7*[Estimated weeks from Start to Approval])))
I'm not sure what to enter at the end for the result to show a date.
Thanks!
Thank you Svetlana!!!
Hi Svetlana, It would be great if you could help, I think I'm nearly there but getting frustrated :)
=IF(AND((E4-AG4>=5),50,0),IF(AND(E4-AG4<=-5),50,0))
I'm building a sports sheet, whereby E4 is the actual spread and AG4 is the predicted spread. If the predicted spread is within +5 0r -5 then 50 points are awarded.
Appreciate your help
Kind regards
Barry
Hi Barry,
The correct syntax of your formula is as follows:
=IF(AND(E4-AG4<=5, E4-AG4>=-5), 50, 0)
And you can make it even more simpler by using the ABS function that returns an absolute value regardless of the sign:
=IF(ABS(E4-AG4)<=5, 50, 0)
Hi,
Thank you in advance for your time. I am trying to creat an IF formula with a logic test that recognizes the most current date in the row and if the date is within 6 days of the todays date another cell will indicate NOT AVAILABLE
So far I have IF(???>6;AVAILABLE;NOT AVAILABLE)
I dont know how to create the date formula for the row only for a specific cell.
Thank you
Hi Stephanie,
You should use the MAX function to determine the most recent date in a row and then compare it with TODAY(). For me to be able to suggest the right formula, please clarify the conditions. I assume "within 6 days of the todays date" means within the next 6 days, right? And what shall the formula display if the most current date in the row is a past date? And what if it is more than 6 days in the future?
Row A: Will show "Open" if the date entered in any cell in that row is more than 6 days from the current date or show "Closed" if ay date in the row is within 6 days of the current date (future or past).
So far I have =IF(??-TODAY()>6;"OPEN";"CLOSED")
Thank you
Hi Stephanie,
Try this one:
=IF(ABS(TODAY()-MAX(A2:N2))<6, "open","closed")
Where A is the first and N is the last column containing dates.
Hi,
How would I write the formula to get the following:
If A1 IS BETWEN 1 & 3 then "q1" however if between 4 & 6 then Q2, If between 7 & 9 then q3...
Thanks!
Mishaal
Hi Michelle,
You can use a nested IF formula similar to this, beginning with the largest values:
=IF(AND(A1>=7, A1<=9), "q3", IF(A1>=4, "q2", IF(A1>=1, "q1", "")))
If there is no upper-bound limit, it can be simplified it to:
=IF(A1>=7, "q3", IF(A1>=4, "q2", IF(A1>=1, "q1", "")))
Hi,
How would I write the formula to get the following:
If A1 3 but 6 BUT 9 But <=12 "Q4"
THANKS IN ADVANCE FOR YOU HELP!!
Michelle
Hi,
i shall appreciate if you could please guide me as to how I can use IF function formula while making general journal (Accounts) to auto post entries into respective ledgers(account heads/expense heads) ?
I look forward for a positive response.
Thank you,
Danish Abbasi
Hi Danish,
Please try to explain the task from another viewpoint. In what columns do you have data, and where do you want to auto post data and based on exactly what conditions?
Hi,
I have a drop down selection in Column M with the choices: "China - UK", "China - EU", "China - ME"
In column P I have a formula: =INDEX(Products!M:M,MATCH(C5,Products!$B:$B,0)) to automatically populate the duty rate for bringing into UK/EU - this is a variable percentage depending on the product.
If in the drop down "China - ME" is selected I want to override column P with conditional formatting to show 5% which is constant for all products
I tried to put the two formulas in priority order on conditional formatting
=IF(M5="China - ME", "5%", "0") - selected stop if true
=INDEX(Products!M:M,MATCH(C5,Products!$B:$B,0))
Can you please tell me where I am going wrong?
Kind regards,
Alex
Hi Svetlana,
Could you please help me with my question below?
I'm collecting in 1 sheet customers feedbacks from 7 different languages (sheets).
So in the same colomn A, I have the answers "Yes, Oui, Ja, Si, No, Non, Nein...." or "Non, No, Nain...".
The formula works fine for 1 language "=IF(A2="SI",1,0)" but do not know how to add the others..I would need number 1 to appear if it's an answers "Yes, Ja, Si, oui.. and a 0 if it's a "Non, No, Nain...".
Any idea how can I compile all of this in one formula please?
That would be much appreciated if you could help with this.
Thanks a lot,
Erin
Hi Erin,
You can add multiple OR conditions in your logical test, like this:
=IF(OR(A2="SI", A2="Yes", A2="Ja"), 1, 0)"
Hi, what if the cells are multi-word strings and I want to have anything that contains, (e.g.) 'blue', 'green' or 'purple' return 'cool' and everything else 'warm'.
For example:
light blue (cool)
burnt orange (warm)
forest green (cool)
etc.
thanks
Hi,
i need the if condition formula for the below i need to allocate some of the qty so if total qty is less 5000 need allow 25 Pcs like details are below
Qty Allow Qty
12500 400
I have values in cells E6,H6,K6,N6,Q6 & T6 that I want added together. The values in these cells are from vlookups from other sheets in the workbook. Any of those 6 values (E6,H6,K6,N6,Q6 &T6) could contain a blank or have returned nothing as a result of the vlookup. I need to total these numbers but if I put a simple addition formula in I get an error because of the possible blanks. I am thinking it needs to be a complex nested if sentence but can't figure out how to tell it that I need it to add all the numbers and discount those that are blanks or empty cells.
= IF(A10,A1, IF(A20,A2,IF(A30,A3,"BAD")))
BAD is mean all 3 cells are blank
Hi!
Sorry, I am not sure I can follow you. Can you explain the conditions (logical tests), please?
first of all ,thanks in advance for the people whom create these very nice tutorials.I wanted to do math operation on the results of nested IFs.how could it possible with one formula??? my formula is as this:
=IF(HOUR(D26)> 0; HOUR(D26)*45357; IF(MINUTE(D26)> 0; MINUTE(D26)*755.95; IF(SECOND(D26)> 0; SECOND(D26)*12.6; 0)))
---------I wana add a statement to above formula in order to sum the true values , it calculate the first but ignores others!!!! I wanna sum hour+minute+second
Hi Svetlana,
I tried your formula here below to replace a text into a number and it works fine.
But I do not actually know how to make it work for different datas on the same colomn.
Let me quickly explain.
I'm collecting in 1 sheet customers feedbacks from 7 different languages (sheets).
So in the same colomn A, I have "Yes, Oui, Ja, Si, No, Non, Nein...." answers.
The formula works fine for 1 language "=IF(A2="SI",1,0)" but do not know how to add the others..I would need number 1 to appear if it's an answers "Yes, Ja, Si, oui.. and a 0 if it's a "Non, No, Nain...".
Any idea how can I compile all of this in one formula please?
That would be much appreciated if you could help with this.
Thanks a lot,
Erin
if i5 is less then D5 value is zero and if D5 is greater then I5 value is D5 is show
=IF(I5<D5, 0, D5)
The formula will return 0 if I5<D5, and the value in D5 if I5>=D5. If you are looking for something different, please clarify.
I am doing an excel on monthly growth of values based on employees. Issue is some people start during the month and some quit. So I have some people with no value at the beginning of the month and other with no value at the end. I do not want those to show up as values.
A B C D
1 1/1/15 2/1/15 Growth Percentage
2 225,749 248,324 200,471 88.8%
3 420,284 420,284 0%
4 48,744 -48,744 0%
For D2, I did =IF(OR(A2="",B2=""),,(B2-A2)/ABS(A2)) which gives me the percentage of growth through the month and returns 0% if either is blank. Can I make column D actually be blank instead of showing 0%? Or, I want to show a total average growth at the bottom of column D without being penalized for all the 0%. If D5 was going to be the "average" cell, could I do =AVERAGE(D2:D4) but somehow tell it to not include the cells which have a value of 0%? Some people have a negative percentage and I need to include those.
Well that table got all messed up after submitting it. Column A is 1/1/15's value, column B is 2/1/15's value, column C is the growth from 1/1 to 2/1 and column D is the percentage that they grew (or dropped) over the month.
Hi Doug,
I would add "" to value_if_true to return an empty string if either A2 or B2 is blank.
=IF(OR(A2="",B2=""),"",(B2-A2)/ABS(A2))
I need help with a if statement formulae
The formula is:
=IF(H18='Booking Date Log'!$J$13:$J$1048576, "Not Available", "Available")
H18 contains a date e.g. 9/9/2015
$J13:$J$1048576 contains a range of dates e.g. 9/9/2015 9/10/2015 ....
True Value = "Not Available"
False Value = "Available"
what i need is that if H18 = any of these cells ($J13:$J$1048576) for it to come as "Not Available"
and if H18 doesnt = any of these cells ($J13:$J$1048576) for it to come as "Available"
Can this be done?
thanks
Fraz
I want to write a formula where if the value in a particular cell is less then 18 I want the cell to indicate the cost is $48 but if the value is greater than 18 then I want the value to be $48 plus the value greater than 18 (or the value +30)
if A10 < 18 then = $48.00 but if A10 < 18 then = (A10 + 30)
Can this be done?
Figured it out, thanks =IF(E225>19,E225+30,"$48.00")
I want to test the value of a portion of a cell. For example: The cell says Approved: 12345 where 12345 is a changing order number, the list has Declined and Refunded transactions as well. Is there a way to test only for the word Approved without consideration of the remaining data within the field?
Hello Krystalya,
You have to use ISNUMBER and SEARCH function for partial match, like this:
=IF(ISNUMBER(SEARCH("approved",A2)), "yes", "no")
Where A2 says "says Approved: 12345".
Please check out "Example 3. IF formula for text values with partial match" in this tutorial for full details.
Hello,
I have a workbook with multiple sheets. In column A, of sheet 1, is a list of names. I have been able to get those names to populate on sheet 2 and three using ;
=IF(INDIRECT("Sheet1!A" & ROWS($1:1))="","",INDIRECT("Sheet1!A" & ROWS($1:1)))
This works well to a point. What I would like to happen is when a name is deleted from column A, sheet 1, I would like the data in sheets 2 and three in the corresponding row to be deleted as well. i.e. if row 17 (A-L) on sheet 1 is deleted, then row 17 A-L) on sheets 2 and 3 will be deleted.
Thanks
There was a simple fix. Just group the sheets together. Adjust as nessasary. And then un group.
Hi Guys,
I am new to VBA. I need a VBA macro code that will convert HTML data into Text in my microsoft 2007 excel.
one column A contain n number of rows data with HTML data I want to run a macro so it can be convert to Text data in just near by column that is B.
Hi Svelana,
How are you today. I appreciate the time you're taking to help me with my problem. I'm sure all these individual questions can be burdensome. My question is:
I have the first 80 cells numbered 1-80 in sequence. I have this in every row as well, and then after that I have 20 columns each with a number 1-80. I wanna highlight one of the 1st 1-80 if one of the 20 cells has a number that matches it. Is this possible?
Thank you,
Hi Eddie,
Sorry, I am not sure I fully understand your data structure. If you could post your sample workbook on our forum, our support team will do their best to help.
Hi, I wanted to know how can I get numerical value for 18 and below and 46 and above
thanks