Excel ISNUMBER Function
ISNUMBER checks whether a value is a number and returns TRUE or FALSE. No errors, ever.
ISNUMBER checks whether a value is a number and returns TRUE if it is, FALSE if it isn't. It works on cell references, formula results, and typed-in values alike. The detail that trips up beginners: a number that looks fine on screen, like a Zip code with a leading zero or an amount pasted from a website, is often stored as text. ISNUMBER will call that FALSE, and it's right to.
Available in: Excel 365, Excel 2021, Excel 2019, Excel 2016, and every earlier version back to Excel 97. ISNUMBER has never changed syntax across versions.
Syntax
=ISNUMBER(value)
| Parameter | Required | Description |
|---|---|---|
value | Yes | The cell, formula result, or typed value you want to test. Can be a direct number, a cell reference, or the output of another function. |
ISNUMBER takes exactly one argument. There's no optional second parameter and no default behavior to worry about, which makes it one of the simplest functions in Excel to get right on the first try.
Basic Example
You're keeping a shipment log. Column B holds the quantity shipped for each order, but a few rows have text like "pending" instead of a number because the order hasn't shipped yet.
=ISNUMBER(B2)
// B2 = the value being tested (could be a number or text)
If B2 contains 48, the formula returns TRUE. If B2 contains the text "pending", it returns FALSE. Nothing else happens, no conversion, no rounding. ISNUMBER just reports what's actually stored in the cell.
How ISNUMBER Works
It returns TRUE only for genuine numeric values
ISNUMBER doesn't guess. If Excel has the value stored internally as a number, whether that's 12, -4.5, or 3.14159, it returns TRUE. Anything stored as text, even digits that look identical to a real number, returns FALSE.
Dates and times count as numbers
Excel stores dates and times as serial numbers under the hood, so ISNUMBER returns TRUE for both. =ISNUMBER(DATE(2026,7,12)) returns TRUE. This surprises a lot of beginners who expect date checks to require a separate function.
It never throws its own error
Feed ISNUMBER an error value like #N/A or #VALUE!, and it doesn't propagate the error. It returns FALSE instead. This is unusual: most functions choke on an error input, but ISNUMBER treats "this is an error" the same way it treats "this is text." Not a number, so FALSE.
Text that looks like a number still returns FALSE
Type "19" with quotation marks directly into a formula, and ISNUMBER returns FALSE, even though the digits are identical to the number 19. Excel doesn't auto-convert quoted text into a number just because ISNUMBER is asking. The same applies to numbers imported from CSV files or web data that land in cells as text.
Common Use Cases
Restrict a cell to numeric entry only
Use ISNUMBER inside Data Validation's custom formula option to block anyone from typing text into a quantity or price field.
=ISNUMBER(C5) // returns TRUE only if C5 contains a real number
Set this as a custom validation rule on C5, and Excel rejects any entry that isn't numeric, including a stray space or a typo like "1O" (letter O instead of zero).
Flag non-numeric entries in a shipment log
Combine ISNUMBER with IF to build a status column that calls out bad data before it breaks a SUM formula downstream.
=IF(ISNUMBER(B2), "OK", "Check entry")
// B2 = the quantity cell being validated
Rows with a real number show "OK." Rows with text, blanks treated as text, or stray characters get flagged for review.
Confirm a lookup actually found something
XLOOKUP and VLOOKUP return #N/A when they can't find a match. Wrapping the result in ISNUMBER lets you test success without displaying the raw error.
=ISNUMBER(XLOOKUP(A2, orders[OrderID], orders[Total]))
// A2 = the order ID being searched
This returns TRUE if the order ID exists in the table and its total is numeric, FALSE if the lookup came back empty or found a blank.
Count how many cells in a range are actually numeric
SUMPRODUCT paired with ISNUMBER counts numeric cells across a mixed range, something COUNT alone can't do if you also need to see which specific cells qualify.
=SUMPRODUCT(--ISNUMBER(C5:C20))
// C5:C20 = the range being checked for numeric values
The double negative (--) converts each TRUE/FALSE into 1/0 so SUMPRODUCT can add them up. The result is a count of numeric cells in the range.
Handling Errors
ISNUMBER doesn't throw its own errors. Even when its argument is an error value, it returns FALSE rather than passing the error along. That makes it one of the few functions in Excel you never need to wrap in IFERROR.
In fact, ISNUMBER is often the error handler for other formulas rather than something that needs one. SEARCH and FIND return #VALUE! when they can't locate a substring, but wrapping them in ISNUMBER converts that error into a clean FALSE:
=ISNUMBER(SEARCH("apple", B5))
// B5 = the text being searched for the substring "apple"
If "apple" isn't found, SEARCH returns #VALUE! on its own, but ISNUMBER catches it and returns FALSE instead. No IFERROR required.
Pair ISNUMBER with SEARCH or FIND whenever you need a TRUE/FALSE answer to "does this text contain X?" On its own, SEARCH returns a position number or an error, neither of which is useful in an IF statement without ISNUMBER wrapped around it.
Notes & Gotchas
How do I use ISNUMBER in Excel?
Type =ISNUMBER( followed by a cell reference or value, then close the parenthesis. =ISNUMBER(A2) checks whether cell A2 holds a number and returns TRUE or FALSE. It's most useful nested inside IF, SUMPRODUCT, or a Data Validation rule rather than sitting alone in a cell.
What does the ISNUMBER function return?
ISNUMBER always returns one of two values: TRUE or FALSE. It never returns a number, text, or an error message, even if the value you're testing is itself an error. That consistency is what makes it safe to nest inside other formulas without extra error handling.
What is the difference between ISNUMBER and ISTEXT in Excel?
ISNUMBER returns TRUE for numbers, dates, and times. ISTEXT returns TRUE for text strings, including numbers stored as text. A cell can never satisfy both at once; if ISNUMBER is TRUE, ISTEXT is FALSE for that same cell, and vice versa.
Can ISNUMBER be used with IF statements in Excel?
Yes, and it's one of the most common pairings in Excel. =IF(ISNUMBER(A2), "Valid", "Invalid") runs the number check as the IF condition, showing "Valid" for numeric cells and "Invalid" for anything else. This pattern shows up constantly in data cleanup and validation formulas.
Why does ISNUMBER return FALSE for a number stored as text?
Numbers imported from CSV files, pasted from web pages, or entered with a leading apostrophe often get stored as text even though they display like ordinary numbers. ISNUMBER checks the underlying data type, not the visual appearance, so it correctly returns FALSE. Convert the cell with VALUE() or a Paste Special multiply-by-1 trick if you need it recognized as numeric.
A quoted number typed directly into a formula, like ISNUMBER("19"), returns FALSE. Excel does not auto-convert the text "19" into the number 19 just because ISNUMBER is asking. If you need Excel to attempt that conversion, wrap the value in VALUE() first.
Does ISNUMBER treat dates and times as numbers?
Yes. Excel stores dates and times as serial numbers internally, so ISNUMBER returns TRUE for both. =ISNUMBER(TODAY()) returns TRUE, and so does a cell formatted to display a date but holding an actual date value.
Why does ISNUMBER return FALSE after I concatenate a number with text?
The ampersand operator (&) always produces a text result, even if every piece being joined is numeric. =ISNUMBER(10 & " units") returns FALSE because the concatenation converts everything to a text string. If you need the numeric portion back, extract it separately before testing with ISNUMBER.
Related Functions
| Function | Use this when... |
|---|---|
IFERROR | You need to replace an error result with a fallback value instead of just detecting it. |
ISBLANK | You need to check whether a cell is completely empty rather than whether it holds a number. |
Related Functions
Excel IF Function
IF is the function behind almost every conditional formula in Excel — pass or fail, over or under budget, yes or no. Here's how to write one that works on the first try.
Excel IFERROR Function
IFERROR replaces ugly error codes like #N/A and #DIV/0! with a value you choose. It's simple to use, but it catches every error type — including the ones you didn't mean to hide.
Excel ISBLANK Function
ISBLANK tells you whether a cell has absolutely nothing in it, not just whether it looks empty. Here's how it works, where it gets tricked, and what to use instead when it doesn't do what you expect.
Excel COUNTIF Function
COUNTIF counts cells that match a single condition — no formulas, no helper columns. Here's how the syntax works and where people get it wrong.