More Than 7 Nested If -Then - Else Through VBA
Dec 11, 2009
My objective is to replace a text string with a numeric variable. The string has text values such as US, Canada, Germany, France etc, There are about 15 such words in total. Each row will have a different one of the 15 text strings.
Each text string has a corresponding number, which I want to use in various formulas throughout the spreadsheet. The numbers are located on a separate worksheet (“Match Rate”), within the same workbook. I obtained the numbers from a formatted report, which I simply pasted into the second worksheet. Due to the complexity of the report, I can’t reformat the numbers to allow use of the VLOOKUP function.
I created the following function, but unfortunately it doesn’t work. Can you help, please?
I’d like to stay with a VBA solution, since a simple if/then sequence such as this is an excellent introduction to the powerful world of VBA... (it just doesn’t work, yet). I suspect the problem is in the calls to the Match Rate Worksheet.
View 11 Replies
ADVERTISEMENT
Jan 17, 2008
Ok. Here's what I'm trying to do. I have a drop down menu of certain providers located on cell F5. Each one charges different rates per day located on another sheet. Here's the kicker two of those providers charge different rates depending on the amount of days. Those two are UASC and CMA. For the First 5 days they charge one rate and after the 5 days they charge an increased rate.
I'm trying to have one cell located on the first sheet display this information with all the proper calculations. The below formula gives me a false value. I'm not even sure if it works. I know a little bit of excel through some intro courses in college but I'm not sure if a formula like this would work. I know laugh it up.... : ) but I'm not too saavy with formulas....
View 9 Replies
View Related
Jul 8, 2008
I have a total of 30 nested formulas that (ofcourse) dont work in excel.
Here is an example of the first 7 nested IFS
(1) IF(MID(A7,8,9)="GIR",INDEX('ERIS INPUT'!$C$2:$C$65536,MATCH(A7,IF(Reconciliatie!C$3:C$65536=C7,Reconciliatie!A$3:A$65536),0)),
(2) IF(MID(A7,8,9)="NL",INDEX('ERIS INPUT'!$C$2:$C$65536,MATCH(A7,IF(Reconciliatie!C$3:C$65536=C7,Reconciliatie!A$3:A$65536),0)),
(3) IF(MID(A7,8,9)="BE",INDEX('ERIS INPUT'!$C$2:$C$65536,MATCH(A7,IF(Reconciliatie!C$3:C$65536=C7,Reconciliatie!A$3:A$65536),0)),
(4) IF(MID(A7,8,9)="AT",INDEX('ERIS INPUT'!$C$2:$C$65536,MATCH(A7,IF(Reconciliatie!C$3:C$65536=C7,Reconciliatie!A$3:A$65536),0))
(5) IF(MID(A7,8,9)="DE",INDEX('ERIS INPUT'!$C$2:$C$65536,MATCH(A7,IF(Reconciliatie!C$3:C$65536=C7,Reconciliatie!A$3:A$65536),0))
(6) IF(MID(A7,8,9)="PH",INDEX('ERIS INPUT'!$C$2:$C$65536,MATCH(A7,IF(Reconciliatie!C$3:C$65536=C7,Reconciliatie!A$3:A$65536),0))
(7) IF(MID(A7,8,9)="AUBE",INDEX('ERIS INPUT'!$C$2:$C$65536,MATCH(A7,IF(Reconciliatie!C$3:C$65536=C7,Reconciliatie!A$3:A$65536),0))
I tried this code but it is not working.
Function LookupRetrieve(pVal As String) As Long
If pVal = "(MID(A7,8,9)="GIR" Then
LookupRetrieve = INDEX('ERIS INPUT'!$C$2:$C$65536,MATCH(A7,IF(Reconciliatie!
C$3:C$65536=C7,Reconciliatie!A$3:A$65536),0))
ElseIf pVal = "(MID(A7,8,9)="NL" Then
LookupRetrieve = INDEX('ERIS INPUT'!$C$2:$C$65536,MATCH(A7,IF(Reconciliatie!
C$3:C$65536=C7,Reconciliatie!A$3:A$65536),0))
ElseIf pVal = "(MID(A7,8,9)="BE" Then
LookupRetrieve = INDEX('ERIS INPUT'!$C$2:$C$65536,MATCH(A7,IF(Reconciliatie!
C$3:C$65536=C7,Reconciliatie!A$3:A$65536),0))
ElseIf pVal = "(MID(A7,8,9)="AT" Then
LookupRetrieve = INDEX('ERIS INPUT'!$C$2:$C$65536,MATCH(A7,IF(Reconciliatie!
C$3:C$65536=C7,Reconciliatie!A$3:A$65536),0))
ElseIf pVal = "(MID(A7,8,9)="DE" Then
LookupRetrieve = INDEX('ERIS INPUT'!$C$2:$C$65536,MATCH(A7,IF(Reconciliatie!
C$3:C$65536=C7,Reconciliatie!A$3:A$65536),0))
ElseIf pVal = "(MID(A7,8,9)="PH" Then
LookupRetrieve = INDEX('ERIS INPUT'!$C$2:$C$65536,MATCH(A7,IF(Reconciliatie!
C$3:C$65536=C7,Reconciliatie!A$3:A$65536),0))
ElseIf pVal = "(MID(A7,8,9)="AU" Then
LookupRetrieve = INDEX('ERIS INPUT'!$C$2:$C$65536,MATCH(A7,IF(Reconciliatie!
C$3:C$65536=C7,Reconciliatie!A$3:A$65536),0))
Else
LookupRetrieve = "isingcode missing"
End If
End Function
The formula is a vlookup formula (Index/Match but with multiple criterias such as the use of Mid).
I tried Concatenate but the formula is too long and has a lot of characters and VBA seems better.
View 9 Replies
View Related
Dec 7, 2009
I'm building a macro and need to know how to add a nested if-then statement. I need to create a formula in a new column whose value extends to the last row of the database. My base formula is sumproduct(--((A2:A:last row which I need to calculate&B1:B same thing)=A2&A2))
View 9 Replies
View Related
Mar 20, 2014
I am trying to make this work. VLOOKUP (B2,"lookup tables'!$A$4:$A$11, if(D2'="ST" 'lookup tables!$C$4:$E$11.
I am attaching the file : MDCC Reservations.xlsx
I am trying to get the Daily room charge.
View 5 Replies
View Related
Jun 30, 2014
I am trying to write a formula that will satisfy the following:
C1 and G1 are number values.
IF (cell E1 does not contain any text) AND (G1-C1-12.5>=0), then output (G1-C1-12.5), otherwise output nothing (""). BUT, IF (cell E1 DOES contain text) AND (G1-C1-13>=0), then output (G1-C1-13), otherwise output nothing.
View 2 Replies
View Related
Nov 7, 2007
Level RatingA RatingB RatingC Low Medium High
2 x x x x x x
3 x x x x x x
4 x x x x x x
5 x x x x x x
I need to be able to do nested loops. I want to have a criteria that if a person is in LEVEL 2 and RATINGC and HIGH, then take the value under that.
View 9 Replies
View Related
Aug 5, 2009
Im needing to achieve what an 11 argument nested if would manage, ie: ...
View 2 Replies
View Related
Sep 24, 2009
I'm trying to build this formula and I'm only half way through it and it already isn't working.
Column D - can be 1, 2, 3, or 4
Column E - can be any number
If column D is 1 or 3, then the VLOOKUP should look up column E and point to the answer in column 4 on another worksheet (Companies in this case). If column D is 2 or 5, then the VLOOKUP should look up column E and point to the answer in column 5 on another worksheet (Companies in this case). This is what I have so far, just trying to get it to recognize if it is a 1 or 2:
=IF(OR(D2=1,VLOOKUP(E2,Companies!A:G,4)),IF(D2=2,VLOOKUP(E2,Companies!A:G,5)))
What is making this not work? I'm getting a false. But before I added the OR, it worked for the D2=1.
View 3 Replies
View Related
Oct 30, 2009
I'm hoping someone can help me sort this out. I have a formula I need te determine if a TAT was 'met' or 'missed' and it has multiple criteria. Here is the formula I am trying to get to work:
=IF(AND(I2="Amendments",F2<=3,IF(AND(I2="Renewals",F2<=1,OR(D2<=G2)))),"Met",IF(F2="n/a","n/a","Missed"))
I've been able to get separate pieces of the formula to work correctly, example:
=IF(AND(F2<>"n/a",I2="Amendments",F2<=3,OR(D2<=G2)),"Met",IF(F2="n/a","n/a","Missed"))
but when I try to combine everything into one string I can not get it to work.
View 10 Replies
View Related
Aug 11, 2009
I seem to be having trouble creating a nested loop. It seemed simple enough in my brain holder, however, in real life...Well I am here aren't I. Here is my
View 2 Replies
View Related
Dec 1, 2005
I am trying to create a nested IF function (has 5 IF statements), however,
every time I put the brackets at the end of the function, it puts a little .
next to the false answer, removes the brackets and comes up with an error
message?
This is only happening on one particular PC, when I create the same formula
on other pC's, it works fine so I know my formula is correct.
is there a setting on the PC that must be wrong?
View 14 Replies
View Related
Dec 22, 2005
I am trying to write a function such that the data returned to a given cell
will vary depending upon the data entered into another cell. For example:
If A1= 105, then G1=20; if A1=106, then G1=15
I have more variables for A1 than 7, so I don't think that nested if...then
statements would work. Can I do this using VLOOKUP?
View 10 Replies
View Related
Feb 6, 2009
I have a simple Staff Rote which is fed by data on Time Sheet. Currently it is working ok with two definitions;
T : Time
B: Break
If I introduce a 3rd and 4th definition like;
A: Leave
X:non working day
formule will get even more complicated.
Is there a way of simpifying this with a code and introducing the new definitions.
View 11 Replies
View Related
Feb 20, 2009
I have a rather large formula that I put together and it's shown in column 'C' in the small sample file I have attached. I'd like to add one more criteria such that I avoid duplicate solutions in column 'C'. i.e. I only want the first occurrence of a group.
The formula works fine 'bucketing' the first entry. If I have an solution in C I want the formula to not give me another answer if the cell immediately above has an answer. In other words, rows 11 and 15 would be blank because rows 10 and 14 have an answer.
I've tried inserting another criteria in the AND statement, like ISBLANK for the cell above, but I can't get it to work. What am I doing wrong, OR is there a simpler solution?
View 2 Replies
View Related
Feb 22, 2009
I have an assignment in which I have to use nested, IF, AND and OR functions. Does anyone know the syntax for this kind of function? Basically I have to determine leave time based on years of service and whether the employee is full time or part time. Part-time with less than 1.5 years of service = 0 days of leave Part-time over 1.5 and full-time under 1year = 3 days of leave and full time over 1 year = 5 days of leave. I know how to do a nested function, but I have not worked with both an AND and OR together.
View 10 Replies
View Related
May 7, 2009
IF/OR function below is not working
=IF((OR(B14=1,2,3,12,15,16)),"A",IF(OR(B14=4,5,6,7,8,9,10,11,13,14,21,40,41,42,43,44,45,46,47,50,51, 52,53,54,55,56,59,60),"B",IF(OR(B14=20,30,57,58),"C",IF(OR(B14=33,31,32,34,35,22),"E F OR G",IF(OR(B14=36),G,"ERROR")))))
View 4 Replies
View Related
Jul 25, 2009
Im using nested if to compare one value and if its true it should count the values in the specified column. I tried this formula...
COUNT(IF($C$8:$C$1000="Defect", IF($J$8:$J$1000 <>"Ignored",$A$8:$A$1000,""),""))
Im checking whether its a defect and if its defect thenchecking the status whether it is ignored if so im counitng the number of defects by counting s.no in column A.
View 2 Replies
View Related
Mar 31, 2013
I have the following formula in a spreadsheet:
PHP Code:
=IF(A6=Controls!$B$3,IF(AD6="CLEAR","CLEAR",IF(AND($AB$5>="5",$AB$5<="6",MyB!$J$2=0,$AA$5="0:0"),"BACK",
IF(AND($AB$5>="10",$AB$5<="11",MyB!$J$2=1,$AA$5="0:0"),"BACK",
IF(AND($AB$5>="15",$AB$5<="16",MyB!$J$2=2,$AA$5="0:0"),"BACK",
IF(AND($AB$5>="20",$AB$5<="21",MyB!$J$2=3,$AA$5="0:0"),"BACK",IF(OR($AA$5<>"0:0",$AC$5="HT"),"LAY")))))),"")Â
I am trying to amend the final IF to the following but cannot integrate it correctly.
PHP Code:
=IF(AND(AE6="SETTLED",OR($AA$5<>"0:0",$AC$5="HT")),"LAY")Â
View 6 Replies
View Related
Feb 17, 2007
I think its something simple I'm missing here. I have a range of stock prices (Range("E3,E4,E5,E6")) what I'm trying to do is use for each next loop to calculate the number of shares that I could trade. and place those shares in a range of cells adjacent to its corresponding price (Range("G3,G4,G5,G6")). I think the problem is in my loop statements but I can't seem to find it . Could someone kindly show me the error in my ways.
Code: ...
View 9 Replies
View Related
Mar 16, 2007
I searched on this and didn't find what I was looking for. I want to count entries that have critieria I specify in two different ranges. Is countif the way to do this?
View 9 Replies
View Related
Sep 19, 2007
I was creating a formula in excel yesterday that used nested IF's but I soon found out that the maximum number you can use is 7. So I did a bit of digging and found out that I would be better of using a Select Case in VB.
What I want to do is this:
=IF((SEARCH("case1",A1)),"text1",IF((SEARCH("case2",A1)),"text2",IF((SEARCH("case3",A1)),"text",...etc until I have listed every possible case and I want to do this for a range of cells A1:A1000 or however many entries I have.
I am assuming I would have to use code similar to the solution in this thread:
[url]
The only thing is I cannot translate this to what I am doing. Do I need to write a loop to go through the entire range of cells I want to check? How do I determine if a specific string is contained within a cell? Once the macro is written do I refer to it from a cell or run it from within the macro menu? Please bear with me as I am new to this and have not coded in VB since school.
View 9 Replies
View Related
Jul 1, 2008
I have more than seven if statements but don't know how to connect them.
works
=IF(C2=$A$2,13,IF(C2=$A$3,7,IF(C2=$A$4,5,0)))works
IF(C2=$A$4,,IF(C2=$A$5,3,IF(C2=$A$6,3,IF(C2=$A$7,3,IF(C2=$A$8,3,IF(C2=$A$9,3,IF(C2=$A$10,3,IF(C2=$A$11,3,0))))))))can these be connected? they work for me separately but not all in one.
I've tried Named but that doesn't work because there are way too many things I need to do w/ it.
View 9 Replies
View Related
Sep 16, 2008
I've tried various ways of nesting the SUMIF function within itself but just get error messages. Is a nested SUMIF possible? What's the format?
View 9 Replies
View Related
Sep 17, 2008
I have used this board quite a bit, however I never have registered an account with mrexcel. Ive tried searching the internet and your forums for help with this issue and have not had a success getting the results I am looking.
What I am trying to do is get an AVERAGE from cellAD only IF cellW is with in a certain month, AND if Cell U has a certain name (lets call it trainer for now)
and if its possible (would really help) to also include :
AND IF cellV is Course name X
View 9 Replies
View Related
Jan 11, 2009
I want to get the result in D1 cell. In A1 Pay Amount, B1 Date of increment, C1 Pay month is written. I want D1 to be filled with new Pay. I change B1 looking at one's date of increment. Initially, the Pay is 10000 to be put in D1(as is done). But, if B1 cell is changed, then 3% of A1 should be added to that particular month every year for 12 months. E.g. if I change B1 to 01/05/06, then till D4, pay should be 10000 and in D5 pay should be 10300 for the next 12 months and again 3% of 10300 for the next 12 months i.e a change of Pay should be in D17, D29 and so on. As because, in the nest IF condition, 7 IFs are available, how best can I solve this? Is it possible in Excel?
A B C D
10000 01/01/06 01/01/06 10000
01/02/06 10000
01/03/06 10000
01/04/06 10000
01/05/06 10300
01/06/06 10300
---
---
01/12/06 10300
01/01/07 10300
01/02/07 10300.................
View 9 Replies
View Related
Sep 17, 2009
=IF(C2="Windows",B2,IF((AND(A2=A3,C3="Windows")),B3,IF((AND(A3=A4,C4="Windows")),B4,IF((AND(A4=A5,C5="Windows")),B5,IF((AND(A5=A6,C6="Windows")),B6,IF((AND(A6=A7,C7="Windows")),B7,IF((AND(A7=A8,C8="Windows")),B8,"None")))))))Here is a link to the spreadsheet (D2 being the formula cell):
http://img199.imageshack.us/img199/8500/29072008.jpg
Basically, I am trying to put the columns data (if it has a porch, conservatory, windows) into one row for the contract number, as the dump which I have, is giving me seperate row's instead of one.
I am trying to get the formula to check if the contract number matches on the following row, and if it does, to check if the Product Description matches the header of that row (if it's a window, conservatory) if so, copy the quantity cell into D1, however, it's copying it even if the contract numbers do not match and I do not know where I am going wrong!!
View 9 Replies
View Related
Jan 12, 2010
I cannot get the following nested IF statements to work and get the "Else without If" error for the first Else If statement. I had assumed the first "If" would apply to this
Private Sub ReconcileNow()
If txtTValue = "" Then
Exit Sub
End If
View 9 Replies
View Related
Aug 20, 2008
I recently came across a spreadsheet an ex-employee wrote with an interesting IF-AND statement in it. The only way I've ever written one is:
=IF(AND(something=1, somethingelse>2), do something)
His statement was written in the following manner:
=IF(something=1*AND(somethingelse>2), do something, if(thing3>1*AND(thing4>1), do something)
View 9 Replies
View Related
Jul 6, 2006
I am having trouble using an if statement with a vlookup.
The first calculation i am trying to do is calculate the cost of storage for the product, each product (3 of them) has it's own charging matrix which i have turned into a table on another sheet and therefore want to use the vlookup to return the correct values (meaning that i can change the underlying table and not have to change the formula each time a price change occurs), the sheet calculates the dwell time between entering and leaving, if dwell time is less than 7 days the charge is the number of days * products <7 days rate, if it is >7days then the charge is 7 days at the products lower rate and then the balance at the higher rate. I have a formula that is a longwinded way of calculating it for one size only but would like to add vloopup so that dependent on the units size the storage is calculated.
I have attached a sheet as an example, you will see the data table is quite large and as we consume extra services i plan to use a tick box to indicate use and then add this to a running subtotal again through an if and vlookup.
View 9 Replies
View Related