How to use Excel COUNTIFS and COUNTIF with multiple criteria

The tutorial explains how to use COUNTIFS and COUNTIF formulas with multiple criteria in Excel based on AND as well as OR logic. You will find a number of examples for different data types - numbers, dates, text, wildcard characters, non-blank cells and more.

Of all Excel functions, COUNTIFS and COUNTIF are probably most often mixed up because they look very much alike and both are purposed for counting cells based on the specified criteria.

The difference is that COUNTIF is designed for counting cells with a single condition in one range, whereas COUNTIFS can evaluate different criteria in the same or in different ranges. The aim of this tutorial is to demonstrate different approaches and help you choose the most efficient formula for each particular task.

Excel COUNTIFS function - syntax and usage

The Excel COUNTIFS function counts cells across multiple ranges based on one or several conditions. The function is available in Excel 365, 2021, 2019, 2016, 2013, Excel 2010, and Excel 2007, so you can use the below examples in any Excel version.

COUNTIFS syntax

The syntax of the COUNTIFS function is as follows:

COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2]…)
  • criteria_range1 (required) - defines the first range to which the first condition (criteria1) shall be applied.
  • criteria1 (required) - sets the condition in the form of a number, cell reference, text string, expression or another Excel function. The criteria defines which cells shall be counted and can be expressed as 10, "<=32", A6, "sweets".
  • [criteria_range2, criteria2]… (optional) - these are additional ranges and their associated criteria. You can specify up to 127 range/criteria pairs in your formulas.

In fact, you don't have to remember the syntax of the COUNTIF function by heart. Microsoft Excel will display the function's arguments as soon as you start typing; the argument you are entering at the moment is highlighted in bold. The syntax of the Excel COUNTIFS function

Excel COUNTIFS - things to remember!

  1. You can use the COUNTIFS function in Excel to count cells in a single range with a single condition as well as in multiple ranges with multiple conditions. If the latter, only those cells that meet all of the specified conditions are counted.
  2. Each additional range must have the same number of rows and columns as the first range (criteria_range1 argument).
  3. Both contiguous and non-contiguous ranges are allowed.
  4. If the criteria is a reference to an empty cell, the COUNTIFS function treats it as a zero value (0).
  5. You can use the wildcard characters in criteria - asterisk (*) and question mark (?). See this example for full details.

How to use COUNTIFS and COUNTIF with multiple criteria in Excel

Below you will find a number of formula examples that demonstrate how to use the COUNTIFS and COUNTIF functions in Excel to evaluate multiple conditions.

How to count cells with multiple criteria (AND logic)

This scenario is the easiest one, since the COUNTIFS function in Excel is designed to count only those cells for which all of the specified conditions are TRUE. We call it the AND logic, because Excel's AND function works this way.

Formula 1. COUNTIFS formula with multiple criteria

Suppose you have a product list like shown in the screenshot below. You want to get a count of items that are in stock (value in column B is greater than 0) but have not been sold yet (value is column C is equal to 0).

The task can be accomplished by using this formula:

=COUNTIFS(B2:B7,">0", C2:C7,"=0")

And the count is 2 ("Cherries" and "Lemons"): Counting cells with multiple criteria based on AND logic

Formula 2. COUNTIFS formula with two criteria

When you want to count items with identical criteria, you still need to supply each criteria_range / criteria pair individually.

For example, here's the right formula to count items that have 0 both in column B and column C:

=COUNTIFS($B$2:$B$7,"=0", $C$2:$C$7,"=0")

This COUNTIFS formula returns 1 because only "Grapes" have "0" value in both columns. COUNTIFS formula with identical criteria

Using a simpler formula with a single criteria_range like COUNTIFS(B2:C7,"=0") would yield a different result - the total count of cells in the range B2:C7 containing a zero (which is 4 in this example).

How to count cells with multiple criteria (OR logic)

As you have seen in the above examples, counting cells that meet all of the specified criteria is easy because the COUNTIFS function is designed to work this way.

