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 rather large table and I'm trying to highlight rows that meet multiple criteria. Yes I'm a novice. In column CY, each cell has multiple words (for instance: Fire Damage, Split Top, Decayed Top); in column Q each cell has a date (year only). I'm trying to pinpoint and highlight the rows that contain the words "Split Top" in column CY and a date of 1995 or higher in column Q. Every formula I've tried highlight the rows if they're carrying one or the other, or both. For reference, I've highlighted the entire table and went to conditional formatting and entered the following:
    =countifs(($CY2,"*Split Top*")+($Q2>1995))
    Can you help?

    • Got it! I never put the comma between Q2 and the parenthesis. Thanks!

      =COUNTIFS($CY2,"*Split Top*",$Q2,">1994")

  2. ok, so im trying to figure out how to add 2nd variable onto my formula to count them both. but i cant get anything to work.

    =COUNTIFS(DUE!A:A,"DLA",DUE!C:C,"250",DUE!N:N,"V")

    now this currently works, but i also want to add Y that is also in the same column as "V"

    any help would be greatly appreciated

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

    Electronics—$25 coupon.
    Toys—$20 coupon.
    Sports—$15 coupon.
    Shoes—$10 coupon.
    Every other department—$5 coupon.

    • Hello!
      I’m sorry but your task is not entirely clear to me. Could you please describe it in more detail? What result do you want to get? Give an example of the source data and the expected result.
      Thank you!

  4. Status Group Name
    A B C
    1 Solved Everglow Mike

    2 Closed GreenDot Jess

    3 Pending Pledis Mike

    4 Closed Pledis Gus

    5 Solved Greendot Jess

    6 Solved Greendot Charlie

    7 Pending Everglow Gus

    I wanna count how many Gus, Jess, Mike has a Solved or Closed Status from Greendot in to one cell. when i have the formula below the error #spill! shows..

    =COUNTIFS(C:C, {"Gus","Jess,"Mike"}, B:B, "Greendot", A:A, "Solved")+COUNTIFS(C:C, {"Gus","Jess","Mike"}, B:B, "Greendot", A:A, "Closed")

    please help i'm very confused

    • i figured out the formula

      =COUNTIFS(C:C, "Gus", B:B, Greendot, A:A, "Solved")+COUNTIFS(C:C, "Gus", B:B, Greendot, A:A, "Closed")+COUNTIFS(C:C, "Jess", B:B, Greendot, A:A, "Solved")+COUNTIFS(C:C, "Jess", B:B, Greendot, A:A, "Closed")+COUNTIFS(C:C, "Mike", B:B, Greendot, A:A, "Solved")+COUNTIFS(C:C, "Mike", B:B, Greendot, A:A, "Closed")

      but honestly is there no way to shorten this formula?

      • Hi!

        The formula below will do the trick for you:

        =SUM(COUNTIFS(C:C, {"Gus","Mike","Jess"}, B:B, "Greendot", A:A, {"Solved";"Closed"}))

        I hope I answered your question.

  5. I need a formula to count if columns A, B, C, OR D have "*apples*" AND column E is not blank.

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

      =SUM((ISNUMBER(SEARCH("apples",A1:A10,1))+ISNUMBER(SEARCH("apples",B1:B10,1))+ISNUMBER(SEARCH("apples",C1:C10,1))+ISNUMBER(SEARCH("apples",D1:D10,1)))*NOT(ISBLANK(E1:E10)))

      I hope my advice will help you solve your task.

  6. Hi, I doing a sale excel were I need to count all the same product multiply by the amount of order.

    Order product
    2. Apple
    3. Orange
    1 apple

    Were apple should be 3 and orange will be 3.

  7. Hi, I doing a sale excel were I need to count all the same product multiply by the amount of order.

    Order product
    2. Apple
    3. Orange
    1 apple

    Were apple should be 3

  8. Hi,

    Thanks for this article. My problem now is it doesn’t count when one cell has the same text, especially two names of the same person.

    The text goes like this:

    G2:G10 = James
    G11:G20 = James Pattinson

    Formula:

    =(COUNTIFS(F:F, $K$5, G:G,{"James", "James Pattinson"},D:D,"Done"))

    The formula refuses to count cells that have the same first keyword. Please advise on how to solve this.

    Paul

    • Hello!
      I believe the following formula will help you solve your task:

      =SUM(COUNTIFS(F:F, $K$5, G:G,{“James”, “James Pattinson”},D:D,”Done”))

      or

      =COUNTIFS(F:F, $K$5, G:G,“James”&"*",D:D,”Done”)

      I hope my advice will help you solve your task.

  9. Hello Alexander,

    Works like a charm :D
    Thank you very much for your help.

    Kind regards,
    Mitchell

  10. Hello,

    In the example "How to use COUNTIFS with wildcard characters"

    How would I count the number of "Mike" in column B when the date in C equals the date in D?

    Kind regards,
    Mitchell

      • Hello Alexander,

        Thanks for your feedback. Unfortunately I don't get the desired result, but a "value not available error".

        So what I'm trying to do:
        On sheet 1 I have information on deliveries. (suppliers (column N), promise dates(column G), actual delivery dates(column H), and many more)

        On sheet 2 I have listed all suppliers(column A) and added a column(B) with a formula which counts the number of times a supplier made a delivery =COUNTIF(Sheet1!$A$2:$P$268;A2)
        Now I want to add a column(C) which only counts the times this supplier actually delivered on the promise date.(Sheet 1, G=H)

        With your help I tried below formula, which returns a "value not available error".

        =SUMPRODUCT((Sheet1!$A$2:$N$268="A2")*(--((Sheet1!$G$2:$G$268:Sheet1!$H$2:$H$268))))

        Based on above information, is there a formula which can calculate this without adding columns to sheet 1?

        Kind regards,
        Mitchell

        • Hello!
          I wrote this formula based on the description you provided in your original comment. Please note that if you’d provided me with the precise and detailed description of your task from the very beginning, I’d have created a different formula that would have worked for your case.

          =SUMPRODUCT((Sheet1!$N$2:$N$268=A2)*(--(Sheet1!$G$2:$G$268=Sheet1!$H$2:$H$268)))

          I hope this will help

  11. Thanks, Svetlana!
    A lifesaver, as usual.

  12. Hi! Very useful article. I'm struggling with figuring out a formula.

    I've got two sheets: the first with raw data, the second with a summary table I'm trying to configure.

    Here's a screenshot of the summary table sheet: https://www.dropbox.com/s/2xpyrccqrgmpqe8/Capture%20d%E2%80%99%C3%A9cran%2C%20le%202021-02-05%20%C3%A0%2016.43.41.png?dl=0

    Here's a screenshot of the raw data sheet: https://www.dropbox.com/s/yb85pb8d759z4k0/Capture%20d%E2%80%99%C3%A9cran%2C%20le%202021-02-05%20%C3%A0%2016.44.08.png?dl=0

    I'm trying to use COUNTIF to count the number of entries that match the following:

    Data!A:A must match Summary!A7 (Grade
    Data!B:D must match Summary!B7 (Grade)
    Data!J must be between C3 and C4 (Date Range)

    I can't seem to figure it out for the life of me. I've tried SUM COUNTIFS with multiple criteria and data ranges to no avail. Any help/insight would be much appreciated!

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

      =COUNTIFS(J:J,">"&$C$2,J:J," < "&$C$3,A:A,A7,B:B,B7) + COUNTIFS(J:J,">"&$C$2,J:J," < "&$C$3,A:A,A7,C:C,B7) + COUNTIFS(J:J,">"&$C$2,J:J," < "&$C$3,A:A,A7,D:D,B7)

      In this formula, correct the cell references to match your data and worksheet names. I cannot verify its work, since I do not have your data. To understand this formula, I recommend reading the article above.
      I hope I have answered your question. If something is still unclear, please feel free to ask.

      • It worked! Thanks Alexander!

        I was stumped with trying to match data across 3 columns, but your solution nailed it by simply adding them up. Thanks so much.

  13. Hi, How can I count the OR# per per loan type and status using countifs, below the sample

    STATUS LOAN TYPE OR#
    2 HP 123
    1 HP
    3 HP 456

    • STATUS -LOAN TYPE-OR#
      1 - HP -123
      2 -HP
      3 -HP -456

      • Hello!
        I hope you have studied the recommendations in the tutorial above. It contains answers to your question: COUNTIFS formula with multiple criteria
        Please check the formula below, it should work for you:

        =COUNTIFS(A2:A4,1,B2:B4,"HP")

        I hope it’ll be helpful.

  14. Hi, I have a cell range with a start date and a cell range with an end date and I'm trying to use the TODAY function to return the amount of people within the two date ranges when I load the sheet - any idea?

  15. Hi, I am trying to set up a spreadsheet to check whether colleagues are completing specific tasks (that are recorded on a different spreadsheet), at least once within each 28 day period and to count how many of the task they did within the period. The best way I can think of it to to pull the count for each date and then have a separate tab that then works off that count to be certain the colleague is competent over the year. But I'm struggling to get the correct formula. What I need is: the count if column M on spreadsheet A is equal to cell A2 on spreadsheet B AND the date within column Q on spreadsheet A is equal to B1 on spreadsheet B - spreadsheet A being the one that contains the original data and spreadsheet B being the new one I am setting up. Is there any way to do this?

    • Hello!
      Without seeing your data it is difficult to give you any advice. You have not specified what data you want to retrieve into the new table.
      Please check out the following article on our blog, it’ll be sure to help you with your task:
      Vlookup multiple matches based on multiple conditions
      You can also solve your problem without formulas using a pivot table.
      I hope I answered your question. If something is still unclear, please feel free to ask.

  16. IF I PREPARED A ATTENDANCE SHEET I WANT TO COUNT P,D,C,O IN ONE CAN U TELL ME HOW

    • Hi,
      I’m sorry but your task is not entirely clear to me.
      Please describe your problem in more detail. What are P, D, C, O? Letters? Columns? Values? What do you want to calculate? Include an example of the source data and the result you want to get. It’ll help me understand your request better and find a solution for you.

    • easiest way to count this is by using formula Countif or Countifs. See the examples in the article.

  17. Hi,

    I am trying to use countifs using OR logic to find the number of bacterial strains with my gene of interest.

    The formula I'm using is:

    =SUM(COUNTIFS(BB:BB,("*"&BO3&"*", "*"&BP3&"*", "*"&BQ3&"*") BO3, BP3 and BQ3 are all text cells

    The data range is filled with lines of text corresponding to all genes that are present for that sample, I am interested in knowing how many samples contain gene x, or gene y, or gene z.

    My issue here is that only the cell BO3 is highlighted as an actual reference cell in the formula, any of the other cells I try to reference after the first one (Ie BP3 and BQ3) does not show up as a referenced cell.

    It would appear that the formula only lets you have one wildcard, while all other criteria have to be exact matches? I hope this isn't the case and I'm just confused.

    Thank you in advance.

    • Hello!
      Without seeing your data it is difficult to give you any advice. You spelled the COUNTIFS formula incorrectly. For each criteria, you need to specify criteria_range:

      COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2]…)

      I think you should use the COUNTIF function as described in this section above.
      I hope I answered your question. If something is still unclear, please feel free to ask.

  18. *executed Contract per month
    MONTHS ANN VAL GLENN BELLA JO SEB
    January
    February
    March
    April
    May
    June
    July
    August
    September
    October
    November
    December

    • Hi,
      I’m sorry but your task is not entirely clear to me. For me to be able to help you better, please describe your task in more detail. Please specify what you were trying to find, what formula you used and what problem or error occurred.

  19. =COUNTIFS('C.O MONITORING'!X8:X992,"MOIA",'C.O MONITORING'!AE8:AE992,"BELLA")
    this is my old formula. counting the number of contracts executed by a certain person "Bella"

    for new formula
    I want to count the number of the contract executed by "BELLA" per months (with a specific date)

  20. how to use countif for one date range (mont and year only) and specific text

    • Hello!
      I’m sorry but your task is not entirely clear to me. Could you please describe it in more detail? What result do you want to get? Give an example of the source data and the expected result.

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