Part of the free Module 5: Excel Formulas and Functions · Function 49 of 105 · Full Excel course
The Excel ISNUMBER function returns TRUE when a value is a number and FALSE for text, blanks, logical values and errors. Because Excel stores dates and times as numbers, ISNUMBER in Excel also returns TRUE for them. It is the standard test for validating numeric input and, combined with SEARCH or MATCH, a compact way to check whether text contains a word or a value exists in a list.
ISNUMBER syntax
=ISNUMBER(value)
Arguments
| Argument | Required | Meaning |
|---|---|---|
| value | Required | The cell, expression or formula result to test. |
Numbers stored as text (left-aligned digits, often from imports) are text to Excel, so ISNUMBER returns FALSE for them.
Step-by-step example
=ISNUMBER(A1)
- Excel reads A1. Suppose it contains 10.
- 10 is a numeric value.
- ISNUMBER returns TRUE. With the text Excel in A1 the result is FALSE; with a date it is TRUE; with an empty cell it is FALSE.
Practical use cases
1. Does a cell contain a word?
=ISNUMBER(SEARCH("urgent", A2))
SEARCH returns a position (a number) when found and #VALUE! when not; ISNUMBER turns that into TRUE/FALSE. Use FIND instead of SEARCH for a case-sensitive test.
2. Is a value in a list?
=ISNUMBER(MATCH(A2, $D$2:$D$100, 0))
3. Count numeric cells
=SUMPRODUCT(--ISNUMBER(E1:E10))
=COUNT(E1:E10)
COUNT does the same job directly; ISNUMBER matters when the test is part of a larger array formula.
4. Flag numbers stored as text
=AND(NOT(ISNUMBER(B2)), ISNUMBER(VALUE(B2)))
Returns TRUE for cells that look numeric but are text, ready for conversion.
5. Data validation: numbers only
=ISNUMBER(C2)
6. Safe calculation
=IF(ISNUMBER(D2), D2*1.18, "")
7. Sum rows whose text contains a keyword
=SUMPRODUCT(--ISNUMBER(SEARCH("Pro", B2:B100)), D2:D100)
Common mistakes and errors
- Dates return TRUE – dates are serial numbers. To exclude them, check the number format with CELL(“format”) or keep dates in a separate column.
- Imported numbers return FALSE – they are text. Convert with VALUE, Paste Special > Multiply by 1, or Text to Columns.
- Errors return FALSE, not an error – ISNUMBER(#N/A) is FALSE. It never propagates errors, which is why the SEARCH and MATCH patterns work.
- Blank cells return FALSE – even though arithmetic treats a blank as 0.
- Legacy array behaviour – ISNUMBER(range) in a single cell tests one cell unless wrapped in SUMPRODUCT.
Tips and best practices
- Memorise ISNUMBER(SEARCH()); it is the standard contains-text pattern in filters, conditional formatting and SUMPRODUCT.
- Use ISNUMBER(MATCH()) for membership tests; it is faster than COUNTIF on very large lists.
- Fix numeric text at the source with Text to Columns or VALUE so ISNUMBER, SUM and VLOOKUP all agree.
- Combine with CELL(“format”) when dates must be separated from ordinary numbers.
- Use it in data validation (=ISNUMBER(C2)) to keep amount columns clean at entry time.
Related functions
- ISTEXT and ISNONTEXT – sibling type tests.
- ISBLANK – separates empty cells.
- MATCH and SEARCH – the functions most often wrapped in ISNUMBER.
- N and TYPE – other ways to inspect or coerce values.
- Browse the Excel Formulas hub.
Frequently asked questions
Does ISNUMBER return TRUE for dates?
Yes. Excel stores dates and times as serial numbers, so ISNUMBER treats them as numbers. Check the cell’s number format if you need to tell dates apart from ordinary numbers.
Why does ISNUMBER return FALSE for a cell that shows a number?
The number is stored as text, usually after an import. Convert it with VALUE(), multiply by 1, or use Data > Text to Columns, and ISNUMBER will return TRUE.
How do I use ISNUMBER to check if a cell contains specific text?
Combine it with SEARCH: =ISNUMBER(SEARCH(“word”, A2)) returns TRUE when “word” appears anywhere in A2, ignoring case. Use FIND for a case-sensitive match.
Need a ready-made template? Browse 7,000+ Excel, Power BI and Google Sheets templates at NextGenTemplates.com.