But what if you want to count cells for which at least one of the specified conditions is TRUE, i.e. based on the OR logic? Overall, there are two ways to do this - by adding up several COUNTIF formulas or using a SUM COUNTIFS formula with an array constant.

Formula 1. Add up two or more COUNTIF or COUNITFS formulas

In the table below, supposing you want to count orders with the "Cancelled" and "Pending" status. To have it doen, you can simply write 2 regular Countif formulas and add up the results:

=COUNTIF($C$2:$C$11,"Cancelled") + COUNTIF($C$2:$C$11,"Pending") Counting cells that meet any of the specified criteria

In case each of the functions is supposed to evaluate more than one condition, use COUNTIFS instead of COUNTIF. For example, to get the count of "Cancelled" and "Pending" orders for "Apples" use this formula:

=COUNTIFS($A$2:$A$11, "Apples", $C$2:$C$11,"Cancelled") + COUNTIFS($A$2:$A$11, "Apples", $C$2:$C$11,"Pending") Another formula to count cells with multiple criteria and OR logic

Formula 2. SUM COUNTIFS with an array constant

In situations when you have to evaluate a lot of criteria, the above approach is not the best way to go because your formula would grow too big in size. To perform the same calculations in a more compact formula, list all of your criteria in an array constant, and supply that array to the criteria argument of the COUNTIFS function. To get the total count, embed COUNTIFS inside the SUM function, like this:

SUM(COUNTIFS(range,{"criteria1","criteria2","criteria3",…}))

In our sample table, to count orders with the status "Cancelled" or "Pending" or "In transit", the formula would go as follows:

=SUM(COUNTIFS($C$2:$C$11, {"cancelled", "pending", "in transit"})) A more compact formula to count cells with multiple criteria and OR logic

In a similar manner, you can count cells based on two or more criteria_range / criteria pairs. For instance, to get the number of "Apples" orders that are "Cancelled" or "Pending" or "In transit", use this formula:

=SUM(COUNTIFS($A$2:$A$11,"apples",$C$2:$C$11,{"cancelled","pending","in transit"})) Counting cells with multiple criteria_range / criteria pairs and OR logic

You can find a few more ways to count cells with OR logic in this tutorial: Excel COUNTIF and COUNTIFS with OR conditions.

How to count numbers between 2 specified numbers

By and large, COUNTIFS formulas for numbers fall into 2 categories - based on several conditions (explained in the above examples) and between the two values you specify. The latter can be accomplished in two ways - by using the COUNTIFS function or by subtracting one COUNTIF from another.

Formula 1. COUNTIFS to count cells between two numbers

To find out how many numbers between 5 and 10 (not including 5 and 10) are contained in cells C2 through C10, use this formula:

=COUNTIFS(C2:C10,">5", C2:C10,"<10") A COUNTIFS formula to count numbers between X and Y

To include 5 and 10 in the count, use the "greater than or equal to" and "less than or equal to" operators:

=COUNTIFS(B2:B10,">=5", B2:B10,"<=10")

Formula 2. COUNTIF formulas to count numbers between X and Y

The same result can be achieved by subtracting one Countif formula from another. The first one counts how many numbers are greater than the lower bound value (5 in this example). The second formula returns the count of numbers that are greater than the upper bound value (10 in this case). The difference between the first and second number is the result you are looking for.

  • =COUNTIF(C2:C10,">5")-COUNTIF(C2:C10,">=10") - counts how many numbers greater than 5 and less than 10 are in the range C2:C10. This formula will return the same count as shown in the screenshot above.
  • =COUNTIF(C2:C10, ">=5")-COUNTIF(C2:C10, ">10") - the formula counts how many numbers between 5 and 10 are in the range C2:C10, including 5 and 10.

How to use cell references in COUNTIFS formulas

When using logical operators such as ">", "<", "<=" or ">=" together with cell references in your Excel COUNTIFS formulas, remember to enclose the operator in "double quotes" and
add an ampersand (&) before a cell reference to construct a text string.

