Error with formula trying to use IF(AND with three conditions - excel-formula

I am trying to write a formula to evaluate all possible values in three cells and score them in another. Excel says that there is a problem with my formula, but I can't locate it. Your help is appreciated.
I am using IF(AND throughout my spreadsheet, but only with two values. Those formulas are accepted by Excel.
=IF(AND(B2="No",B3="Red",B5="No"),0,
IF(AND(B2="No",B3="Green",B5="No",2,
IF(AND(B2="No",B3="Blue",B5="No",3,
IF(AND(B2="No",B3="Yellow",B5="No",5,5,
IF(AND(B2="No",B3="Red",B5="Yes"),0,
IF(AND(B2="No",B3="Green",B5="Yes"),2,
IF(AND(B2="No",B3="Blue",B5="Yes",3,
IF(AND(B2="No",B3="Yellow",B5="Yes",5,
IF(AND(B2="Yes",B3="Red",B5="Yes",0,
IF(AND(B2="Yes",B3="Green",B5="Yes",1,
IF(AND(B2="Yes",B3="Blue",B5="Yes",2,
IF(AND(B2="Yes",B3="Yellow",B5="Yes",5,
IF(AND(B2="Yes",B3="Red",B5="No",0,
IF(AND(B2="Yes",B3="Green",B5="No",1,
IF(AND(B2="Yes",B3="Blue",B5="No",2,
IF(AND(B2="Yes",B3="Yellow",B5="No",3))))))))))))))))
Excel states "There is a problem with this formula".

You had a 5,5 where you should have had a 5 and where missing many ) to close the ANDs
=IF(AND(B2="No",B3="Red",B5="No"),0,
IF(AND(B2="No",B3="Green",B5="No"),2,
IF(AND(B2="No",B3="Blue",B5="No"),3,
IF(AND(B2="No",B3="Yellow",B5="No"),5,
IF(AND(B2="No",B3="Red",B5="Yes"),0,
IF(AND(B2="No",B3="Green",B5="Yes"),2,
IF(AND(B2="No",B3="Blue",B5="Yes"),3,
IF(AND(B2="No",B3="Yellow",B5="Yes"),5,
IF(AND(B2="Yes",B3="Red",B5="Yes"),0,
IF(AND(B2="Yes",B3="Green",B5="Yes"),1,
IF(AND(B2="Yes",B3="Blue",B5="Yes"),2,
IF(AND(B2="Yes",B3="Yellow",B5="Yes"),5,
IF(AND(B2="Yes",B3="Red",B5="No"),0,
IF(AND(B2="Yes",B3="Green",B5="No"),1,
IF(AND(B2="Yes",B3="Blue",B5="No"),2,
IF(AND(B2="Yes",B3="Yellow",B5="No"),3,""))))))))))))))))
But I think you can do this with a simpler formula:
=IFERROR(IF(B2 = "No",CHOOSE(MATCH(B3,{"Red","Green","Blue","Yellow"},0),0,2,3,5),IF(B5="Yes",CHOOSE(MATCH(B3,{"Red","Green","Blue","Yellow"},0),0,1,2,5),CHOOSE(MATCH(B3,{"Red","Green","Blue","Yellow"},0),0,1,2,3))),"")

You could put your logic in string form in one cell (say, F1):
0NOREDNO 2NOGREENNO 3NOBLUENO 5NOYELLOWNO 0NOREDYES 2NOGREENYES 3NOBLUEYES 5NOYELLOWYES 0YESREDYES 1YESGREENYES 2YESBLUEYES 5YESYELLOWYES 0YESREDNO 1YESGREENNO 2YESBLUENO 3YESYELLOWNO
Then your code reduces to:
=MID(F1, FIND(UPPER(B2&B3&B5),F1)-1, 1)
This would also make it extremely easy to add more conditions in the future.

Try this:
=IF(B3="Red",0,
IF(B3="Green",
IF(B2="Yes",1,
IF(B2="No",2,NA())),
IF(B3="Blue",
IF(B2="Yes",2,
IF(B2="No",3,NA())),
IF(B3="Yellow",
IF(AND(B2="Yes",B5="No"),3,5),
NA()))))
Hope that helps

Related

Combining 6 IF formulas

I've written 6 different IF formulas, each will identify a freight carrier based on the tracking number found in cell BM71.
For the life of me I cannot figure out how to combine these, any help would be appreciated.
=IF(AND(LEN(BM71)=18,LEFT(BM71,2)="1Z"), "UPS", "")
=IF(AND(LEN(BM71)=12,ISNUMBER(BM71)),"FedEx","")
=IF(AND(LEN(BM71)=10,ISNUMBER(BM71)),"DHL","")
=IF(AND(LEN(BM71)=11,LEFT(BM71,2)="06"), "Old Dominion", "")
=IF(AND(LEN(BM71)=9,LEFT(BM71,2)="00"), "Arcbest", "")
=IF(AND(LEN(BM71)=10,LEFT(BM71,2)="00"), "Averitt", "")
With ifS function it gets more clean:
=IFs(AND(LEN(BM71)=18,LEFT(BM71,2)="1Z"), "UPS",
AND(LEN(BM71)=12,ISNUMBER(BM71)),"FedEx",
AND(LEN(BM71)=10,ISNUMBER(BM71)),"DHL",
AND(LEN(BM71)=11,LEFT(BM71,2)="06"), "Old Dominion",
AND(LEN(BM71)=9,LEFT(BM71,2)="00"), "Arcbest",
AND(LEN(BM71)=10,LEFT(BM71,2)="00"), "Averitt",
True,"")
You just add a new IF in the False part. Like this:
=IF(AND(LEN(BM71)=18,LEFT(BM71,2)="1Z"), "UPS",
IF(AND(LEN(BM71)=12,ISNUMBER(BM71)),"FedEx",
IF(AND(LEN(BM71)=10,ISNUMBER(BM71)),"DHL",
IF(AND(LEN(BM71)=11,LEFT(BM71,2)="06"), "Old Dominion",
IF(AND(LEN(BM71)=9,LEFT(BM71,2)="00"), "Arcbest",
IF(AND(LEN(BM71)=10,LEFT(BM71,2)="00"), "Averitt", ""))))))
No love for LET?
Something like:
=LET(x,BM71,l,LEN(x),b,ISNUMBER(x),s,LEFT(x,2),IFS(
(l=18)*(s="1Z"),"UPS",
(l=12)*b,"FedEx",
(l=10)*b,"DHL",
(l=11)*(s="06"),"Old Dominion",
(l=9)*(s="00"),"Arcbest",
(l=10)*(s="00"),"Averitt"))
If nothing else it cuts down the formula length, and the function only takes one input cell reference (rather than 12 ...).
EDIT: Though if it were me (as other comments have mentioned) I would use this:
=LET(x,BM71,l,LEN(x),b,ISNUMBER(x),s,LEFT(x,2),c,IFS(
(l=18)*(s="1Z"),1,
(l=12)*b,2,
(l=10)*b,3,
(l=11)*(s="06"),4,
(l=9)*(s="00"),5,
(l=10)*(s="00"),6,
TRUE,7),INDEX(Carriers,c) )
With the range named Carriers holding the list of carriers, with a blank in the last row. Makes it easier to change a carrier name and you keep the list in one place which can be re-used by other formulas. (But then I am a devotee of the Third Normal Form ...)
You can add next one instead of "" of previous formula
=IF(AND(LEN(BM71)=18,LEFT(BM71,2)="1Z"), "UPS", IF(AND(LEN(BM71)=12,ISNUMBER(BM71)),"FedEx",IF(AND(LEN(BM71)=10,ISNUMBER(BM71)),"DHL",IF(AND(LEN(BM71)=11,LEFT(BM71,2)="06"), "Old Dominion", IF(AND(LEN(BM71)=9,LEFT(BM71,2)="00"), "Arcbest", IF(AND(LEN(BM71)=10,LEFT(BM71,2)="00"), "Averitt", ""))))))
However you approach to define something based on length and some chars is not stable
I hope I could help you

2 nest if with different source data excel

I have 2 data sources and i want to lookup data using Vlookup by using unique ID,
1st data source will show "X" if the ID locate there,
2nd data source will show "Y" if the ID locate there,
the other responses of ID lookup will show nothing ""
Data source 1:
20000543
10056577
10032255
10008287
10011657
10008119
10008212
10007880
10052842
10007959
10062445
10011361
10008079
10008836
10007792
10052651
10007793
10047404
10007913
10007528
10008252
10007388
10007311
10057445
10036263
20004767
20004010
20001276
20010704
10039655
10062427
20010703
10048331
Data source 2:
20003695
20010673
10011463
10021645
10007439
20001123
10008276
10055885
10007718
10007587
10007364
10055257
10007651
10056216
10054797
10052500
10059984
10027674
10010153
10007808
10008182
10007763
10007428
10008102
10050130
10037579
10021909
10009539
10057979
I want to lookup value by using ID "10008102" which is locate in Data source 2 than it will show "Y" for final result,
How can I achieve this?
Much appreciate that.
Thank you
Please don't kill me for the overkill, but I came up with this:
=IF(IFNA(MATCH(A1,Sheet2!A$1:A$29,0),"N")="N","N","Y")
The story:
Match(...,...,0) searches for an exact match (hence the zero).
you need to look for a relative reference, like A1 (without dollarsigns), so that you can drag down and use another cell reference at any time
you need to look inside a fix array, like A$1:A$29, so that, when you drag down, you don't modify the array you're looking in.
Match() either gives a number or an #N/A error in case not found.
IFNA() translates #N/A to "N" (but there's no else-case in IFNA())
IF() has an else-case.
I'm inviting Excel wizards to come up with a simpler solution :-)
Do you possibly want to account for the value existing in both or none of the columns?
=IF(AND(COUNTIF(A:A,E2)>0,COUNTIF(B:B;E2)>0),"X&Y",
IF(COUNTIF(A:A,E2)>0,"X",
IF(COUNTIF(B:B,E2)>0,"Y",
"NONE")))

Excel IF(AND) Statements

I have set up a betting worksheet with filters for date start / end, bet type, tipper, sports, leagues and variable.
The issue have that when I come create a formula referencing all of these filters, I get the "You've entered too many arguments in this function." error.
Before adding the Leagues filter, I started off with just date start / end, bet type, tipper, sports and variable filters and I had this formula which was working fine:
=IF(H12<>"",
IF(AND(FILT_D=1,FILT_T=1,FILT_B=1,FILT_C=1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P"),
IF(AND(FILT_D>1,FILT_T=1,FILT_B=1,FILT_C=1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",BET_DATE,">="&DATE(OFFSET(BA$11,FILT_YS,0),FILT_MS,FILT_DS),BET_DATE,"<="&DATE(OFFSET(BA$11,FILT_YE,0),FILT_ME,FILT_DE)),
IF(AND(FILT_D=1,FILT_T>1,FILT_B=1,FILT_C=1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",CAPPER,OFFSET(AX$10,FILT_T,0)),
IF(AND(FILT_D=1,FILT_T=1,FILT_B>1,FILT_C=1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",BET_TYPE,OFFSET(AW$10,FILT_B,0)),
IF(AND(FILT_D=1,FILT_T=1,FILT_B=1,FILT_C>1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",CUSTOM,OFFSET(AY$10,FILT_C,0)),
IF(AND(FILT_D>1,FILT_T>1,FILT_B=1,FILT_C=1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",BET_DATE,">="&DATE(OFFSET(BA$11,FILT_YS,0),FILT_MS,FILT_DS),BET_DATE,"<="&DATE(OFFSET(BA$11,FILT_YE,0),FILT_ME,FILT_DE),CAPPER,OFFSET(AX$10,FILT_T,0)),
IF(AND(FILT_D>1,FILT_T=1,FILT_B>1,FILT_C=1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",BET_DATE,">="&DATE(OFFSET(BA$11,FILT_YS,0),FILT_MS,FILT_DS),BET_DATE,"<="&DATE(OFFSET(BA$11,FILT_YE,0),FILT_ME,FILT_DE),BET_TYPE,OFFSET(AW$10,FILT_B,0)),
IF(AND(FILT_D>1,FILT_T=1,FILT_B=1,FILT_C>1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",BET_DATE,">="&DATE(OFFSET(BA$11,FILT_YS,0),FILT_MS,FILT_DS),BET_DATE,"<="&DATE(OFFSET(BA$11,FILT_YE,0),FILT_ME,FILT_DE),CUSTOM,OFFSET(AY$10,FILT_C,0)),
IF(AND(FILT_D=1,FILT_T>1,FILT_B>1,FILT_C=1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",CAPPER,OFFSET(AX$10,FILT_T,0),BET_TYPE,OFFSET(AW$10,FILT_B,0)),
IF(AND(FILT_D=1,FILT_T>1,FILT_B=1,FILT_C>1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",CAPPER,OFFSET(AX$10,FILT_T,0),CUSTOM,OFFSET(AY$10,FILT_C,0)),
IF(AND(FILT_D=1,FILT_T=1,FILT_B>1,FILT_C>1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",BET_TYPE,OFFSET(AW$10,FILT_B,0),CUSTOM,OFFSET(AY$10,FILT_C,0)),
IF(AND(FILT_D>1,FILT_T>1,FILT_B>1,FILT_C=1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",BET_DATE,">="&DATE(OFFSET(BA$11,FILT_YS,0),FILT_MS,FILT_DS),BET_DATE,"<="&DATE(OFFSET(BA$11,FILT_YE,0),FILT_ME,FILT_DE),CAPPER,OFFSET(AX$10,FILT_T,0),BET_TYPE,OFFSET(AW$10,FILT_B,0)),
IF(AND(FILT_D=1,FILT_T>1,FILT_B>1,FILT_C>1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",CAPPER,OFFSET(AX$10,FILT_T,0),BET_TYPE,OFFSET(AW$10,FILT_B,0),CUSTOM,OFFSET(AY$10,FILT_C,0)),
IF(AND(FILT_D>1,FILT_T=1,FILT_B>1,FILT_C>1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",BET_DATE,">="&DATE(OFFSET(BA$11,FILT_YS,0),FILT_MS,FILT_DS),BET_DATE,"<="&DATE(OFFSET(BA$11,FILT_YE,0),FILT_ME,FILT_DE),BET_TYPE,OFFSET(AW$10,FILT_B,0),CUSTOM,OFFSET(AY$10,FILT_C,0)),
IF(AND(FILT_D>1,FILT_T>1,FILT_B=1,FILT_C>1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",BET_DATE,">="&DATE(OFFSET(BA$11,FILT_YS,0),FILT_MS,FILT_DS),BET_DATE,"<="&DATE(OFFSET(BA$11,FILT_YE,0),FILT_ME,FILT_DE),CAPPER,OFFSET(AX$10,FILT_T,0),CUSTOM,OFFSET(AY$10,FILT_C,0)),
IF(AND(FILT_D>1,FILT_T>1,FILT_B>1,FILT_C>1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",BET_DATE,">="&DATE(OFFSET(BA$11,FILT_YS,0),FILT_MS,FILT_DS),BET_DATE,"<="&DATE(OFFSET(BA$11,FILT_YE,0),FILT_ME,FILT_DE),CAPPER,OFFSET(AX$10,FILT_T,0),BET_TYPE,OFFSET(AW$10,FILT_B,0),CUSTOM,OFFSET(AY$10,FILT_C,0)),
"")))))))))))))))),
"")
I then added a league filter into the mix and got the error. This is the amended formula containing the league filter (FILT_T).
=IF(P12<>"",
IF(AND(FILT_D=1,FILT_T=1,FILT_B=1,FILT_C=1,FILT_L=1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P"),
IF(AND(FILT_D>1,FILT_T=1,FILT_B=1,FILT_C=1,FILT_L=1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",BET_DATE,">="&DATE(OFFSET(BA$11,FILT_YS,0),FILT_MS,FILT_DS),BET_DATE,"<="&DATE(OFFSET(BA$11,FILT_YE,0),FILT_ME,FILT_DE)),
IF(AND(FILT_D=1,FILT_T>1,FILT_B=1,FILT_C=1,FILT_L=1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",CAPPER,OFFSET(AX$10,FILT_T,0)),
IF(AND(FILT_D=1,FILT_T=1,FILT_B>1,FILT_C=1,FILT_L=1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",BET_TYPE,OFFSET(AW$10,FILT_B,0)),
IF(AND(FILT_D=1,FILT_T=1,FILT_B=1,FILT_C>1,FILT_L=1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",CUSTOM,OFFSET(AY$10,FILT_C,0)),
IF(AND(FILT_D=1,FILT_T=1,FILT_B=1,FILT_C=1,FILT_L>1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",LEAGUES,OFFSET(AZ$10,FILT_L,0)),
IF(AND(FILT_D>1,FILT_T>1,FILT_B=1,FILT_C=1,FILT_L=1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",BET_DATE,">="&DATE(OFFSET(BA$11,FILT_YS,0),FILT_MS,FILT_DS),BET_DATE,"<="&DATE(OFFSET(BA$11,FILT_YE,0),FILT_ME,FILT_DE),CAPPER,OFFSET(AX$10,FILT_T,0)),
IF(AND(FILT_D>1,FILT_T=1,FILT_B>1,FILT_C=1,FILT_L=1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",BET_DATE,">="&DATE(OFFSET(BA$11,FILT_YS,0),FILT_MS,FILT_DS),BET_DATE,"<="&DATE(OFFSET(BA$11,FILT_YE,0),FILT_ME,FILT_DE),BET_TYPE,OFFSET(AW$10,FILT_B,0)),
IF(AND(FILT_D>1,FILT_T=1,FILT_B=1,FILT_C>1,FILT_L=1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",BET_DATE,">="&DATE(OFFSET(BA$11,FILT_YS,0),FILT_MS,FILT_DS),BET_DATE,"<="&DATE(OFFSET(BA$11,FILT_YE,0),FILT_ME,FILT_DE),CUSTOM,OFFSET(AY$10,FILT_C,0)),
IF(AND(FILT_D>1,FILT_T=1,FILT_B=1,FILT_C=1,FILT_L>1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",BET_DATE,">="&DATE(OFFSET(BA$11,FILT_YS,0),FILT_MS,FILT_DS),BET_DATE,"<="&DATE(OFFSET(BA$11,FILT_YE,0),FILT_ME,FILT_DE),LEAGUES,OFFSET(AZ$10,FILT_L,0)),
IF(AND(FILT_D=1,FILT_T>1,FILT_B>1,FILT_C=1,FILT_L=1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",CAPPER,OFFSET(AX$10,FILT_T,0),BET_TYPE,OFFSET(AW$10,FILT_B,0)),
IF(AND(FILT_D=1,FILT_T>1,FILT_B=1,FILT_C>1,FILT_L=1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",CAPPER,OFFSET(AX$10,FILT_T,0),CUSTOM,OFFSET(AY$10,FILT_C,0)),
IF(AND(FILT_D=1,FILT_T>1,FILT_B=1,FILT_C=1,FILT_L>1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",CAPPER,OFFSET(AX$10,FILT_T,0),LEAGUES,OFFSET(AZ$10,FILT_L,0)),
IF(AND(FILT_D=1,FILT_T=1,FILT_B>1,FILT_C>1,FILT_L=1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",BET_TYPE,OFFSET(AW$10,FILT_B,0),CUSTOM,OFFSET(AY$10,FILT_C,0)),
IF(AND(FILT_D=1,FILT_T=1,FILT_B>1,FILT_C=1,FILT_L>1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",BET_TYPE,OFFSET(AW$10,FILT_B,0),LEAGUES,OFFSET(AZ$10,FILT_L,0)),
IF(AND(FILT_D>1,FILT_T>1,FILT_B>1,FILT_C=1,FILT_L=1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",BET_DATE,">="&DATE(OFFSET(BA$11,FILT_YS,0),FILT_MS,FILT_DS),BET_DATE,"<="&DATE(OFFSET(BA$11,FILT_YE,0),FILT_ME,FILT_DE),CAPPER,OFFSET(AX$10,FILT_T,0),BET_TYPE,OFFSET(AW$10,FILT_B,0)),
IF(AND(FILT_D=1,FILT_T>1,FILT_B>1,FILT_C>1,FILT_L=1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",CAPPER,OFFSET(AX$10,FILT_T,0),BET_TYPE,OFFSET(AW$10,FILT_B,0),CUSTOM,OFFSET(AY$10,FILT_C,0)),
IF(AND(FILT_D=1,FILT_T=1,FILT_B>1,FILT_C>1,FILT_L>1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",BET_TYPE,OFFSET(AW$10,FILT_B,0),CUSTOM,OFFSET(AY$10,FILT_C,0),LEAGUES,OFFSET(AZ$10,FILT_L,0)),
IF(AND(FILT_D>1,FILT_T=1,FILT_B>1,FILT_C>1,FILT_L=1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",BET_DATE,">="&DATE(OFFSET(BA$11,FILT_YS,0),FILT_MS,FILT_DS),BET_DATE,"<="&DATE(OFFSET(BA$11,FILT_YE,0),FILT_ME,FILT_DE),BET_TYPE,OFFSET(AW$10,FILT_B,0),CUSTOM,OFFSET(AY$10,FILT_C,0)),
IF(AND(FILT_D>1,FILT_T=1,FILT_B>1,FILT_C>1,FILT_L>1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",BET_DATE,">="&DATE(OFFSET(BA$11,FILT_YS,0),FILT_MS,FILT_DS),BET_DATE,"<="&DATE(OFFSET(BA$11,FILT_YE,0),FILT_ME,FILT_DE),BET_TYPE,OFFSET(AW$10,FILT_B,0),CUSTOM,OFFSET(AY$10,FILT_C,0),LEAGUES,OFFSET(AZ$10,FILT_L,0)),
IF(AND(FILT_D>1,FILT_T>1,FILT_B=1,FILT_C>1,FILT_L=1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",BET_DATE,">="&DATE(OFFSET(BA$11,FILT_YS,0),FILT_MS,FILT_DS),BET_DATE,"<="&DATE(OFFSET(BA$11,FILT_YE,0),FILT_ME,FILT_DE),CAPPER,OFFSET(AX$10,FILT_T,0),CUSTOM,OFFSET(AY$10,FILT_C,0)),
IF(AND(FILT_D>1,FILT_T>1,FILT_B=1,FILT_C>1,FILT_L>1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",BET_DATE,">="&DATE(OFFSET(BA$11,FILT_YS,0),FILT_MS,FILT_DS),BET_DATE,"<="&DATE(OFFSET(BA$11,FILT_YE,0),FILT_ME,FILT_DE),CAPPER,OFFSET(AX$10,FILT_T,0),CUSTOM,OFFSET(AY$10,FILT_C,0),LEAGUES,OFFSET(AZ$10,FILT_L,0)),
IF(AND(FILT_D>1,FILT_T>1,FILT_B>1,FILT_C>1,FILT_L>1),SUMIFS(AT_RISK,SPORT,H12,WIN,"<>P",BET_DATE,">="&DATE(OFFSET(BA$11,FILT_YS,0),FILT_MS,FILT_DS),BET_DATE,"<="&DATE(OFFSET(BA$11,FILT_YE,0),FILT_ME,FILT_DE),CAPPER,OFFSET(AX$10,FILT_T,0),BET_TYPE,OFFSET(AW$10,FILT_B,0),CUSTOM,OFFSET(AY$10,FILT_C,0),LEAGUES,OFFSET(AZ$10,FILT_L,0)),
"")))))))))))))))))))))),
"")
Can anyone shed light on what I'm doing wrong?
You can only have a maximum of 255 cell referenced or indeed numbers referred to in a formula. The following has 255 ones and it works fine, adding an additional one will give you the error
=IF(AND(1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1);"t";"f")

nested ifs with multiple sumifs based on changing criteria

I am having trouble with this formula and would like to know if I am even building it in the correct order or how i can change it to get the desired result. Getting formula missing an opening or closing parenthesis error:
=IF(BH2="PPD TO FSC",SUMIFS('ALL BIDS'!R:R,'ALL BIDS'!D:D,BV2,'ALL BIDS'!E:E,I2,'ALL BIDS'!W:W,'DC TOOL'!U2,'ALL BIDS'!G:G,'DC TOOL'!V2,'ALL BIDS'!H:H,'DC TOOL'!M2),SUMIFS(FREIGHT!Z:Z,FREIGHT!Q:Q,'DC TOOL'!F2,FREIGHT!M:M,H2,FREIGHT!O:O,"PPD",FREIGHT!AA:AA,GRIDS!$U$3),IF(BH2="PPD TO GDC",SUMIFS('ALL BIDS'!R:R,'ALL BIDS'!D:D,F2,'ALL BIDS'!E:E,I2,'ALL BIDS'!W:W,'DC TOOL'!U2,'ALL BIDS'!G:G,'DC TOOL'!V2,'ALL BIDS'!H:H,'DC TOOL'!M2),SUMIFS(FREIGHT!Z:Z,FREIGHT!Q:Q,'DC TOOL'!F2,FREIGHT!M:M,H2,FREIGHT!O:O,"PPD",FREIGHT!AA:AA,GRIDS!$U$3))
Looks like you want 3 different possible SUMIFS, with the logic being as follows:
IF BH2 = "x" SUMIFS1, IF BH2 = "y" SUMIFS2 else SUMIFS3 so you need to write that like this:
=IF(BH2="PPD TO FSC",SUMIFS('ALL BIDS'!R:R,'ALL BIDS'!D:D,BV2,'ALL BIDS'!E:E,I2,'ALL BIDS'!W:W,'DC TOOL'!U2,'ALL BIDS'!G:G,'DC TOOL'!V2,'ALL BIDS'!H:H,'DC TOOL'!M2),IF(BH2="PPD TO GDC",SUMIFS('ALL BIDS'!R:R,'ALL BIDS'!D:D,F2,'ALL BIDS'!E:E,I2,'ALL BIDS'!W:W,'DC TOOL'!U2,'ALL BIDS'!G:G,'DC TOOL'!V2,'ALL BIDS'!H:H,'DC TOOL'!M2),SUMIFS(FREIGHT!Z:Z,FREIGHT!Q:Q,'DC TOOL'!F2,FREIGHT!M:M,H2,FREIGHT!O:O,"PPD",FREIGHT!AA:AA,GRIDS!$U$3)))

excel logic error, everything passes the logic test

=IF(D3>0, G2+(D3/111.3), G2-(D3/111.3))
So i'm trying to run this small line of code in excel but for whatever values the result always comes up true on the logic operator. for example let's say d3 is -9, it will run the first equation when really it should run the second. Any ideas?
Hopefully the image helps describe what is goin on
might be the value in cell (d3) is text formatted?.
check this formatting part .
also, try this if sheet1.range("d3") > 0....Just use full path name (sheet, followed by range /cell name)...
try your luck...
You only need this one
=G2+(D3/111.3)
With your formula:
=IF(D3>0, G2+(D3/111.3), G2-(D3/111.3))
#D3 = -9, G2 = 100
#IF([-9]>0, 100+([-9]/111.3), 100-([-9]/111.3))
#IF([-9]>0, 100+0.080, 100-(-0.080))
#IF([-9]>0, 100+0.080, 100+0.080
Which make you confuse why it always add the value of D3

Resources