# Excel 2010, How do I write this formula? Data is on a different worksheet, same workbook

(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.

-

## migrated from stackoverflow.comJun 19 '13 at 21:56

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

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
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

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.

-
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

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

Add the other column with `=month()`

And use `=COUNTIFS()` as follows:

-

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

-
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

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

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.

-
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