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 There,
    I'm looking for a formula that count the different between specific cells. I have 100 cells contains reading and I want to count if different for instant between 6th cell and 1st cell is more than 10, similarly I want to do it for cell 24th and 48th, 72nd and 96th,....

    thanks,

  2. I have a spreadsheet where cells contain answers to a multi-response question. Cells can contain any combination of responses from A - J. I need a way to count the number of cells that contain (for example) A, C, or E. If a cell contains more than one of these, I don't want it to be counted twice. For example:

    Cell 1: A, B, D
    Cell 2: A, C, E
    Cell 3: B, D, E
    Cell 4: B, D, G, J

    The total count of cells that contain A, C, OR E is 3. Using the OR formula above, we would get a total of 5, as the count for A is 2, the count for C is 1, and the count for E is 2. Is there any way to do this?

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

      =SUM(COUNTIFS(A1:A16,{"*A*";"*C*";"*E*"}))-SUM(COUNTIFS(A1:A16,{"*A*C*";"*C*E*";"*A*E*"}))

      This is an array formula and it needs to be entered via Ctrl + Shift + Enter, not just Enter.

  3. Hello,
    I need to get the count based on specific criteria from two tables.
    the header will be
    emp name, Batch number. This will be the master base data. From this, I need to make an overview that shows a specific batch count for each employee.

    The emp name will be repeated.

  4. Hi,
    I'm using countifs and need to count the data date wise but the result is coming 0 everytime. For the same I have used 2 different ways, one using today() and another by inserting required date but the outcome is same.

  5. I am trying to figure out a countifs formula inorder to determine how many scores are above 8 during the year 2020.
    Column 1 Column 2
    2/21/2020 14
    1/9/2020 7.2
    11/9/2019 9.5
    2/20/2019 6.0

    Which would be only 1.
    Thank you in advance. :)

    • Hello Fabiola!
      If I got you right, the formula below will help you with your task:

      =SUM(COUNTIFS(A2:A5,">=1/1/2020",A2:A5,"<1/1/2021",B2:B5,">8"))

  6. Am having a problem with some problem and am asking of help.
    We want customers to receive a coupon based on the department they purchased from.
    Coupon amounts by department:
    Electronics—$25 coupon.
    Toys—$20 coupon.
    Sports—$15 coupon.
    Shoes—$10 coupon.
    Every other department—$5 coupon.
    Create a column named “Coupon.”
    Create a formula that displays the coupon amount for each customer based on department.
    Remember! The standards of professionalism require that you DO NOT include numbers in formulas if the numbers might change in the future. These coupons will change in the future.
    Create a column named “Promotion.”
    Create a formula to enter $10 if the customer purchased books or shoes.
    If you forgot how to create “OR” functions inside.
    When a customer calls, we want our staff to quickly find the customer and information. Create a dashboard.
    Create a customer drop down list using data validation.
    Below the list displays the appropriate corresponding information: email, gender, new sales, department, coupon, and promotion.

  7. Kindly share the formula for below,
    Monthly profit share to be distributed based on attendance. Kindly advise

  8. assalam o alaikum
    i want to count qty how many cell of colum 1 date empty of secound column
    example
    column 1 column
    17-01-2020
    17-01-2020
    18-01-2020 245
    18-01-2020
    18-01-2020 254
    now how we use formula 17 -01-2020 02 cell is empty and 18-01-2020 is 02

    • =COUNTBLANK(select the range of the second column)

  9. I'm trying to figure out what a COUNTIF formula means on a sheet I didn't create. The Range is text rather than specifying a cell range and I can't figure out what data that range is connected to. The formula is =COUNTIF(Round 2,AC$4) and I can't figure out what "Round_2" connects to. There is another sheet within workbook with a cell named "Round 2" but the data there doesn't seem to be applying to this formula.

  10. Hi!

    I'm working on compiling data into three different scenarios. I need to do the following:
    1) identify if the institutions have the same ID
    2) if they have the same ID, then I need to identify if they have 1 of 3 criteria, 2 of 3 criteria, or 3 of 3 criteria

    I tried using IF & COUNTIF but it's not working the way I intended

  11. I am trying to create a formula that will allow me to select certain dates for the month so I can obtain a total. Unfortunately my spreadsheet is titled with dates and below the dates there are subtitles that need to be added per date.
    For example I want to gather only the dates that fall on a Monday and grab the cell totals for those dates only. Please help.
    Column A Column B
    7/12/19
    1 45.62
    2 6.52
    3 18.52
    4 154.52
    7/13/19
    1 93.92
    100 101.52
    500 100.32

  12. Hi. I have a column with three texts. Let me say A, B & C. I want to count the number of times A occurs, B occurs and C occurs between TIME1 & TIME2. Both time are the ame date.
    Thank you

  13. I have a file with say 100 records . Each record has 20 numeric cells with a number (1 thru 80) eg 2 5 6 17 20 28 30 33 42 50 54 55 60 69 70 71 72 73 75 80 each in its own cell. Note that the record contains 6 20 33 55 . I want to filter all records in the 100 records that contain 6 20 33 and 55. My records have record numbers eg ( 23456) and a cell stamped with N or Y. Format: Each of the 100 records --- File Number, , Y/N. I actually have 50,000 records. I did this once 5 years ago and cant remember how. Thank you Ken Dupont
    by the way this is for checking the frequency 4 numbers occur. 25 years ago said Avg 340 games.

  14. I'm trying to count the number of times a specific item ships within a specified month (column B contains the ship dates and column C contains the items). How can I do a COUNTIFS formula where one criteria is the ship month and the other criteria is the item. All the "countifs with dates" explanations I've seen only ever explain how to use the formula with ONLY dates but not with dates and another criteria. Is it even possible? (also my spread sheet has empty cells in between some dates. I've seen elsewhere that that can mess with the counting function when dates are involved)

    i.e. SHIP ITEM
    Thursday, January 23, 2020 Solenoid
    Thursday, January 23, 2020 Sensor

    Tuesday, January 28, 2020 Sensor

    Monday, February 3, 2020 Electromagnet
    Monday, February 3, 2020 Solenoid

    So basically, I need a formula that can tell me that 2 sensors ship in January.

  15. Hi, would like to seek help.

    if i would like to subtract the total sum of COUNTIF "Yes" from another part that i have Sum up, how can i do so?

    Example:
    =COUNTIF(K16:AG16,"yes") : Probably i got 3 for countif (but i want to subtract it from another number)

    can i do so? tq

  16. HI.great job
    i want a formula to count a1+a2 as one if a1+a2>0

    • Create a different column. for a1+a2. then just countif.

  17. 1. Number of employees from the Sales deparment who joined before July 2006 and have a total experience (prior and present) of more than 10 years?
    Employee Name Department Joining Date Prior Experience
    Prakash Marketing 01-05-2003 2
    Rahul IT 09-01-2008 1
    Rajiv Finance 14-03-2007 0
    Priya Sales 15-12-2009 1
    Amit Marketing 01-06-2002 2
    Karthik IT 16-02-2009 1
    Shobha R&D 23-01-2006 0
    Prateek Manufacturing 01-02-2010 3
    Payal Logistics 01-05-2003 3
    Prashant Finance 15-06-2003 0
    Anil R&D 01-05-2003 5
    Swaroop Marketing 01-01-2009 1
    Tejas Finance 25-01-2010 0
    Raghav Manufacturing 08-11-2004 4
    Sanjeev Manufacturing 01-02-2010 0
    Madhu Finance 14-03-2007 3
    Murali Logistics 14-03-2007 2
    Aravind Sales 15-12-2007 8
    Balaji Marketing 08-11-2004 2
    Mukundan Manufacturing 01-05-2003 3
    Shweta Sales 10-10-2001 0
    Anusha Manufacturing 01-01-2009 0
    Ravi Manufacturing 15-06-2003 1
    Rahul HR 29-04-2005 4
    Ramya IT 09-01-2008 2
    Shriram Marketing 08-08-2008 5
    Sairam R&D 16-02-2009 3
    Srinivasan Finance 08-08-2008 0
    Trisha Manufacturing 23-01-2006 0
    Paul Manufacturing 25-01-2010 1
    Mani Manufacturing 29-04-2005 2
    Venkat Finance 08-11-2004 2
    Abhishek Marketing 12-09-2005 5
    Chanakya Sales 21-12-2004 4
    Daniel Sales 15-06-2003 2
    Rishi Logistics 01-02-2010 3
    Vikram R&D 08-01-2007 3
    Prabhu Sales 01-02-2010 0
    Priya IT 29-04-2005 2
    Mahesh Marketing 15-06-2003 0
    Raj HR 25-01-2010 4
    Suresh Manufacturing 11-07-2008 4

  18. I have a spreadsheet I am trying to use data validation I have an items list, each item has a specific max discount. I have used vlookup to link the data from the list to autopopulate when I type a specific item number. I need to be able to type a percentage up to the max allowed for the item. How do i set up a formula that only allows up to that max discount for the item listed on the invoice. If over that discount I need an error message. Thankyou for your help.

  19. excelente
    Quiero bajar este archivo fabuloso.

  20. Hi,
    I'm working on a spreadhseet that needs to show a value of business sold by each agent. sometimes 2 agents will share the business and therefore get 50% each toward target.
    column A and B show which agents are responsible for the business and column C shows the value of the business. I'd like a formula in column D to show exact figure from column C if column B is empty, if column B contains any data then column D should show value from column C/2.
    I'm struggling to make this work, any help would be much appreciated.

    • Any time you want to check something conditionally, you'll need to use the IF formulas. For your example: =IF(ISBLANK(B3),C3/2,C3)

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