# Excel - How to combine SUMPRODUCT with COUNTIF?

Asked By mckzac on 21-Mar-08 12:34 PM
```Greetings,

I need to count up the number of occurrences of the letter "Q" in Column A,
only if the string in Column B = "Claims."

That is, how do I combine . . .

=SUMPRODUCT(LEN(A1:A100)-LEN(SUBSTITUTE(A1:A100,"Q","")))
AND
=COUNTIF(B1:B100,"Claims")

I have tried various approaches and different formulas, but nothing seems to
work.  Any help at all would be appreciated.  Thanks in advance.```

Don Guillett replied on 21-Mar-08 12:47 PM
```this will count where the cell in a is Q and the cell in b is claims

=SUMPRODUCT((A1:A100,"q")*(b1:b100="claims"))

--
Don Guillett
Microsoft MVP Excel
SalesAid Software
dguillett1@austin.rr.com```
mckzac replied on 21-Mar-08 01:06 PM
```Thanks, but that doesn't work either.
Incidentally, Column A cells may contain from 1 to 15 different letters.  My
dilemma is that I'm only looking for those including "Q" (and "Claims" in
Column B).```
Dave Peterson replied on 21-Mar-08 01:19 PM
```Don had a small typo.

Try this:

=SUMPRODUCT((A1:A100="q")*(b1:b100="claims"))

--

Dave Peterson```
Sandy Mann replied on 21-Mar-08 01:38 PM
```If by:

Your mean that there could be other letters in the cell then use your own
formula:

=SUMPRODUCT((LEN(A1:A100)-LEN(SUBSTITUTE(A1:A100,"Q",""))),--(B1:B100="Claims"))

Note however that it is case ensitive and it will return wrong results if
there are more than one *Q* in the cell.  To avaid there errors try:

=SUMPRODUCT(--(LEN(SUBSTITUTE(UPPER(A1:A100),"Q",""))<>LEN(A1:A100)),--(B1:B100="Claims"))

This assumes that *Claims* is the only entry in the matching cells in Column
B

--
HTH

Sandy
In Perth, the ancient capital of Scotland
and the crowning place of kings

sandymann2@mailinator.com
Replace @mailinator.com with @tiscali.co.uk```
mckzac replied on 21-Mar-08 02:01 PM
`Sandy, that worked!  Thanks very much for the response.`
Don Guillett replied on 21-Mar-08 02:50 PM
```Array formula that must be entered using ctrl+shift+enter
=SUM(IF(ISERROR(SEARCH("q",\$C\$1:\$C\$22)),0,1)*(\$D\$1:\$D\$22="claims"))

A macro using ucase and lcase
Sub countpartials()
For Each c In Range("c2:c12")
If InStr(UCase(c), "Q") > 0 And LCase(c.Offset(, 1)) _
= "claims" Then ctr = ctr + 1
Next c
MsgBox ctr
End Sub

--
Don Guillett
Microsoft MVP Excel
SalesAid Software
dguillett1@austin.rr.com```
Sandy Mann replied on 21-Mar-08 02:57 PM
```Glad that it worked for you.  Thanks for the feedback.

--

Sandy
In Perth, the ancient capital of Scotland
and the crowning place of kings

sandymann2@mailinator.com
Replace @mailinator.com with @tiscali.co.uk```