How do I count cells with text in Excel? There are a few different formulas to count cells that contain any text, specific characters or only filtered cells. All the formulas work in Excel 2019, 2016, 2013 and 2010.
Initially, Excel spreadsheets were designed to work with numbers. But these days we often use them to store and manipulate text too. Want to know how many cells with text there are in your worksheet? Microsoft Excel has several functions for this. Which one should you use? Well, it depends on the situation. In this tutorial, you will find a variety of formulas and when each formula is best to be used.
There are two basic formulas to find how many cells in a given range contain any text string or character.
When you wish to find the number of cells with text in Excel, the COUNTIF function with an asterisk in the criteria argument is the best and easiest solution:
Because the asterisk (*) is a wildcard that matches any sequence of characters, the formula counts all cells that contain any text.
Another way to get the number of cells containing text is to combine the SUMPRODUCT and ISTEXT functions:
Or
The ISTEXT function checks if each cell in the specified range contains any text characters and returns an array of TRUE (cells with text) and FALSE (other cells) values. The double unary () or the multiplication operation coerces TRUE and FALSE into 1 and 0, respectively, producing an array of ones and zeros. The SUMPRODUCT function sums all the elements of the array and returns the number of 1's, which is the number of cells that contain text.
To gain more understanding of how these formulas work, please see which values are counted and which are not:
What is counted  What is not counted 


For example, to count cells with text in the range A2:A10, excluding numbers, dates, logical values, errors and blank cells, use one of these formulas:
=COUNTIF(A2:A10, "*")
=SUMPRODUCT(ISTEXT(A2:A10))
=SUMPRODUCT(ISTEXT(A2:A10)*1)
The screenshot below shows the result:
The formulas discussed above count all cells that have any text characters in them. In some situations, however, that might be confusing because certain cells may only look empty but, in fact, contain characters invisible to the human eye such as empty strings, apostrophes, spaces, line breaks, etc. As a result, a visually blank cell gets counted by the formula causing a user to pull out their hair trying to figure out why :)
To exclude "false positive" blank cells from the count, use the COUNTIFS function with the "excluded" character in the second criterion.
For example, to count cells with text in the range A2:A7 ignoring those that contain a space character, use this formula:
=COUNTIFS(A2:A7,"*", A2:A7, "<> ")
If your target range contains any formuladriven data, some of the formulas may result in an empty string (""). To ignore cells with empty strings too, replace "*" with "*?*" in the criteria1 argument:
=COUNTIFS(A2:A9,"*?*", A2:A9, "<> ")
A question mark surrounded by asterisks indicates that there should be at least one text character in the cell. Since an empty string has no characters in it, it does not meet the criteria and is not counted. Blank cells that begin with an apostrophe (') are not counted either.
In the screenshot below, there is a space in A7, an apostrophe in A8 and an empty string (="") in A9. Our formula leaves out all those cells and returns a textcells count of 3:
To get the number of cells that contain certain text or character, you simply supply that text in the criteria argument of the COUNTIF function. The below examples explain the nuances.
To match the sample text exactly, enter the full text enclosed in quotation marks:
To count cells with partial match, place the text between two asterisks, which represent any number of characters before and after the text:
For example, to find how many cells in the range A2:A7 contain exactly the word "bananas", use this formula:
=COUNTIF(A2:A7, "bananas")
To count all cells that contain "bananas" as part of their contents in any position, use this one:
=COUNTIF(A2:A7, "*bananas*")
To make the formula more userfriendly, you can place the criteria in a predefined cell, say D2, and put the cell reference in the second argument:
=COUNTIF(A2:A7, D2)
Depending on the input in D2, the formula can match the sample text fully or partially:
As the formula is caseinsensitive, you may not bother about the letter case, meaning that *bananas* will do as well.
Alternatively, to count cells with partial match, concatenate the cell reference and wildcard characters like:
=COUNTIF(A2:A7, "*"&D2&"*")
For more information, please see How to count cells with specific text in Excel.
When using Excel filter to display only the data relevant at a given moment, you may sometimes need to count visible cells with text. Regrettably, there is no oneclick solution for this task, but the below example will comfortably walk you through the steps.
Supposing, you have a table like shown in the image below. Some entries were pulled from a larger database using formulas, and various errors occurred along the way. You are looking to find the total number of items in column A. With all the rows visible, the COUNTIF formula that we've used for counting cells with text works a treat:
=COUNTIF(A2:A10, "*")
And now, you narrow down the list by some criteria, say filter out the items with quantity greater than 10. The question is – how many items remained?
To count filtered cells with text, this is what you need to do:
=SUBTOTAL(3, A2)
To identify all hidden cells, filtered out and hidden manually, put 103 in function_num:
=SUBTOTAL(103, A2)
In this example, we want to count only visible cells with text regardless of how other cells were hidden, so we enter the second formula in A2 and copy it down to A10.
For visible cells, the formula returns 1. As soon as you filter out or manually hide some rows, the formula will return 0 for them. (You won't see those zeros because they are returned for hidden rows. To make sure it works this way, just copy the contents of a hidden cell with the Subtotal formula to any visible say, say =D2, assuming row 2 is hidden.)
=COUNTIFS(A2:A10, "*", D2:D10, 1)
Now, you can filter the data the way you want, and the formula will tell you how many filtered cells in column A contain text (3 in our case):
If you'd rather not insert an additional column in your worksheet, then you will need a longer formula to accomplish the task. Just choose the one you like better:
=SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))), (ISTEXT(A2:A10)))
=SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10)  MIN(ROW(A2:A10)),,1)),  (ISTEXT(A2:A10)))
The multiplication operator will work as well:
=SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))) * (ISTEXT(A2:A10)))
=SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10)MIN(ROW(A2:A10)),,1)) * (ISTEXT(A2:A10)))
Which formula to use is a matter of your personal preference  the result will be the same in any case:
The first formula employs the INDIRECT function to "feed" the individual references of all cells in the specified range to SUBTOTAL. The second formula uses a combination of the OFFSET, ROW and MIN functions for the same purpose.
The SUBTOTAL function returns an array of 1's and 0's where ones represent visible cells and zeros match hidden cells (like the helper column above).
The ISTEXT function checks each cell in A2:A10 and returns TRUE if a cell contains text, FALSE otherwise. The double unary operator () coerces the TRUE and FALSE values into 1's and 0's. At this point, the formula looks as follows:
=SUMPRODUCT({0;1;1;1;0;1;1;0;0}, {1;1;1;0;1;1;0;1;1})
The SUMPRODUCT function first multiplies the elements of both arrays in the same positions and then sums the resulting array.
As multiplying by zero gives zero, only the cells represented by 1 in both arrays have 1 in the final array.
=SUMPRODUCT({0;1;1;0;0;1;0;0;0})
And the number of 1's in the above array is the number of visible cells that contain text.
That's how to how to count cells with text in Excel. I thank you for reading and hope to see you on our blog next week!
Table of contents