SUMIFS Formula not working correctly - excel

I have a SUMIFS formula below and it does not seem to be working correctly any help would be greatly appreciated.
The formula is below
=SUMIFS(C4:N4,C4:N4,C4<=11,C4:N4,F4<=1,C4:N4,I4<=1,C4:N4,L4<=1)
From the picture you can see that the result in cell R4 should read 4 but it returns a 0
Any help would be greatly appreciated.

SumIfs works with sum_range, criteria_range, criteria.
You've given it sum_range, criteria_range, criteria_cell & criteria.
Try =SUMIFS(C4:N4,C4:N4,"<=1"), or as it's only a single criteria =SUMIF(C4:N4,"<=1",C4:N4)
Edit: Just noticed - is that first criteria meant to be <=11?
If so this formula will work: =SUM(IF(C4<=11,C4,0),SUMIF(F4:N4,"<=1",F4:N4))

Using SUMIFS means that you want to add the values in C4:N4 only if all conditions are TRUE. If this is correct use this formula.
=IF(AND(C4<=11,F4<=1,I4<=1,L4<=1),SUM(C4:N4),0)
'SUMIFS' is intended for operations with ranges in which one column is added if all condition in other columns are met see WorksheetFunction.SumIfs Method . But in your case you are testing conditions in a row and if they are met you want to add the values in the row.

Related

Excel Sumifs with multiple arrays referenced on another cell

I have a formula that sums one column based on a criteria from another column. This formula works fine:
=SUM(SUMIFS(sheet1!C:C,sheet1!A:A,{1, 7}))
However, i need to be able to use a cell reference which will contain the {1, 7}
So the formula will look like this:
=SUM(SUMIFS(sheet1!C:C,sheet1!A:A,M2))
But this returns a zero, when evaluting the formula it pulls the contents from the cell but wraps it in "" which i think is where the issue is happening.
I've tried adding formula to remove the quotes, and trying to pull the contents differently, but still the same.
Any help would be greatly appreciated.
Figured out a way round this.
I created a named range called condition, and assigned =Evaluate($M2).
Then I used this formula =SUMPRODUCT(SUMIFS(sheet1!C:C,sheet1!A:A,Condition))
This picks up all numbers used in M2, and works on all rows below with the Evaluate formula following.
Thank you to everyone that assisted with this.
This link helped aswell: Excel SUM of SUMIF/SUMIFS with dynamic multiple criteria

Get value using INDEX and MATCH

I need help in my formula, I'm getting #VALUE!.
I have 2 sheets, I need to get the data using 2 values, So I've searched and the solution is to use the INDEX and MATCH Function. I've tried that in my formula but I think I'm doing it wrong.
I have 3 columns in my Main Sheet,
In the column Total Amount I need to insert the formula.
And this is my 2nd sheet. 3 columns also.
And this is the formula that I've used,
=INDEX(Q9:Q13,MATCH(O19&P19,O9:O13&P9:P13,0))
I've tried to check using evaluate formula and I'm getting #Value! I don't know why.
Any Ideas?
Thanks!
I think SUMIF() would be best fit for you in this case. Try below formula.
=SUMIFS(Sheet2!$Q$8:$Q$13,Sheet2!$O$8:$O$13,A1,Sheet2!$P$8:$P$13,B2)
You can also use SUMPRODUCT() like below.
=SUMPRODUCT((Sheet2!$Q$8:$Q$12)*(Sheet2!$O$8:$O$12=A2)*(Sheet2!$P$8:$P$12=B2))

sumproduct function with nested if function

I have a Sumproduct formula that counts the number of times a month & year appears within a range, and criteria in cell L3 is found in another column.
This works well enough and is as follows
=SUMPRODUCT(--(TEXT(Data!$L$5:$L$6000,"mmyyyy")=TEXT(B10,"mmyyyy"))*(Data!$N$5:$N$6000=$L$3))
The criteria in cell L3 could be value a,b,c etc, but it also has an "All" option.
What I can't get it to do is return a count when all is selected. I've tried adding a nested IF statement after the * as follows
=SUMPRODUCT(--(TEXT(Data!$L$5:$L$6000,"mmyyyy")=TEXT(B10,"mmyyyy"))*(IF(L3="All",Data!$N$5:$N$6000<>"",Data!$N$5:$N$6000=$L$3)))
Does anybody have any ideas?
Many thanks
Just for completeness, following Scott's advice, I've used the following formula which does the job.
=IF($D$2="All",SUMPRODUCT(--(TEXT(Data!$L$5:$L$6000,"mmyyyy")=TEXT(E10,"mmyyyy"))*(Data!$N$5:$N$6000<>"")),SUMPRODUCT(--(TEXT(Data!$L$5:$L$6000,"mmyyyy")=TEXT(E10,"mmyyyy"))*(Data!$N$5:$N$6000=$L$3)))
Hope somebody finds this useful.

Excel Nesting IF in SumIfs

