Solved

COUNTIF - two speadsheets in argument

Posted on 2014-01-19
13
291 Views
Last Modified: 2014-01-20
Hello,

I currently have a formula as below.

=IF(COUNTIF(January!$A:$X,A138)>0,"Yes","No")

I have created another spreadsheet called February - is there a way I can add this spreadsheet to the argument so that it will display Yes or No if A138 is on either the January or February worksheet?

Thank you in advance,

GISVPN
0
Comment
Question by:gisvpn
  • 5
  • 4
  • 3
  • +1
13 Comments
 
LVL 34

Assisted Solution

by:Dan Craciun
Dan Craciun earned 200 total points
ID: 39791880
=IF(COUNTIF(January!$A:$X,A138) * COUNTIF(February!$A:$X,A138)>0,"Yes","No")

HTH,
Dan
0
 
LVL 34

Accepted Solution

by:
Dan Craciun earned 200 total points
ID: 39791884
The formula above will work if A138 is in both January and February sheets.

If you need it to be in January OR February, try this:

=IF(OR(COUNTIF(January!$A:$X,A138)>0, COUNTIF(February!$A:$X,A138)>0),"Yes","No")
0
 

Author Comment

by:gisvpn
ID: 39791981
Thank you for the posts will try this. Can I can more arguments to this as I go ? For example another one for March?
0
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 34

Expert Comment

by:Dan Craciun
ID: 39792424
Yup. OR accepts more arguments. For March this would be:

=IF(OR(COUNTIF(January!$A:$X,A138)>0, COUNTIF(February!$A:$X,A138)>0, COUNTIF(March!$A:$X,A138)>0, ),"Yes","No")

and so on...
0
 
LVL 43

Assisted Solution

by:Rob
Rob earned 200 total points
ID: 39792907
(no points)
Dan is right on the money, just wanted to point out a trailing comma that's not needed

=IF(OR(COUNTIF(January!$A:$X,A138)>0, COUNTIF(February!$A:$X,A138)>0, COUNTIF(March!$A:$X,A138)>0, ),"Yes","No")

should be

=IF(OR(COUNTIF(January!$A:$X,A138)>0, COUNTIF(February!$A:$X,A138)>0, COUNTIF(March!$A:$X,A138)>0),"Yes","No")
0
 
LVL 34

Expert Comment

by:Dan Craciun
ID: 39792937
Yup, copy/pasted it and forgot to delete the comma.

Thanks Rob!
0
 
LVL 43

Assisted Solution

by:Rob
Rob earned 200 total points
ID: 39792962
As another approach you could write your own function as a macro.  The following will loop over all the months and look for the value in A138 if it exists will return "Yes" otherwise "No".  I've attached a demo.  Also will understand if you're wanting to keep it macro free.

Function CalculateCount() As String
    Application.Volatile
    Dim curSheet As Worksheet
    Dim result As String
    
    result = "No"
    
    For Each mth In Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")
        If (SheetExists(mth)) Then
            Set curSheet = Sheets(mth)
            If (curSheet.Range("A138").Value > 0) Then
                result = "Yes"
            End If
        End If
    Next mth
    
    Set curSheet = Nothing
    
    CalculateCount = result
End Function

Function SheetExists(ByVal sheetName As String)
    SheetExists = False
    For Each sht In ActiveWorkbook.Worksheets
        If (sht.Name = sheetName) Then
            SheetExists = True
        End If
    Next sht
End Function

Open in new window

Book2.xlsm
0
 
LVL 81

Assisted Solution

by:byundt
byundt earned 100 total points
ID: 39793078
If you might want to search more than two worksheets, then the OR with COUNTIF approach starts growing out of hand. You can avoid that by using this formula with a named range Months that contains the names of the worksheets of interest:
=IF(SUMPRODUCT(COUNTIF(INDIRECT("'" & Months & "'!$A:$X"),A138))>0,"Yes","No")
0
 

Author Comment

by:gisvpn
ID: 39793635
Hello,

@Dan Craciun- thank you for the formular syntax. I am using this currently:

=IF(OR(COUNTIF(January!$A:$X,A138)>0, COUNTIF(February!$A:$X,A138)>0),"Yes","No")

however it incorrectly evaluates to 'Yes' when the value in A138 is not actually on either worksheet? Is there something wrong in my formular - it works perfectly with just January looking for the value.
0
 
LVL 43

Expert Comment

by:Rob
ID: 39793683
Dan's formula should be:

=IF(OR(COUNTIF(January!$A138,">0")>0, COUNTIF(February!$A138,">0")>0, COUNTIF(March!$A138,">0")>0),"Yes","No")

COUNTIF takes two arguments, the Range and the criteria.  In other words, count the items in A138 that are >0.  If that count is more than 0 then the whole condition returns TRUE.  If any of the COUNTIF statements are TRUE then the formula will show a YES
0
 
LVL 34

Expert Comment

by:Dan Craciun
ID: 39793695
Rob, A138 is a cell, not a range. And the formula says: count the number of times the criteria (A138) is in the range $A:$X.

@gisvpn: can you post a sample file so we see where is the problem? Thank you.
0
 
LVL 43

Expert Comment

by:Rob
ID: 39793788
Sorry Dan - read it completely wrong, I interpreted incorrectly as each sheet's A138 had a value > 0

for the record though, a cell is still classified as a range
0
 

Author Comment

by:gisvpn
ID: 39793816
Sorry this is actually absolutely fine! It was my mistake the formula was actually correct! :)

Thank you for your help.
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

A little background as to how I came to I design this code: Around 5 years ago I designed an add-in that formatted Excel files to a corporate standard, applying different cell colours and font type depending on whether the cells contained inputs,…
Introduction While answering a recent question (http:/Q_27311462.html), I created an alternative function to the Excel Concatenate() function that you might find useful.  I tested several solutions and share the results in this article as well as t…
This Micro Tutorial demonstrates how to create Excel charts: column, area, line, bar, and scatter charts. Formatting tips are provided as well.
This Micro Tutorial will demonstrate how to use a scrolling table in Microsoft Excel using the INDEX function.

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question