Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Please help me with this formula:

(worksheet A) has dates in Column A for the whole year in this format (06/19/13) and several different names of people in Column B. Lets use the name (Brian) for this scenario.

On (worksheet B) in the same workbook, I need to write a formula to add the number of times (from worksheet A) the name Brian has appeared in a particular month.

I have tried different variations of COUNTIF, IF THEN, SUM, and can't figure it out. Any help would be greatly appreciated. I am not an excel wiz, but do the best I can with basic formulas. This one has me stumped. I tried to add images, but I am new to this site and need a “reputation” of 10 before I can do that, sorry.

UPDATE: Here are the images as described above. B16 on worksheet B is where I'm trying to add how many times Brians name was listed in May from worksheet A.

worksheet A

worksheet B

share|improve this question
1  
which version of excel? for 2007 or later countifs should work but a pivot table might be easier –  JosieP Jun 19 '13 at 16:00
1  
Now you have rep to insert image .. –  matzone Jun 19 '13 at 16:10
    
I'm using Excel 2010. I see I have the ability to add images now. Hang on a second while I figure out how to add it to this post. Thanks for your response. –  95B2PP5 Jun 19 '13 at 16:12
    
Have you try in VBA ? –  matzone Jun 19 '13 at 16:58
    
@matzone ... I have not. I wouldn't know where to start. –  95B2PP5 Jun 19 '13 at 17:20
show 1 more comment

migrated from stackoverflow.com Jun 19 '13 at 21:56

This question came from our site for professional and enthusiast programmers.

4 Answers

The COUNTIF and COUNTIFS functions take a range as their first argument, and will not allow you to operate on this range i.e. COUNTIF(MONTH(A:A),6) will throw an error.

Short of changing the layout of your data in your sheet, your only option is to use SUMPRODUCT like so:

=SUMPRODUCT(--(MONTH(Sheet1!A1:A25)=6),--(Sheet1!B1:B25="Brian"))

This will count how many times Brian appears in June. Note how -- is used to convert boolean TRUE and FALSE values (which cannot be multiplied by SUMPRODUCT) to numerical 1 or 0.

Your other option is to insert another column in the source data:

A = Date    B = Names    C = "=Month(A)"

So in C1 you would enter =Month(A1). With this you can use:

=COUNTIF(Sheet1!A1:A25,6,Sheet1!B1:B25,"Brian")

The COUNTIF will perform faster then the SUMPRODUCT but it does require the extra column.

share|improve this answer
    
Ok. Hold one while I read these and make sense of it. Forgive me, I am not a wiz, but a quick learner, usually. –  95B2PP5 Jun 19 '13 at 16:32
    
If I create another column as indicated above, and enter "=Month(A1)", do I duplicate that formula for the whole year in that column by dragging the small black square in the lower right of the cell? –  95B2PP5 Jun 19 '13 at 16:41
    
I'm all for the extra column, because I can hide it. I'm just confused on a couple things. Do I type it exactly as indicated and if so, does that same exact formula go in all cells in Column C for the whole year? –  95B2PP5 Jun 19 '13 at 16:51
    
@95B2PP5 In C1 Enter =Month(A1) then drag the formula down with the little black square in the bottom right. AS you drag it down you should notice the formula will change in each cell to A plus that row number. –  user2140261 Jun 19 '13 at 18:33
    
I just saw your repsonse from 3 minutes ago... sorry.... so after I do that in column c, don't I need to reference that coluimn in my countif formula?......Sir, are you able to help me with this any further? I am not unclear on the solution you provided and suspect I need further detailed instructions on how to write this formula on a seperate worksheet from where the data worksheet. @user2140261 –  95B2PP5 Jun 19 '13 at 18:37
show 2 more comments

If you want to add another column, you will use the COUNTIFS() formula.

Add the other column with =month()

And use =COUNTIFS() as follows:

enter image description here

share|improve this answer
add comment

COUNTIFS should do it for you. Set one of the conditions equal to month desired and the other to name.

share|improve this answer
    
you can't use any function inside of a count if that will modify the source data. He needs the month from the date and if you try to enter =CountIf(MONTH(A:A),6) you will receive an error. –  user2140261 Jun 19 '13 at 16:25
add comment

Just want to chip in that what you really want here is to use PivotTables. They don't always work great with values as DateTimes, but you can easily extract out the month part of the date with the Text function.

For pretty dates, use Text, not Month

ex. A1 = 5/6/2013

=Month(A1)
'returns 6
=Text(A1,"MMMM")
'returns "May"
  • Add Month in column C
  • Use Text(cell, "MMMM") and drag to the bottom
  • Add a pivot table with Name in the row labels, month in the column labels, and a count of date in values

Pivot Table

Less code is better code. Let Excel implement the conditional iffs for you so that there's less for you to mess up and more flexibility if you want to change the format of the report.

share|improve this answer
    
For specific uses this is very valuable I almost exclusively tell people to use Pivot tables for any type of data consolidation. The issue falls into play if the asker doesn't want his end user to see all the data, and to be able to simply enter a Month and a name a retrieve a value. –  user2140261 Jun 19 '13 at 21:09
    
Then you can use =GETPIVOTDATA("Date",$A$9,"Name","Brian","Month","May") and allow them to pass in Brian and May as values from a combo box. –  KyleMit Jun 19 '13 at 21:13
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.