ISNUMBER
Checks whether a value is a number and returns TRUE or FALSE.
Quick Example
=ISNUMBER(A1)
Returns TRUE if A1 contains a number, FALSE otherwise.
Syntax
=ISNUMBER(value)
Arguments
- value (required): The value to check
Examples
=ISNUMBER(123) // TRUE
=ISNUMBER("123") // FALSE (text, not number)
=ISNUMBER(A1) // TRUE if A1 contains number
=ISNUMBER(TODAY()) // TRUE (dates are numbers)
=IF(ISNUMBER(A1), A1*2, "Not a number")
What Counts as a Number
Returns TRUE For
- Integers: 1, 100, -5
- Decimals: 3.14, -0.5
- Dates: DATE(2025, 12, 25)
- Times: TIME(14, 30, 0)
- Currency values
- Scientific notation: 1.5E+10
Returns FALSE For
- Text: "Hello", "123"
- Text numbers: "123" (stored as text)
- Blank cells
- Logical values: TRUE, FALSE
- Errors: #DIV/0!, #VALUE!
How It Works
Does Not Coerce
ISNUMBER checks the actual data type, it doesn't try to convert text to numbers:
=ISNUMBER("100") // FALSE (text that looks like number)
=ISNUMBER(100) // TRUE (actual number)
Error Handling
Returns FALSE for errors (does not propagate them):
=ISNUMBER(#DIV/0!) // FALSE
Common Use Cases
- Validate input:
=IF(ISNUMBER(A1), "Valid", "Enter a number") - Count numbers:
=COUNTIF(A1:A10, ISNUMBER(A1:A10)) - Conditional formatting:
=ISNUMBER(A1) - Data type checking:
=IF(ISNUMBER(A1), A1, 0)
Using with Ranges
=ISNUMBER(A1:A5)
For a range, returns TRUE only if ALL cells are numbers.