In a sample dataset below, let's count "Apples" orders with amount greater than $200. With criteria_range1 in cells A2:A11 and criteria_range2 in B2:B11, you can use this formula:

=COUNTIFS($A$2:$A$11, "Apples", $B$2:$B$11, ">200")

Or, you can input your criteria values in certain cells, say F1 and F2, and reference those cells in your formula:

=COUNTIFS($A$2:$A$11, $F$1, $B$2:$B$11, ">"&$F$2)

Please notice the use of absolute cell references both in the criteria and criteria_range arguments, which prevents the formula from being broken when copied to other cells. Using cell references in COUNTIFS formulas

For more information about the use of an ampersand in COUNTIF and COUNTIFS formulas, please see Excel COUNTIF - frequently asked questions.

How to use COUNTIFS with wildcard characters

In Excel COUNTIFS formulas, you can use the following wildcard characters:

  • Question mark (?) - matches any single character, use it to count cells starting and/or ending with certain characters.
  • Asterisk (*) - matches any sequence of characters, you use it to count cells containing a specified word or a character(s) as part of the cell's contents.

Tip. If you want to count cells with an actual question mark or asterisk, type a tilde (~) before an asterisk or question mark.

Now let's see how you can use a wildcard char in real-life COUNTIFS formulas in Excel. Suppose, you have a list of projects in column A. You wish to know how many projects are already assigned to someone, i.e. have any name in column B. And because we are learning how to use the COUNTIFS function with multiple criteria, let's add a second condition - the End Date in column D should also be set.

Here is the formula that works a treat:

=COUNTIFS(B2:B10,"*",D2:D10,"<>"&""))

Please note, you cannot use a wildcard character in the 2nd criteria because you have dates rather that text values in column D. That is why, you use the criteria that finds non-blank cells: "<>"&"" The COUNTIFS formula to count entries containing any text in one column and non-blank cells in another column.

COUNTIFS and COUNTIF with multiple criteria for dates

The COUNTIFS and COUNTIF formulas you use for dates are very much similar to the above formulas for numbers.

Example 1. Count dates in a specific date range

To count the dates that fall in a certain date range, you can also use either a COUNTIFS formula with two criteria or a combination of two COUNTIF functions.

For example, the following formulas count the number of dates in cells C2 through C10 that fall between 1-Jun-2014 and 7-Jun-2014, inclusive:

=COUNTIFS(C2:C9, ">=6/1/2014", C2:C9, "<=6/7/2014")

=COUNTIF(C2:C9, ">=6/1/2014") - COUNTIF(C2:C9, ">6/7/2014") The COUNTIF formula with 2 conditions to count dates in a specific date range

Example 2. Count dates with multiple conditions

In the same manner, you can use a COUNTIFS formula to count the number of dates in different columns that meet 2 or more conditions. For instance, the below formula will find out how many products were purchased after the 20th of May and delivered after the 1st of June:

=COUNTIFS(C2:C9, ">5/1/2014", D2:D9, ">6/7/2014") The COUNTIF formula to count dates with multiple conditions

Example 3. Count dates with multiple conditions based on the current date

You can use Excel's TODAY() function in combination with COUNTIF to count dates based on the current date.

For example, the following COUNTIF formula with two ranges and two criteria will tell you how many products have already been purchased but not delivered yet.

=COUNTIFS(C2:C9, "<"&TODAY(), D2:D9, ">"&TODAY()) The COUNTIF formula to count dates with multiple conditions based on the current date

This formula allows for many possible variations. For instance, you can tweak it to count how many products were purchased more than a week ago and are not delivered yet:

=COUNTIFS(C2:C9, "<="&TODAY()-7, D2:D9, ">"&TODAY())

This is how you count cells with multiple criteria in Excel. I hope you will find these examples helpful. Anyway, I thank you for reading and hope to see you on our blog next week!

