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 Yes/No in a column. I want to count all "No" till it encounters the first "Yes".Please help

  2. Hello Sir, first of thing, thank you very much for your help with a lot of information in your website, unfortunately, I am still having a problem. Could you help me please?

    The formula to count and multiply that I am using is:

    =((COUNTA(C5:E5;G5:I5;K5:M5;O5:Q5;S5:U5;W5))*4)+((COUNTA(B5;F5;J5;N5;R5;V5)*10))

    However I want count only text values (GR, CH, IT, MI) and multiply by 4 and 10, and not the values (FER, GER). In the same cell I can setup all the values with menu row. If I set up the value FER or GER, the cell dont will be counted.

    thanks in advanced.

  3. Hello Sir, I need help with the same kind of a situation. I have multiple criteria from the same column so i am using an array. I am using the below formula but seeing incorrect results.. please suggest an alternative. I will try to put it across as good as possible but please let me know if you need more information.

    =SUM(COUNTIFS(CriteriaRange1,{criteria 1, criteria 2, criteria 3},CriteriaRange2,{criteria 4, criteria 5, criteria 6},CriteriaRange3,{criteria 7, criteria 8, criteria 9}))

  4. Hi i need help with my table can you help me my table goes like this
    Term Definition Function/formula
    1 Adding
    2 Subtracting
    3 Multiple
    4 Divide
    5 Sum
    6 Min
    7 Max
    8 Count
    9 Counta
    10 Average
    11 Median
    12 Concatenate
    13 If
    14 Countif
    15 VLookup

  5. Hi! I am trying to create the count if function with multiple criteria, but I cant seem to get it to work. This is for scoring a particular skill with a set score for each questions. I don't have any problems if the score is constant, but how about if I have 2 scores?

  6. Hi Svetlana,
    I am looking for a solution where I will search 3 values in one column like "cancelled" or "pending" or "in transit" and then pick the corresponding value in the product column in a list. So I want index with countif, if that makes sense to you. Because match can not find 3 values and then give me the corresponding values in the product column.
    Regards,
    Abrar

  7. Hi,

    I have a question - What formula do I use when I have column that shows OPEN (AR3 cell) and all the tally numbers below AR3 cell AR4 to AR122 to match for QTY on hand column (D3) for each P/N D4 thru D122. Next day the OPEN will move to AT3 cell and AR3 cell will be closed.

  8. Hi,

    I am trying to use countifs using a range. I would like to it to count items that meet the first 2 aspects ('Sheet1'!$C:$C,"PHASE",'Sheet1'!E:E,"CONTACT") but the third aspect I would like it to count a range.

    For a single column in the 3rd aspect, this formula works:

    COUNTIFS('Sheet1'!$C:$C,"PHASE",'Sheet1'!E:E,"CONTACT",'Sheet1'!Y:Y,"CRITERIA")

    The issue I am having is that I would like to count for a range in the 3rd aspect. It would look like :

    COUNTIFS('Sheet1'!$C:$C,"PHASE",'Sheet1'!E:E,"CONTACT",'Sheet1'!Y:AH,"CRITERIA")

    I tried cheating and using this:

    COUNTIFS('Sheet1'!$C:$C,"PHASE",'Sheet1'!E:E,"CONTACT",'Sheet1'!Y:Y,"CRITERIA")+
    COUNTIFS('Sheet1'!$C:$C,"PHASE",'Sheet1'!E:E,"CONTACT",'Sheet1'!Z:Z,"CRITERIA")+
    COUNTIFS('Sheet1'!$C:$C,"PHASE",'Sheet1'!E:E,"CONTACT",'Sheet1'!AA:AA,"CRITERIA") etc.

    This really bogs down the whole workbook.

    What would be a better way to accomplish the same count? I haven't used VB in awhile but would be open to revisit if it can help here.

    Any help is highly appreciated.

    Thanks

  9. hi. i have a question.
    say i have 6 sheets in my excel system and all the sheets in column A have dates then column B has a name. so i want a formula that count the name if it falls in a certain date. But in the case that the same name appears in all the 6 sheets on the same date i want it to only count the name once. May you assist.

  10. I want to ask how if I need to find 2 criteria on 1 range, example: I have data apple, banana, grape, coconut and I need to count apple and coconut in 1 row

    • Hi,
      Have you tried the ways described in this blog post? Pay attention to the following paragraph of the article above — How to count cells with multiple criteria (AND logic)
      The formula will be something like this

      =COUNTIFS(A1:A10,"apple",B1:B10,"coconut")

      This should solve your task.

  11. Hi,

    In the example below, I'm trying to figure out a formula that will count the number of tags that have task progression. If a tag has multiple tasks that are "Done" I only want the count to be 1. Below the count should be 3. I would also like to be able to have a count for "Type A" (count=2) and "Type B"(Count=1)

    Tag Type Task Progress
    B345 Type A 1 Done
    B345 Type A 2 In progress
    B345 Type A 3 In progress
    R378 Type B 1 In progress
    R378 Type B 2 Done
    R352 Type A 1 In progress
    R352 Type A 2 In progress
    R352 Type A 3 Done
    R352 Type A 4 Done
    R843 Type B 1 In progress
    R843 Type B 2 In progress
    R843 Type B 3 In progress

    Thank you

    • Hi,
      I hope you have studied the recommendations in the tutorial above. It contains answers to all your questions.
      A conditional formula might look something like this:

      =IF(COUNTIFS(A2:A13,"B345",B2:B13,"Type A",E2:E13,"Done")>0,1,"")

  12. hi
    in the below formula when i give a single reference as A14 it is working fine if i give multiple range from A14 to A16 this formula is not working
    =countifs('ABC Daily'!$A$3:$A$100,$A$14,'ABC Daily'!$R$3:$R$100,$M3,'ABC Daily'!$S$3:$S$100,Q$1)
    could you please me to solve this

    • Hi!
      You didn't write which formula you are having problems with and where you wanted to add the range. Which formula doesn't work?

  13. Hi, please advise how to use countif formula if figures are in time
    Example : Total 10:26 9:54 10:15 9:21 9:30 9:55 00:00 00:00 9:39 4:15 9:28 9:57

    Now i have to calculate in above data figures less than 7:00

  14. I am trying to use function countif with greater than or equal to criteria in a particular list.
    e.g there are 70 numbers in a list. Criteria checks numbers less than 50, 50 to 100, 100 to 150, 150 to 200 and above.

    Now from the same count, i want to search the maximum and minimum number from same.

    Please help on this.

    • Hello!
      You can use the COUNTIFS function as described in the paragraph above: How to count numbers between 2 specified numbers. Then use the MAX function to find the largest number.
      Also you can do calculations with one array formula and FREQUENCY function.
      I hope I answered your question. If something is still unclear, please feel free to ask.

  15. =COUNTIFS(DB10,"",DG10,"") is what I use, my mistake in my first email.

  16. =COUNTIFS(DB10,"",DG10,"") does not work. I see your examples have ranges but in my situation I need a formula to only count specific cells with a date, not through a range. My understanding is counting cells with different dates can be an issue because the dates are numbers and text so I use anything. works in a range with dates in some cells and no dates in other cells and nothing else.
    What I am trying to calculate, in a very basic way, is the number of cells with a date.

    Thank You

    • Hi!
      Dates in Excel are stored as numbers. If you write down the date as text, you cannot perform any calculations with it.
      Here is the article that may be helpful to you: COUNTIF formulas for dates.
      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. Give an example of the source data and the expected result.
      It’ll help me understand it better and find a solution for you.

  17. Hello ,

    I have a question

    I am trying to create a formula that is excuted as following:

    I am working on 2 spreadsheets(tabs) named indicators and FNCI maj :

    in spreadsheet 1 FNCI maj there are multiple dates from 2017 till 2021

    in spreadsheet 2 indicators there are indicators where i am applying the formula

    i want a function that could count the number of cells that contain the month march and are in year 2021.

    So basically counting all the cells that contain a given month in a given year ,

    i've been trying but without success

    i tried using this formula

    =SUMPRODUCT((MONTH('FNCI maj'!B2:B404)=3)*(YEAR('FNCI maj'!B2:B404)=2021))

    Thanks for your help

    • Hello!
      I used the formula in my workbook

      =SUMPRODUCT((MONTH(B1:B400)=3)*(YEAR(B1:B400)=2021))

      It works without errors. I cannot verify your external references.
      Check if your dates are written as text.

  18. How would I count instances of values over a range where a cell contains multiple values? I'm collecting data from a Forms for Excel survey where it separates multiple choices as "Choice A;Choice B; Choice D; All of the above"

    Is there a version of COUNTIFS that will read that range and count instances of just one of these, when the cell may contain more than one? I guess I want this to work kind of like the Find All function

  19. I have an excel document with three tabs named Cases, Closed Cases, Collection Sheet. On the Collection Sheet tab I collect data on cases i.e. open, closed, etc. I have copied all the closed cases onto a new tab - Closed Cases as they were all on the Cases tab previously, however doing this, the formula that was put into the Collection Sheet to count them is no longer valid as I have moved the data (hope this makes sense). Therefore I am trying to put a formula on the closed cases tab to count all of the columns with a 'C'. The previous formula was =COUNTIF(Cases!04:0911,"C"). I naively thought if I changed Cases! to ClosedCases! this would solve my problem but no. Can you advise what formula I need to put in please?

    • Hello!
      If you weren't copying, but moving the data, the formula would change automatically. I recommend checking the sheet name in the formula - Closed Cases or ClosedCases. If this does not help, re-specify the range with the mouse when correcting the formula.

  20. Need assistance with the following:

    =SUM(COUNTIFS(Sheet1!$C$10:$C$27;"Eastern";Sheet1!$F$10:$F$27;{"1";"2";"4";"6";"7";"12";"13";"27";"28";"31";"32";"33";"34";"35";"37";"43";"45";"46";"48"}; Sheet1!$N$10:$N$27;{"File";"Incomplete";"Detected";"Withdrawn"}))

    The selection return "0" even though a record exist.

    • Hello!
      I don't have your data, so I can't check how the formulas work.
      I recommend checking how the numbers in the range Sheet!1$F$10:$F$27 are written. Your formula checks the text, not the numbers in those cells.

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