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. Hi,

    I have a table to do with letting of properties, table has following info 'property' 'type of property''applicant names' 'type of applicant, UOCC, HGR, FTA, TRA, MTA' and also the date that a property has been let.

    I would need to count per calendar month, how many properties were let per applicant type?

    Your help is much appreciated.

    Thank you

  2. Hello Svetlana,

    the following formula is giving me some sintax error in the last field. I am trying to create a criteria ">=" that refers to another spreadsheet.

    =COUNTIFS('Sheet1'!D1:D10,'Sheet2'!C5,'Sheet1'!I1:I10,'Sheet2'!">="&'Sheet2'!G3)

    What would be the right expression? Thanks a lot,

    Jose

    • Hi Jose,

      The criteria can be expressed as follows:
      =COUNTIFS(Sheet1!D1:D10,Sheet2!C5,Sheet1!I1:I10,">="&Sheet2!G3)

      Is this what you are looking for?

  3. Hello Svetlana,

    I'm creating an wedding invite spreadsheet. I have four columns: NAME, GUESTS, RESPONSE, AMT ATTENDING. I would like to to create a conditional cell (AMT ATTENDING) on each row that will determine how many are attending. So, if the RESPONSE cell has 'N', the AMT ATTENDING cell on that should equal 0. If the RESPONSE cell equals 'Y', the ATTENDING cell should equal the GUESTS cell on the same row.

    Is this possible? Thank you so much!

    • Hi!

      Of course, you can do this by copying the following IF formula in AMT ATTENDING column beginning in row 2:

      =IF(C2="N", 0, IF(C2="Y", B2, ""))

      Where C is RESPONSE and B is GUESTS.

      • Works perfectly! Thank you!!

  4. Hello,
    I want to use the countifs formula when the value in cell E2 is present in the list PROSPECT AND when the value in cell L2 is in the list REGULAR.
    I use the formule :
    =COUNTIFS(PROSPECT;E2;REGULAR;L2)
    However it returns #VALUE!
    It works perfectly when I use a single countif formula : =COUNTIF(PROSPECT;E2)
    Can you help please?

    • Hi Bea,

      The first thing that comes to mind is checking if PROSPECT and REGULAR lists are of the same size, since the syntax of COUNTIFS requires that all the ranges have the same number of rows and columns. Is this the case?

      • Hi Svetlana,
        they are 2 columns in a separate sheet. 1 containing 10 values, the other only 3.
        Is that what you mean?

        • Hi Bea,

          Exactly. For the COUNTIFS formula to work, both lists must have the same number of rows.

  5. Hi,
    I have a countif function that is working:

    =COUNTIF('Sheet1'!C:C,"<=10/07/2015")

    but I want to swap the date out for a cell reference e.g $AI$1 (will still contain the same date format). I cannot seem to get this to work.

    Please help!

    • Hi Rachel,

      The following formula seems to be the one you are looking for:
      =COUNTIF('Sheet1'!C:C,"<="&$AI$1)

  6. Dear Svetlana,

    I want to count the numbers when Cell value of Column A is less than Cell value of Column B of same row. Also want to apply the same logic for continuous 10-12 rows.

    Kindly suggest

    • Shubham,

      Because your task requires comparing 2 ranges, you need an array formula like this:
      =SUM((A1:A12<B1:B12) * 1)

      Due to it being an array formula, you must press Ctrl+Shift+Enter to enter the formula correctly.

  7. hello, I really need help with this.
    I have two sheets- the first one has an option to put in a date range as seen below:

    Start Date End Date
    14/07/2015 22/07/2015

    in the second sheet i have a yearly schedule for all my staff, but the way i have it laid out is the number of staff that will be in the office in the first column and the date will be in the second column, like below:

    staffed Date
    20 13/07/2015
    21 14/07/2015
    22 15/07/2015
    20 16/07/2015
    19 17/07/2015

    What i need the formula to do is check the date range in the first sheet against the numbers and dates in the second one and return a value.

    Example- i put a start and end date of my holidays into it, it checks the sheet and if i have less than 20 staffed on any of the dates specified it will say rejected. put if there is 20 or more staffed each day it will say approved.

  8. Hi,

    I am working on a spreadsheet that has some strings in columns A2:K2.
    In a separate sheet I have in rows A2:A15 some strings (PP1, PP2, PP3...PP15)
    In cell L2 I want to be able to put a formula to count how many time any of the strings in A2:A15 appear in A2:K2.

    Thank you any help in greatly appreciated.

    Matt

  9. Hi.

    I hope to get help from you.

    I have in one sheet a serial number of products. In another sheet, it shows the dates to when customers called and complained about a product. What I would like to achieve is that I would like to know how many complaints a specific product received in a 7 days, 30 days and 90 days period using the product serial number as reference.

    Thank You for any response.

  10. Hi Svetlana,

    I can't seem to get a simple formula to work:

    I have a grid spanning 31 columns wide and 5 rows deep. In any one of the cells I can have either, "M", "H", "S", "P" or nothing.

    The 5th row has to total up how many times in each of the 31 columns how many of each of the letters are shown and add them up. I'm currently trying to use this one in row 5 of column c for example:

    =COUNTIFS(C5:C9,"P",C5:C9,"h",C5:C9,"s",C5:C9,"m")

    The box just returns 0 even when there are matching values.

    Can you help?!

    • I literally solved it straight after posting this - typical! Took me two hours to admit defeat and post this question, then solved it almost immediately afterwards!

      I used this to fix it (I wasn't adding the values together!):

      =COUNTIFS(B5:B9,"P") + COUNTIFS(B5:B9,"h") + COUNTIFS(B5:B9,"s") + COUNTIFS(B5:B9,"m")

      Thanks for providing the inspiration to sort it!

      • Thank you

  11. Good afternoon,

    If using =COUNTIF(C5:C21,"X")/ROWS(C5:C21) to get the percentage of what X equals.

    How do I edit this formula to know the percentage of what X equals if I need to add multiple columns and rows together?
    Columns C & D, Rows C5:C21 & D5:D21
    Columns C & E, Rows C5:C21 & E5:E21
    Columns D & E, Rows D5:D21 & E5:E21

    Thank you,

    Kelly

    • Kelly,
      Did you ever figure out this formula? I am trying to do the exact same thing and I cannot get it.

      If you did and could share it I would be much appreciative.

      Thanks!

  12. m from a hospital background, i do need to use excel a lot to complete ma audits and various reports. m having a problem with my audit data. there are around 18 columns and about 500 rows, data validation has been applied, which gives me 3 options for each cell (yes no and NA). It is similar to your example of "COUNTIFS for text values:: counting who passed all the subjects. but in ma sheet there are three options, out of these i want to count yes and NA together and neglect no. i tried number of formulas but couldnt get the right one. atlast i counted number of "no" first in a row then subtracting it from total which gives me the value of number of "yes and NA" in same. But i was wondering if there is a possibility of counting two texts together in a single row.

    • Hi JOLLY,

      You can add up the results of 2 COUNTIF functions, like this:

      =COUNTIF(A1:F500, "yes") + COUNTIF(A1:F500, "na")

  13. Countifs with multiple criteria as is not showing correct input
    Countifs(A:A,"Jan",B:B,"User1",B:B,"User2")
    result showing as 0

  14. dear mam,
    i have the following data in sheet
    A B C D E
    1 SL RM RM/SL JY/RM SL
    2 JY SL SL RM/SL RM
    3 RM RM/SL JY/RM JY SL
    i want to count "SL" or any other string combine with other. which countif cirteria should i use?

    • Hi TEJASWINI,

      You can use a usual COUNTIF formula like this:
      =COUNTIF(A2:E4, "SL")

  15. Thanks the countifs definition and example really helped me resolve a calculation issue in one of the formulas I was using.

  16. Having a problem figuring out why a countifs formula doesn't work. I have a file that has several types of status closings in it - Verified; Verified-Paid; Verified Denied; Canceled; Taken; Assigned.

    Based on the client I want to count the number of any trip status that is {Verified* or Taken* or Assigned*}

    And further has the Level of Service that is any of . . .

    =SUM(COUNTIFS(Table1[Broker Client],"VA Client Health",Table1[Status],{"verifi*","Taken*","assign*"},Table1[Trip Level of Service],{"ambu*","Lodg*","Meal*","special*","Mass*"}))

    What am I missing with the Wildcards and {}. It's a 145000 + row file

  17. I have a formula that is working to get my answer, but the problem is I need to use that answer in another formula and that isn't working. Any help on that?

    1st Formula: =IF(COUNTIF(F:F,"*Corr*"),"1",)

    2nd Formula that need to be able to count the "1" in the first formula. : =SUMPRODUCT(--('Raw Data'!C:C=C4),--('Raw Data'!H:H=1))

  18. Hi,

    I am trying to count how many consecutive days each employee works in a given date range. Here is how my spreadsheet is set up:

    A1 = Title Name
    A2 to A100 = Employee Names (an employee name may be lkisted 20 or more times in a row and then the next employee's name - in alphabetical order)

    C1 = Date Worked Title
    C2 to C100 = Dates (consecutive dates)

    H1 = Hours Worked Title
    H2 to H100 = Hours worked each day

    So, I am trying to find for each employee, what is the maximum days in a row (consecutive days) each employee worked.

    Thanks in advance.

  19. Good Morning!
    This tutorial was very helpful. I am having an issue with some dates in the formula:
    =COUNTIFS(tblEvents[Date of Request],">=6/15/2015",tblEvents[Date of Request],"=J1",tblEvents[Date of Request],"<=J2")

    Thank you! Tanya

  20. Howdy,
    I’m trying to figure out how (or) if I can apply countifs to my spreadsheet. What I have going:
    In Column “I” I have Panel ID i.e. C3D
    In Column “J” I have # of panels (“1” per line item currently)
    Column “L” I have panel ID again
    And “M” I have QTY
    My thought process behind this so far, is when I receive a trucking invoice, I receive, i.e. 20 panels of C3D. Well, currently I have to enter C3D 20 times with a “1” next to each in # of panels to get the QTY in “M” to count it. What I want to do here is be able to enter “20” in # of panels in “J” for ID C3D in “I” and have it say, on row 9 in column J is C3D, and for that entry is 20 of them and count 20 for C3D. Say tomorrow I can 3 more C3D. Next row in row 10, C3D with 3 and the countifs not stop at the first one with just 20, but keep going and say, hey, 3 more for a total of 23.
    Any help would be greatly appreciated!

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