Ok. So i'm looking to nest IF in my SUMIFS formulas. The only problem i'm having is when one of my referenced cells show FALSE, the formula no longer works. How do i get the formula to completely remove that Criteria from the SUMIFS formula and still work?
Codes i've used.
=SUMIFS(R:R,IF(BE4=TRUE,I:I),IF(BE4=TRUE,BD4),J:J,BD5)
=IF(BE4=TRUE,SUMIFS(R:R,I:I,BD4),0)+IF(BE5=TRUE,SUMIFS(R:R,J:J,BD5),0)
I've even tried breaking the SUMIFS formula into multiple cells, and using IF and INDIRECT to create a working code. Just keeps popping up with #REF error.
Here's that code
=INDIRECT(CONCATENATE(BK1,IF(BE2=TRUE,BK2,""),IF(BE3=TRUE,BK3,""),IF(BE4=TRUE,BK4,""),IF(BE5=TRUE,BK5,""),BK6))
Here's the code that didn't work before the IF.
=INDIRECT(CONCATENATE(BK1,BK2,BK3,BK4,BK5,BK6))
Any help would be greatly appreciated.
Thank you
Mock Sheet
https://www.dropbox.com/s/tl64vbsalcqxqdm/CriteriaIFS.xlsx?dl=0
Try this formula:
=SUMIFS(BK1:BK6,BK1:BK6,">=0")
Please try this formula,
=IF(BE4=TRUE,SUMIFS(R:R,I:I,BD4,J:J,BD5),SUMIFS(R:R,J:J,BD5))
Your formula
=SUMIFS(R:R,IF(BE4=TRUE,I:I),IF(BE4=TRUE,BD4),J:J,BD5)
You are saying:
Sum from column R everything if match in J with BD5 and IF BE4 is TRUE THEN in I IF match with BD5. Well, the error is because, if BE4 is true is returning a string not a range. Instead you could use this:
=SUMIFS(R:R,INDIRECT(IF(BE4=TRUE,I:I)),INDIRECT(IF(BE4=TRUE,BD4)),J:J,BD5)
And it will be ok, until BE4 is FALSE. because the INDIRECT function return an #REF!... and will be a mess.
I'm not sure if I get the whole idea, but please tell me if you need an emprovement.
Edit #1
Reading your comments I think this could help:
=IF(BE4=TRUE,SUMIFS(R:R,I:I,BD4),0)+IF(BE4=TRUE,SUMIFS(R:R,J:J,BD5))
Try to post some dummie database (using text table format) to give you a better help... and remember to read this: How to ask because your question is to vague, and it was necesary to many comments and answers to "guess" what you really want.
Try this array formula:
=SUMIFS(N:N,IF($A$2,E:E,T:T),IF($A$2,$C$2,""),IF($A$3,F:F,T:T),IF($A$3,$C$3,""),IF($A$4,H:H,T:T),IF($A$4,$C$4,""),IF($A$5,I:I,T:T),IF($A$5,$C$5,""))
It is an array formula and must be confirmed with Ctrl-Shift-Enter.
This is based on your data sheet provided. You will need to change the references to your sheet. The column T reference should be a column that is empty.
I needed to do the same thing. The formula needed to look at a different column as Criteria_Range2 depending on product. I put an IF statement for both the Criteria_Range2, and for the Criteria2 because each column had slightly different information. Basically, it tells the formula use column C (in another worksheet) as the Criteria_Range2 if the product category is anything other than Ceilings. If it is Ceilings, it uses column A as Criteria_Range2. On my worksheet, Column A is a "helper column" that groups our Ceilings sub-products into Tile and Grid.
Hopefully this isn't too confusing, but it works for me and I didn't easily find anything else out there showing how to use IF statements in the Criteria Ranges in the SUMIFS. (I suggest ignoring the very ugly xlookup defining the sum_range.)
SUMIFS(XLOOKUP($AF$20&"COGS CM MTD",Fact_Sales!$E$6:$CS$6&Fact_Sales!$E$7:$CS$7,Fact_Sales!$E$8:$CS$928),Fact_Sales!$B$8:$B$928,'Report Draft'!$AE27,IF('Report Draft'!$AD27<>"CEILINGS",Fact_Sales!$C$8:$C$928,Fact_Sales!$A$8:$A$928),IF('Report Draft'!$AD27<>"CEILINGS",'Report Draft'!$AD27,'Report Draft'!$AF27))

SUMIF with several OR criteria

The blue cell summates to 1, but that is not correct and it should summate to more because of the row text match with B47 row. Any ideas what's wrong?
SUMIF is not supposed to work with more than one criteria (you can't check multiple criteria within one SUMIF as you tried in your formula).
This formula will calculate the right result for you: =SUM(B3:BI3*(IFERROR(MATCH(B2:BI3,B47:AL47,0)>0,0))), this is an array formula, so you need to press CTRL+SHIFT+ENTER after it.
MATCH(...): look for all students whether they are in the list with requirments (this is the part which works only as array formula)
IFERROR(...): converts #N/A errors to 0
If I am not wrong, you are trying to calculate the number of students for a particular project with skill1 and skill2.
You may also try using COUNTIFS() function. This works for multiple criteria.

Resources