2039 comments

  1. I have a project where I have a consistent range, and am trying to eliminate 10 criteria with wildcard text. i.e.:
    =COUNTIFS($H:$H,"$W$8",$K:$K,{
    "*"&$W$16&"*","*"&$W$17&"*","*"&$W$18&"*","*"&$W$20&"*","*"&$W$21&"*","*"&$W$22&"*","*"&$W$23&"*","*"&$W$24&"*","*"&$W$25&"*","*"&$W$26&"*"})
    I realise without my workbook you cannot comment on specifics, but I will be able to extrapolate from working with your produce example.

    In your example,
    =SUM(COUNTIFS($A$2:$A$11,"apples",$C$2:$C$11,{"cancelled","pending","in transit"}))
    the formula returns "3".
    My version would be trying to find instances where Apples are not cancelled not pending not in transit, which I expect would return "2".

    I cannot just count "delivered" instead, because I am trying to ascertain the number of 'anything that isn't listed'. (I am actually trying to find # "not in transit not cancelled not pending not delivered", in this example, the result would be "0").

    I cannot subtract the sum from the total because this produces a negative number (e.g. if someone included both "in transit" and "pending" in the same cell);

    I don't want to SUM a series of results, because they'd cancel each other out;
    there are no PRODUCTS to calculate because I'm dealing with text.
    But I'm also not sure a normal COUNTIFS (even with an array) would be the best way to do it

    • All of my "" appears not to have shown in the original post.

      Just to reiterate, the array of 'criteria 2' in my formula need to be NOT"*"&$W$16&"*", NOT"*"&$W$17&"*", etc because I am trying to eliminate these ten categories

    • Hello!
      If I understand your task correctly, the following formula should work for you:

      =COUNTIFS($A$2:$A$11,"apples") - SUM(COUNTIFS($A$2:$A$11,"apples",$C$2:$C$11,{"cancelled","pending","in transit"}))

  2. Hi,

    I have two check boxes in a single cell. I know the simple COUNTIF formula for counting the number of checked boxes when there's only one check box option in each cell. However, I can't figure out how to do it for cells with multiple checkboxes within them. Eg. in column G rows 2 and 3 - if someone wants to check Jan in row 2 and leave Feb blank, and then in row 3 Jan is checked but Feb is blank, this would be 1 each for Jan and Feb when totaled up... but what formula can I use to tally them up?

    Any help would be much appreciated. Thank you

      • Thanks for your reply.

        May I ask,

        What if I have two checkboxes in the same cell, one option being AM and another being PM. How can I tally up the number of checked boxes for each option? Eg, In G2 the AM checkbox is checked and PM is unchecked, whilst in G3 the PM box is checked and AM is unchecked ... meaning the totals are AM 1 and PM 1. Which formula can I use to show these totals?

        Really appreciate any help.

        Thank you

        • Hi!
          Two checkboxes in the same cell cannot have different values. What you're talking about are checkboxes in two different cells.

  3. Hi, am trying to build a staff rota, and want to tally the number of full weekends off eg sat Day off Sunday off.
    I can count all the days off, but I want to count only I'd they both cells say day off. So if both cells say day off it will count as 1 total. Hope that makes sence

  4. Hi,

    I have two check boxes in a single cell. I know the simple COUNTIF formula for counting the number of checked boxes when there's only one check box option in each cell. However, I can't figure out how to do it for cells with multiple checkboxes within them. Eg. in column G rows 2 and 3 - if someone wants to check Jan in row 2 and leave Feb blank, and then in row 3 Jan is checked but Feb is blank, this would be 1 each for Jan and Feb when totaled up... but what formula can I use to tally them up?

    Any help would be much appreciated. Thank you

  5. I'm struggling to make my countifs work.

    I'm using the following formula, and it's giving a zero result when I know it should be a 1
    =COUNTIFS('January 2023'!A10:A100,"C38",'January 2023'!C10:C100,"Yes")

    "C38" is what I want it to look up (a name) and January 2023 is the sheet with the raw date that needs to be displayed.
    I'm trying to find out how many times a particular name has been marked "yes" in January.

    is there something I'm missing?

    Thanks

    • Hi!
      If you want to find the value in cell C38, don't use quotation marks.

      =COUNTIFS('January 2023'!A10:A100,C38,'January 2023'!C10:C100,"Yes")

      I hope it’ll be helpful.

      • It worked!

        Thank you so much for your help!

  6. What if I have multiple columns to pull from with the same criteria and I need to add the sum? I'm confused do I still use the add countifs and just change coumns?

    • Hi!
      Have you tried the ways described in this blog post? If they don’t work for you, then please describe your task in detail, I’ll try to suggest a solution.

  7. I hope you can help. I work on chevy cars. occasionally i work on a non chevy car. I am trying to count the number of cars I have worked on in a column that do not match the chevy cars listed in another column. I have this formula but it is counting the blank rows of cars i have yet to work on. =SUMPRODUCT(--(ISNA(MATCH(E3:E200,N3:N20,0))))
    This is the formula i am using for counting cars that are chevys. =COUNTIF(E:E,N19) (N19 being a Tahoe)
    Trying to change that to not equals () an array (N3:N20) just gets me an error.

    Thanks for your help.

    • Hello!
      If I understand your task correctly, try the following formula:

      =SUM(--((IFNA(MATCH(E1:E2000,N3:N20,0)+1,1)*(--NOT(ISBLANK(E1:E2000))))=1))

      • Thanks for your help, that works great!

  8. Good morning,
    apologies if already covered and missed but i would greatly appreciate your help to formulate the below:

    Count/sum if:
    Column A = X
    Column B = Y
    Between dates 01/01/2023 & 31/01/2023

    I can get the first two, getting the count/sum of the cells that meet the two conditions but struggling to get the date range factored in as well

  9. Hi, I would like to ask for advice. I am currently working on a database. Is there any formula that can help me count the number of entries in a range of cell?

    Example:
    Employee X has scheduled leave dates 10, 15, 23 for January and 5, 9 for February and so on for the whole year(considering each month are separate columns)
    I would like to count the total number of days Employee X have for the whole year.

    Thank you so much in advance!

    • Hello!
      If the column contains the number of vacation days, use the SUMIFS function to calculate the sum of days for an individual employee. If each vacation day is specified separately, count the number of days using the COUNTIFS function.
      I hope I answered your question. If something is still unclear, please feel free to ask.

  10. =COUNTIFS(LeadSource, "Google (Not Ad.)",SignedUp,"yes",Calendly!AG2:AG14,>="08/01/2022)",Calendly!AG2:AG14,>="08/14/2022)")

    How to count multiple criteria in a given set of range

    • Hi!
      It is very difficult to understand a formula that contains unique references to your workbook worksheets. Please re-check the article above since it covers your task.

  11. Hello
    Can you please advise on how to use the COUNTIFS if I would like to calculate occurence of an individual on a rota on weekdays and weekends.

    Thank you,

  12. hi,
    what is wrong with this syntax ; if the question is ... The choices if "Teacher" or "Student" and under the category "No. Willing to Pay More (PHP 36 - 45 and PHP 46 - 55)"
    =COUNTIFS(E5:F19,"Teacher",P5:P19,"ü") note: "ü" character code in excel represents the check mark (✓) character in the column of P5:P19
    it will just display an error of "VALUE!
    while using...=COUNTIF(E5:F19,"Teacher") and =COUNTIF(P5:P19,"ü") individually has no problem at all..
    Thanks so much..Appreciate so much for your immediate response.

  13. Wonder if you guys could assist... So, i have two columns with unique identifiers, column A = unique identifier 1 and Column B = unique identifier 2... Column A is unique to a record and column B is to distinguish between multiple records so concatenating the two will result in a totally unique value. What i need is a formulae which can count how many lines which are not unique when combined. I'd rather not have another column when concatenated, can this be done in a single formulae?

    • Hi!
      The COUNTIF function can only work with real data ranges. You can't put any other formula in it. Therefore, I cannot help you to count duplicate rows with one formula.

  14. Hello I hope you can help. I've had a read through your tutorial and a few other pages. I'm new to excel but I'm currently building an email tracker for data from Outlook. We use tags on the emails that we can count/filter by. So I can count the amount of times an agents name shows up in total, we also use tags to highlight email types eg New Task, Chase ect. The problem I'm having is that the raw data puts all these tags in the same column in excel separated by a comma.

    I have these in a table with agent name in Column A and the email job type in Row 1. If there a way for me to count the amount of times an agent name for example John Smith shows up in the same cell as an email job type for example New Task? The aim is to see how many of each type of email each agent deals with.

  15. Hello, I tried to count all rows containing both, lets say, "Apples" in column A and "Sold" in column B. This works fine, but when I try and count rows containing both, lets say, "Apples" in column A and EITHER "Sold" in column B OR "Sent" in column C, I don't know how to do it. I tried the below, but it double counts if a row fits both the column B and C criteria:

    =COUNTIFS(A1:A1000, "Apples", B1:B1000, "Sold") + COUNTIFS(A1:A1000, "Apples", C1:C10, "Sent")

    Is there a way to do this without double counting?

  16. hi im looking for a formula on to automatically count a data if a condition is met....for example
    column1(item number) column 2 Column3
    1 store1 Pencil
    2 store2 Ballpen
    3 store2 Paper
    4 store1 Eraser
    5 Store2 Notebook
    6 Store2 paper Clips
    7 store1 Calculator

    what i want to do is i can automate it into like this
    Result1 Store1 Item no. 1, 4, and 7
    Result2 Store2 item no. 2-3 and 5 - 6

    thanks in advance

  17. This is very helpful. I'm trying to use COUNTIFS in a dynamic dropdown list formula with OFFSET and MATCH. Two out of three criteria are a date that falls between two date ranges, but the formula doesn't return the correct values when one date range is non-contiguous. This latter part cannot be helped.

    For context:
    Columns in ref sheet (TEAMS) are TEAM, MEMBER, JOINDATE, and EXITDATE
    The dynamic dropdown formula I'm using is
    =OFFSET(Table1[[#HEADERS],[MEMBER]],MATCH(1,([TEAM]=[@TEAM])*([JOINDATE]=[@DATE]),0),0,COUNTIFS([TEAM],[@TEAM],[JOINDATE],"="&[@DATE]))

    I have tested this using array and range, and also substituted COUNTIFS with SUMPRODUCT. The result has been the same.

    Thanks for your time and help!

  18. Hi, thanks for all the examples. I have a particular one that I haven't been able to figure out.
    I need to get a count of particular items that were purchased after a specific date. My example is if I have Apples, Oranges, and pears on a list and I have purchased several of these every day from Sept 1st, 2022 to Oct 31st, 2022. I want to count just pears purchased after Oct 1st, 2022. I have every purchase item listed with it's own date. I just need excel to sort this for me on an excel cell. I can do this through pivot table but this won't help me in this example.
    Thank you

  19. Hello!
    i am trying to calculate & get number of recruiters from a team who has usage >=10 per week
    =SUMIFS(DATA[Value],DATA[Folder],"AI",DATA[Delivery Lead],$D44,DATA[Date],Report!E$43,DATA[Value],">="&"10")
    I need output as
    Name | 10.10.22 | 17.10.22 (Week Start date)
    Altaf | 0 | 2 (Two employees has usage >= 10)

    • Hi!
      It is very difficult to understand a formula that contains unique references to your workbook worksheets. Hence, I cannot check its work, sorry.

  20. I'm really Thanks to you and Very useful Information, Examples

Post a comment



Thank you for your comment!
When posting a question, please be very clear and concise. This will help us provide a quick and relevant solution to
your query. We cannot guarantee that we will answer every question, but we'll do our best :)