[Last Call] Learn about multicloud storage options and how to improve your company's cloud strategy. Register Now

x
Solved

# Help needed in Excel with SUMPRODUCT/COUNTIFS

Posted on 2013-06-12
Medium Priority
932 Views
I have a question on the ability (or syntax) to combine SUMPRODUCT with COUNTIFS.

This formula returns the correct value

=SUMPRODUCT(COUNTIFS('Selected VDOTs'!\$D\$2:\$D\$541,M\$1,'Selected VDOTs'!\$C\$2:\$C\$541,"9=High",'Selected VDOTs'!\$G\$2:\$G\$541,"Clean-Up",'Selected VDOTs'!\$J\$2:\$J\$541,{"Changes Required","Validated"}))

…well sort of.  The actual count is 16.  But, it’s returning 15.75. Does anyone know why?  (I changed the format of the number to 0 digits to force it to round up.  But, that’s causing a problem with Excel calculated 15.25.)

However, when I add the unique flag (1), the formula does not work at all.  (Is it because I’m trying to use it with COUNTIFS?)

=SUMPRODUCT(1/COUNTIFS('Selected VDOTs'!\$D\$2:\$D\$541,M\$1,'Selected VDOTs'!\$C\$2:\$C\$541,"9=High",'Selected VDOTs'!\$G\$2:\$G\$541,"Clean-Up",'Selected VDOTs'!\$J\$2:\$J\$541,{"Changes Required","Validated"}))

Also,

How can I use an “Or” condition similar to the above with one of my criteria statements in COUNTIFS?  When I only have 1 value as my criteria for any given column, the formula works great:
=SUMPRODUCT(1/COUNTIF('Selected VDOTs'!\$E\$2:\$E\$541,'Selected VDOTs'!\$E\$2:\$E\$541)*('Selected VDOTs'!\$D\$2:\$D\$541=S\$1)*('Selected VDOTs'!\$C\$2:\$C\$541="9=High")*('Selected VDOTs'!\$G\$2:\$G\$541="Clean-Up"))

Please see the attached Word doc with snippets of the data.
excel-question.docx
0
Question by:Feisty472
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• 2

LVL 35

Expert Comment

ID: 39243394
Could you attach an Excel document with the data?

Otherwise we'll be kind of guessing where it should go if we try to replicate your setup.
0

LVL 50

Expert Comment

ID: 39244053
You say that this formula returns 15.75

=SUMPRODUCT(COUNTIFS('Selected VDOTs'!\$D\$2:\$D\$541,M\$1,'Selected VDOTs'!\$C\$2:\$C\$541,"9=High",'Selected VDOTs'!\$G\$2:\$G\$541,"Clean-Up",'Selected VDOTs'!\$J\$2:\$J\$541,{"Changes Required","Validated"}))

I'd be very surprised, I think one of the other formulas might but in the above COUNTIFS can only return whole numbers and SUMPRODUCT is simply summing those.

Where you have divided 1 by COUNTIFS that might give you a non-integer result.....

I'm not really sure what you are trying to do with this formula, can you explain in words what you are trying to do, why the reference to column E, is that where you want the unique count?

=ROUNDUP(SUMPRODUCT(1/COUNTIF('Selected VDOTs'!\$E\$2:\$E\$543,'Selected VDOTs'!\$E\$2:\$E\$543)*('Selected VDOTs'!\$D\$2:\$D\$543=B\$1)*('Selected VDOTs'!\$C\$2:\$C\$543="9=High")),0)

As it stands I don't think that formula will work to do what you want, you can't simply combine a 1/COUNTIFS with other criteria to get a unique count

regards, barry
0

LVL 50

Accepted Solution

barry houdini earned 2000 total points
ID: 39244064
generically to return a unique count of items in col1 where col2, col3 and col4 meet conditions you can use a formula like this

=SUM(IF(FREQUENCY(IF((Col2=Cond2)*(Col3=Cond3)*(Col4=Cond4),IF(Col1<>"",MATCH(Col1,Col1,0))),ROW(Col1)-MIN(ROW(Col1))+1),1))

confirmed with CTRL+SHIFT+ENTER

you can add or subtract conditions from this part as required

(Col2=Cond2)*(Col3=Cond3)*(Col4=Cond4)

....and if any of the conditions are for multiple matches you can use ISNUMBER(MATCH, so if col3 can be "x", "y" or "z" change to

(Col2=Cond2)*(ISNUMBER(MATCH(Col3,{"x","y","z"},0)))*(Col4=Cond4)

so with your data if the intention is to get a count of different col E values with the following criteria in other columns:

where col D = B1
where col C = "9=High"

then the formula can be as follows

=SUM(IF(FREQUENCY(IF(('Selected VDOTs'!\$D\$2:\$D\$543=B\$1)*('Selected VDOTs'!\$C\$2:\$C\$543="9=High"),IF('Selected VDOTs'!\$E\$2:\$E\$543<>"",MATCH('Selected VDOTs'!\$E\$2:\$E\$543,'Selected VDOTs'!\$E\$2:\$E\$543,0))),ROW('Selected VDOTs'!\$E\$2:\$E\$543)-ROW('Selected VDOTs'!\$E\$2)+1),1))

confirmed with CTRL+SHIFT+ENTER

regards, barry
0

Author Closing Comment

ID: 39268568
Thanks Barry!
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction This Article briefly covers methods of calculating the NPV and IRR variants in Excel as well as the limitations in calculating and interpreting IRR results. Paraphrasing Richard Shockley, author of my favourite finance reference tex…
Freeze panes is an option within all variants of Excel to enable parts of a sheet to remain stationary when the cursor is in another part of the sheet. This is a very useful feature which is overlooked or under used.