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. Kindly help with formula to count only visible cells with values greater than zero

    • Hi! The COUNTIF function counts all cells. It does not matter if they are hidden or visible. You can use the Excel filter to hide cells less than zero. Then count the visible cells in the column using the AGGREGATE function. For example:

      =AGGREGATE(2,5,C:C)

  2. Is there anyway to use wildcard along with Cell references?
    for eg.
    Column A has the base words like A1 = 'Rice", A2 ="Noodle" etc and I want to find the number of cells in Column B which has data like fried rice, brown rice, flat noodles, noodle soup etc.

    something like COUNTIF(B:B,*A1*)

  3. =COUNTIFS('Document Master'!$H$11:$H$378,"Philippe MURPHY",'Document Master'!$P$11:$P$378,">="&H72,'Document Master'!$P$11:$P$378,"<="&EOMONTH(H72,0),'Document Master'!$Q$11:$Q$378,"Approved")

    This formula is working, however, I want to count also not only "Approved" documents but also "For information only" documents.

    How do i do that?

    • Hi! Please re-check the article above since it covers your task. Read following paragraph: Count cells with multiple criteria (OR logic). I can't recommend you a formula that contains unique references to your data that I don't have.

  4. Hello,

    I have cells A1,A3,A5,A7 - I need to find out if they add up to 40 - if they dont for it to be a 0 and if they do to be the difference.

    How would I put that into a formula please.

    So if they added up to 28 the answer woudl be 0. But if they added up to 48 the difference woudl be 8. Thank you so much.

      • Thank you so much.

        best wishes,

        Nina

  5. What about if I whant to count a cell that contains this data "Proj 34d Late", but in the other cells i can have "Late", "On Time", "Proj 0d On Time", and "Proj 5d Earlier"

    • Hi! Pay attention to the following paragraph of the article above: Count cells with multiple criteria (OR logic). You can also count all cells that have a certain word in them. For example:

      =SUMPRODUCT(--(ISNUMBER(SEARCH("late",A1:A10))))

      For more information, please read: How to find substring in Excel

      • Happy New Year to all!

        Hi Alex! This formula works, but running with the issue is also counting when in the cell I have "Proj. 268 LATE" with the "48d LATE". How I can exclude counting when there is a projection in the future "Proj. #d LATE" in the A1:A#10, and only count the present milestones that are Late - "#d LATE"? Appreciate the help once again. I'm learning here. Thanks.

        • I gave you a link to the instructions for you to read. To look for a different text string, just change it in the formula. Instead of "late" it's "d late".

  6. hi
    i have problem with countifs :
    when i type this formul
    =countifs(Database!D2:D100;A5;Database!D2:D100;"="&A2)
    It gives me the correct answer
    But when type this formul
    =countifs(Database!D2:D100;A5;Database!D2:D100;"<="&A2)
    it give me 0
    That is the wrong answer.
    How should I modify the formula?

  7. Thank you, I think I explained it wrong. I want to find the estimate of numbers smaller than a certain number for me, for example ?=> 1400
    ،I write this number (1400) in the cell A2
    ،The answer should be obtained from table2 in the sheet i called DataBase

  8. Hi,
    I have COUNTIF working in my spreadsheet to count how many projects a person is on (example: John Smith can be on 4 different projects at 25%) however, if John Smith has "AL" (annual leave) instead of a percentage of work on that project for the week how would I display "AL" instead of the sum of 4 projects to give a high level overview that the person is on annual leave?

    I will need this to also reflect for Parental Leave (PL)

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

      =IF(COUNTIFS(A1:A10,"John Smith",B1:B10,"AL"),"AL",COUNTIF(A1:A10,"John Smith"))

  9. Hi, How to flashfill or autofill the COUNTIFS

  10. Hello, how can i count data with COUNTIF that have an operator like "<IDR 1000" as text, not as command/formula? is it included in wildcard type?

    • hi.
      i have problem
      i want, Count the number of uneven numbers, using the countifs function in two different sheets

      this formula i use
      =countifs(table2[name];A5;table2[number];"<="&A2)

      table2 in another sheet i called MyDataBase

      cell A2 is also the place where I write my number

      thanks for help me

  11. Hi, I have a spreadsheet that records answers to a series of questions that are submitted by employees. We have 3 shifts per day and each shift might enter 30 to 40 submissions. I have sorted the sheet in to date and time order so that each employee's name appears in "blocks" of entries. For example there might be 35 entries submitted by Fred, followed by 31 entries submitted by John, followed by 39 entries submitted by Sarah etc etc. Currently there are over 27,000 rows of data and growing. There are over 900 shifts (3 per day). What I am trying to achieve is to count the number of shifts carried out by each individual. Unfortunately I don't have access to the time sheets so I need to rely on the spreadsheet I'm working on. Is there a way to count the number of times a name appears as the first entry where there are multiple instances of that name? For example, lets assume that Sarah has done 23 shifts, here name would appear in 23 "blocks" of data, with each "block" containing multiple instances of her name (all in the same column). I can easily count how many submissions Sarah has entered, but what I want to know is how many "blocks" of her name there are. I hope that makes sense :)

    • Hi! This information is not enough to recommend a formula to you. If you have an additional column in your data where the date or shift number is written, you can count the number of unique values in that column for the employee's name. For example:

      =IFERROR(ROWS(UNIQUE(FILTER(B2:B100,A2:A10="John Doe"))), 0)

      You can find the examples and detailed instructions here: How to count unique values in Excel an easy way. I hope it’ll be helpful. If something is still unclear, please feel free to ask.

  12. Is it possible to use COUNTIF in these?
    Total count of Column A for which the criteria are met without adding extra column C
    [Criteria: IF (DAYS (Column A1, Column B1) > 3, 1, 0)]

    A B
    16/11/2022 20/11/2022
    10/11/2022 14/11/2022
    29/11/2022 01/11/2022
    18/10/2022 10/10/2022
    12/10/2022 04/10/2022

    • Hi! The COUNTIF function can only use cell references as arguments. You cannot use calculations within it. So if I understand the question correctly, try this formula to find the number of time intervals greater than 3 days.

      =SUMPRODUCT(--(DAYS(B1:B4,A1:A4)>3))

      I hope it’ll be helpful. If this is not what you wanted, please describe the problem in more detail.

      • Hello! is it possible to use SUMPRODUCT with this [Criteria: IF (NETWORKDAYS.INTL(WORKDAY.INTL(Column A1,1,16), Column B1,16) > 3,1,0]

      • Hello. Is it possible to use in this criteria: IF (NETWORKDAYS.INT(Column A1, Column B1,16) > 4, 1, 0)?

  13. I need a formula to find only cells in Column B(Amount) that adds up to Zero for each criterion in Column A(Reference)

    Reference Amount
    A97024 -57.73
    A97024 1924.28
    A97024 -1924.28
    A97047 -893.16
    A97213 229.65
    A97213 -5569.68
    A97213 5340.03
    A97227 251.49
    A97227 -3025.38
    A97227 2773.89
    A97232 -7.49
    A97232 249.79
    A97232 -249.79
    A97244 229.65
    A97244 -5569.68
    A97244 5340.03
    A97290 -1314.56
    A97358 -9.39
    A97358 156.43
    A97358 -156.43
    A97439 4208.14
    A97439 -8474.05
    A97439 4265.91
    A97459 -3.41
    A97459 -56.79
    A97459 3.41
    A97459 56.79

  14. Hi,
    I have a (very large) table with the following entries for each row:
    name_of_applicant date_birthday date_application

    I am trying to count all applications, where both of the following criteria are true:

    1. all that have applied after a certain date, e.g. the 2022/01/01
    2. the person was at least 16 years old at the day of the application

    I cannot change the table itself or add auxiliary entries.

    The first part (application after...) is no problem, but I can't figure out how to combine it with the second criteria.

    Thanks for your help!

  15. I have a sheet I am working on with dropdowns. I have fir example column E3:E63 has a dropdown box of new, used, pending or purchase. I need a formula to count say the "new" as 1, but in column F3:F63 I have a dropdown with employee names, so if a persons name is selected I need it subtract .5, if no name is selected or "no" then it can stay as 1. Not to add in addition to, but to just remain 1. If that makes sense?
    To give you the scenario, I sell cars for a living. So, when I track my sold units I have a dropdown that tells me if it was a new car, used car, pending or a purchase. In the next column, (F) if I had to split the sale with an employee and I select their name I need it to subtract .5 from the new car or used car etc. I can count it as a whole number using the =Countif(E3:E63, "new") and it tallies a 1 in the "new units sold" section, but if it happens to be a split with another employee in column F3:F63 I need it to subtract .5. Is this possible, and if so, what is the formula? I have been trying to figure this out for 2 months and cannot get it!

    • I'm sure others will provide a better answer but what I would do is create a formula in column G that that basically says that if F is not blank (meaning it includes a sales person's name with whom you'll split the sale with) then return .5, otherwise 1. =IF(F3="",1,0.5) copy this down to F63. then you can just sum those numbers together to get you the total units sold including split sales.

    • Hi! The COUNTIFS function can be used to find the sum of multiple conditions. For example,

      =SUMIF(F2:F10,"",E2:E10)+SUMIF(F2:F10,"no",E2:E10)+SUMIFS(E2:E10,F2:F10,"<>",F2:F10,"<>no")*0.5

      You can also use the SUMPRODUCT function to find the sum of multiple criteria.

      =SUMPRODUCT(E2:E10,0.5+0.5*(ISBLANK(F2:F10)+(F2:F10="no")))

      I hope it’ll be helpful.

  16. In the tutorial above, there is an example that counts orders with the status "Cancelled" or "Pending" or "In transit". The provided formula is:

    =SUM(COUNTIFS($C$2:$C$11, {"cancelled", "pending", "in transit"}))

    However, I’m interested in having the "cancelled", "pending", "in transit" portion of this formula contain a cell reference to this text. Something like:

    =SUM(COUNTIFS($C$2:$C$11, {$D$2})) where cell D2 contains "cancelled", "pending", "in transit".

    Any suggestions on how to get it to work?

    • Hi! You can write the conditions in three separate cells and use a COUNTIFS formula like this:

      =SUM(COUNTIFS($C$2:$C$11, D1:D3))

      If you write all the conditions in one cell and separate them with spaces, use the TEXTSPLIT function to split the criteria:

      =SUM(COUNTIFS($C$2:$C$11, TEXTSPLIT(D1,," ")))

      I hope my advice will help you solve your task.

      • Alexander, thank you so much. The TEXTSPLIT function was exactly what I needed. Definitely keeping that one in my back pocket for future use. Have a great weekend!

        • One last question. In the example above the TEXTSPLIT worked great. How could I alter your suggestion to count excluding those three text items? I was thinking this might work but apparently I was wrong.

          =SUM(COUNTIFS($C$2:$C$11, ""&TEXTSPLIT(D1,",")))

            • Thank you. I was offline for the last 10 days but will have a look at this later today. Appreciate your help :-)

  17. Hello, I am trying to count how many colours are in a row of data cells e.g. Red, Green, Green, Yellow would be 3 colours. When I use SUM(COUNTIFS variables it says 4 because it is adding all colours. Is there a way to count only how many types of colours there are?

      • Thank you. I have tried a few of those formulas and can't figure it out.

        Artem A Set1A Set1A Set1B Set1B Set1C Ditties Set1C

        I need it to count how many times it says Set1A, Set1B, Set1C and Ditties in this example above. Because each row needs to be calculated differently as they are different start points, I am struggling to do it per row and not across the whole page of data like the examples show.

        • Hi! As far as I can see from your second comment, your task is now different from the original one. You are asking a very different question from earlier. To count "how many times it says Set1A", use COUNTIF formula. For example:

          =COUNTIF($A$2:$L$2,C2)

          If this is again not what you need, give an example of source data and write the desired result.

  18. Hi,

    I am wanting to find the sum of all cells which have a specific value in the same row.

    I am currently logging teaching hours in a sheet and using a drop down in column D to select which class I am teaching (class A, class B, class C), then the amount of hours (1.5, 3, 4.5) in column G. Is there a way to add only the cells next to a specific class? So I can see a total number of hours for each specific class?

    Thanks

  19. I'm trying to do a countifs with multiple text criteria, to breakdown how many sales were done by an individual from a particular lead source

    As an example
    John doe
    how many were organic
    how many were self generated

    Jane doe
    how many were organic
    how many were self generated

    Can you please help?

    • Hi! I hope you have studied the recommendations in the tutorial above. It contains answers to your question. If this does not help, explain the problem in detail.

  20. I'm trying to have a formula that counts a student when two conditions "English" and "Graduated" are true, but I keep getting an error. I am trying to pull information from another sheet. Below is the formula I've been trying to use:

    =countifs(‘Sheet2’!A2:A,”English”,B2:B,”Graduated”)

    • Hi! The COUNTIFS function can only correctly calculate values for a condition on one sheet in one Excel spreadsheet. Please read the above article carefully.

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