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 am currently using a timesheet to see how much of my day is spent doing certain tasks. It looks something like this:

    14:43(start) to 15:24 (finish) ADMIN
    15:24 to 16:59 Payment Recons

    I now need to use countifs/sumifs to see how much time I spent doing admin. I'm sure I can use the same formula to see time spent doing admin in a day or in a month, etc.

    Thanks so much!

  2. I need a formula to count and generate a new column with the data.
    If I have a column with repeat numbers:
    123
    123
    456
    789
    789
    New column is:
    1 of 2
    2 of 2
    or
    1-2
    2-2
    Thank you in advance,
    Miguel

  3. My issue is that I have 2 columns with date ranges (a start date and an end date.)
    These can span multi-month and in a few instances multi-year.
    I'm trying to create a formula that would determine how many instances of each of these columns land in January of a specific year (or February,etc. Trying to track how many of these fall into a month.)

    Thanks for your time!

    • Stu:
      The above article explains this and more. I recommend you read it if you want to understand more about Excel. However, here's a synopsis.
      Where the dates are in the range F64:F76 and you want to count all the August 5, 2018 dates use this formula:
      =COUNTIF(F64:F76,"8/5/18")
      Same range and you want all the dates from August
      =SUMPRODUCT(1*(MONTH(F64:F76)=8))
      Same range and you want all the dates from August 2018
      and your Excel version supports COUNTIFS:
      =COUNTIFS(F64:F76,">8/1/18",F64:F76,"<8/31/18")

  4. Hi

    I am trying to do the following.
    Example:
    Row 4 - 80, 79, 56, BLANK
    Row 5 - BlANK, 34, 56, 88

    I want to be able to count the range in row 4, however, is a cell is blank then use the corresponding cell on row 5.

    The answer would be = 303 for the above.

    HELP PLEASE

    Andy

  5. I need help. I am trying to take column B with 9 different arrays such as Air Refueling WG, Mission Support Group, Maintenance Group, etc... Then in Column G I have three arrays.. Current, Overdue and NPNP.. what I am trying to do is break down the 900 cells to show me who is current and overdue per each separate array in Column B.

    For Instance: Column b has 9 Air Refueling WG cells and 7 are current and 2 are overdue. So I need a formula that will pick out the Air Refueling WG people and show me how many are current and how many are overdue. and then do that for each separate group in column b.

    Can this be done??

  6. Hello
    I am working on sheet to get customer attendance that how many days customer come into company sales register. specimen data is as follows;

    Cloumns A B C
    Customer Date Attendance(Result Col)
    Customer A 6/1/18 Need Count Result like 1
    Customer A 6/1/18 Need Count Result like 1
    Customer B 6/1/18 Need Count Result like 1
    Customer A 6/2/18 Need Count Result like 2
    Customer A 6/2/18 Need Count Result like 2
    Customer C 6/2/18 Need Count Result like 1
    Customer B 6/3/18 Need Count Result like 2
    Customer A 6/3/18 Need Count Result like 3
    Customer A 6/3/18 Need Count Result like 3
    Thanks & Regards
    Mirza Farooq

    • how to upload excel file?

  7. i would like to write a formula in excel where eg. each time a person clocks in after 8:30 am then to time is accumulated for the month. eg. say the clocks in 8:45am then is shows time loss as 45 minutes

  8. Hello,

    I nedd one help to you.

    can you please provide me advice.

    I have vendor & payment tracking excel sheet.

    I entered the sales details in vendor sheet.

    we are selling the materials to lot of vendors.

    coming to the point.

    Vendor sheet i maintaing Vendor name, Invoice date, actual value, GST and net value.

    Payment sheet i entered only Vendor name and Invoice date only.

    Both sheet compare and coming to the total value.

    is it possible to excel.

    Please give me the formula.

    Regards,
    Vijay

  9. I need a program that can generate for me a criteria based on three issues in rows a,b and c for 20 categories as columns such that cell will have 3 scenarios in each column and row produced to the 20 columns.how many cells contents will i have in total 20x3x3? or 20x3x3x3? which branch of maths is this? can it be done in excel? if not which program?
    kind regards
    Geoffrey

  10. I need a program that can generate for me a criteria based on three issues in rows a,b and c for 20 categories as columns such that cell a will have 3 scenarios in each column and row produced to the 20 columns.how many cells contents will i have in total 20x3x3? or 20x3x3x3?
    which branch of maths is this?

  11. Hi,

    I have a survey with the following columns: User, Role, Q1 (Like, Dislike, Neutral), Q2 (Like, Disklike Neutral).

    I have my 'countifs' working with named ranges (Role, Q1, Q2), such that I have

    =COUNTIFS(Role, "Accounting", Q1, "Like")
    =COUNTIFS(Role, "Accounting", Q1, "Neutral")
    ...
    ...
    =COUNTIFS(Role, "Payroll", Q1, "Like")
    =COUNTIFS(Role, "Payroll", Q1, "Neutral")
    ...
    ...
    =COUNTIFS (Role, "Accounting", Q2, "Like")
    etc etc
    etc etc

    This works, but it is time consuming to manually input the roles and response as the title for each line, and then update the formula to have the role/response each time.

    I'm wondering if there is a way to kind of combine the 'subtotal', or somehow 'group' this information, or use this formula differently so that I can more easily get the counts without having to define the role manually each time ex. like it would just see 'at each change in Role, use the countif"

    So the output would be:
    Accounting Like - 10
    Accounting Dislike - 20
    Payroll Like - 15
    Payroll Dislike - 5

    Hope my questions is clear enough!

  12. I am trying to plot a formula to count month names (i.e. Jan, Feb, Mar, Apr)and have prepared a drop down list on cell Q16 with month names. I want that if I select a month it gives me the count of that month only, other wise if I select All it would give me the count of all months. Please help

    =COUNTIFS(Sheet1!R:R,Q16,Sheet1!R:R,"Q16")

  13. I'm close to understanding by reading all of the above, but I have a question. I need to compare two columns, counting the number of times a name in column A matches a name in column B. Column A being the constant unchanging column. There are MANY names so spelling them all out in "" is not efficient, I would love to cell reference them if possible. Thank you!

    • for example...count how many times the names from B match A:
      A B
      John Smith James Doe
      Jane Smith Eric Li
      James Doe George James
      Jana Doe Mary Patt
      Eric Li Tom Wright
      Hilda Smyth Mike Smith
      George James Ryan Garrett
      Ryan Garrett Greg Joseph

      • Heather:
        If you want the number of times the names are duplicated I think this will work:
        =SUMPRODUCT(COUNTIF($A$2:$A$10,$B2:$B10))
        Where the data is in columns A and B cells 2 to 10.

  14. What is the formula to add alternate cells if we want to add cells like a1, c1, e1,.....more than 50cells

    • Sunder:
      The formula to add cells in every other row is an array formula so after you enter it into the cell where you want the result to show be sure to select the formula in the formula bar and press CTRL+SHIFT+ENTER. When you do you'll see the curly brackets around the formula indicating Excel recognizes it as an array.
      You can change the $A$1:$A$100 or $A$1:$B$100 to the range you need.
      Formula to add every other row in column A is:
      =SUMPRODUCT((MOD(ROW($A$1:$A$100),2)=MOD(ROW($A$100)-1,2))*($A$1:$A$100))
      Formula to add every other row in column A and B is:
      =SUMPRODUCT((MOD(ROW($A$1:$B$100),2)=MOD(ROW($A$100)-1,2))*($A$1:$B$100))

  15. i have to extract multiple records from the large range of data with one criteria, i have tried with various formulas, could you please support us

    Make Customer Name Status Quote No/PO No Date Part No
    TVT L & T Kobelco Open 36 14-05-2018 BSF2250-55
    TVT L & T Kobelco Open 36 14-05-2018 BSF2650-70
    TVT L & T Kobelco Open 36 14-05-2018 BSF3666-70
    TVT L & T Kobelco Open 36 14-05-2018 BSF4276-55
    TVT L & T Kobelco Open 36 14-05-2018 BSF56100-80
    BPK Flowserve MM Closed 423974 11-05-2018 B7M-180240439
    BPK Flowserve MM Open 423974 12-05-2018 P21i-190M
    BPK L & T Kobelco Closed 3100001603 12-05-2018 484C-520
    BPK L & T Kobelco Closed 3100001603 08-05-2018 483C-450
    BPK L & T Kobelco Closed 3100001603 08-05-2018 483C-430
    BPK L & T Kobelco Closed 3100001603 08-05-2018 483C-390
    TVT Maha Hydraulics Open 33 10-05-2018 JAWS - VICE KURT
    TOOLFLO Avalon Tech Open 32 08-05-2018 MTECS 06032C12 32UN AC22R
    TOOLFLO Sundaram Clayton Open 31 08-05-2018 MTEC 0606C9 27NPTF AC22R
    TOOLFLO Sundaram Clayton Open 31 08-05-2018 MTECZ 08076C10 27NPTF AC22R
    KURT Sai Engineering Open 30 07-05-2018 KURT DX6
    Haimer Auto Bhan Closed 29 07-05-2018 40.521.16
    Haimer Auto Bhan Closed 29 07-05-2018 81.160.06
    TOOLFLO Q2Q Solutions Open 28 07-05-2018 MTECZ 1009C28 1.75ISOAC22R
    TOOLFLO Q2Q Solutions Open 28 07-05-2018 MTEC 0808C28 1.75ISO AC22R
    TOOLFLO Flowserve MM Open 25 03-05-2018 LN25DIR8UN AH725
    Haimer Reep Industries Open 23 03-05-2018 F1004NNL0300CAA

    i need to extract report based on Make or Customer

    • Ramakrishnan:
      Does one report need to contain Make or Customer?
      Do you need one report to contain Make and another report to contain Customer?
      Does your Excel version support creating tables?
      What's the number of rows you need to search at one time?

  16. Range of cells Sheet1 G5 to G3208 if the condition "B4" is met in one or more of these cells I need the Sheet1 O5 to O3208 checked for a condition of "reject" on the same ROW of any "B4" conditions and the sum placed at Sheet2 D4 can anyone help me out with this ?

  17. Good afternoon

    Please assist. How do i count number of times data repeated itself in a row and in a column.

    Thank you

  18. I have a small query to you but big for me. actually i have a data of whole month. I need the count of failed item which are continues failed more than 3 times. for any example 1may to 3 may Failed then i will get count 1, or if first 2 days failed but on 3rd day got success count will be 0. Like that might be in the mid of month same kind of situation will raise. So it will sum count.

    Much appreciate if you can help me.

  19. Could I use COUNTIFS to determine how many entries in a multiple-column range match a date in another column?
    eg.
    A4:B35 against dates in N4:N35

    If not what would be the alterntive?

    I need to count how many payments were made in April and how many were made in May.

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