=ISBLANK(B2) returns TRUE when B2 is empty and FALSE otherwise. =ISNUMBER(B2) returns TRUE when B2 holds a number. These IS functions answer one yes-or-no question about a cell, and they are usually the test inside an IF: =IF(ISBLANK(B2),"Missing","OK").
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | What | Value | ISBLANK | ISNUMBER | ISTEXT | ISERROR |
| 2 | Number | 120 | FALSE | TRUE | FALSE | FALSE |
| 3 | Text | Apple | FALSE | FALSE | TRUE | FALSE |
| 4 | Empty cell | TRUE | FALSE | FALSE | FALSE | |
| 5 | Number as text | 42 | FALSE | FALSE | TRUE | FALSE |
| 6 | Date | 2026-03-15 | FALSE | TRUE | FALSE | FALSE |
| 7 | Logical | TRUE | FALSE | FALSE | FALSE | FALSE |
| 8 | Error | #DIV/0! | FALSE | FALSE | FALSE | TRUE |
Read each row across. A few results surprise people:
- The date is a number. Excel stores dates as day counts, so
ISNUMBERis TRUE for 2026-03-15. '42looks like a number but is text, so ISNUMBER is FALSE and ISTEXT is TRUE. Imported data often arrives like this.- TRUE is neither a number nor text, so all four columns are FALSE in row 7; ISLOGICAL is the test for it.
Type 42 (without the apostrophe) in B5 and the row switches to ISNUMBER.
ISBLANK vs ="": a formula returning "" is not blank
ISBLANK is TRUE only for a cell with nothing in it. A cell whose formula returns "" (such as =IF(C2="","",C2*D2)) looks empty, but it holds a formula, so ISBLANK says FALSE. Comparing with "" treats both as empty:
B2 is empty, B3 holds =""
=ISBLANK(B2) TRUE
=ISBLANK(B3) FALSE
=B2="" TRUE
=B3="" TRUE
The sheet below compares an empty cell, a "" formula, a space and a zero with the tests that do treat "" as empty:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | What | Value | Equals "" | LEN |
| 2 | Empty cell | TRUE | 0 | |
| 3 | Formula returning "" | TRUE | 0 | |
| 4 | A space | FALSE | 1 | |
| 5 | Zero | 0 | FALSE | 1 |
| 6 | Count blank | 2 |
B3="" is TRUE and LEN is 0 for the formula cell, and COUNTBLANK in B6 counts 2, the empty cell and the "". The space in row 4 is not empty by any of these tests (LEN 1); test =TRIM(B4)="" if a cell holding only spaces should count as blank. Zero is not blank either. So when a column is filled by formulas that return "", test it with ="" or <>"", not ISBLANK.
Check if a cell contains text: ISNUMBER(SEARCH())
Excel has no CONTAINS function. SEARCH returns the position where a piece of text starts, or #VALUE! when it is not found. ISNUMBER turns that into TRUE or FALSE:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Product | Contains laptop | Case-sensitive | |
| 2 | Pro Laptop 14 | Yes | No | |
| 3 | Mouse | No | No | |
| 4 | Laptop stand | Yes | No | |
| 5 | USB cable | No | No | |
| 6 | laptop bag | Yes | Yes |
SEARCH ignores case, so "Laptop" and "laptop" both match in column C. FIND is case-sensitive, so column D matches only "laptop bag". Change A3 to Gaming laptop and both columns say Yes. The FIND and SEARCH page covers the two functions in detail; to count matching cells rather than flag them, use =COUNTIF(A2:A6,"*laptop*").
ISERROR, ISERR and ISNA
Three functions test for errors, and they differ in how they treat #N/A:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | What | Value | ISERROR | ISNA | ISERR |
| 2 | Not found | #N/A | TRUE | TRUE | FALSE |
| 3 | Divide by 0 | #DIV/0! | TRUE | FALSE | TRUE |
| 4 | Bad argument | #NUM! | TRUE | FALSE | TRUE |
| 5 | Text in math | #VALUE! | TRUE | FALSE | TRUE |
| 6 | A number | 42 | FALSE | FALSE | FALSE |
ISERROR is TRUE for all four errors. ISNA is TRUE only for #N/A, the error lookups return when a value is not found. ISERR is the opposite: TRUE for every error except #N/A. To replace an error instead of testing for it, =IFERROR(B2,0) is shorter than =IF(ISERROR(B2),0,B2); see the IFERROR page.
ISEVEN and ISODD
=ISEVEN(B2) is TRUE for an even number and =ISODD(B2) for an odd one. Zero is even, negative numbers work, and a decimal is cut to a whole number first, so 2.5 counts as 2:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Item | Number | ISEVEN | ISODD |
| 2 | A | 4 | TRUE | FALSE |
| 3 | B | 7 | FALSE | TRUE |
| 4 | C | 0 | TRUE | FALSE |
| 5 | D | -3 | FALSE | TRUE |
| 6 | E | 2.5 | TRUE | FALSE |
A text value gives #VALUE!. To tell even and odd rows apart, for banded rows or "every second row" rules, use =ISEVEN(ROW()).
Practice: does the name contain "pro"?
| A | B | |
|---|---|---|
| 1 | Product | Pro model |
| 2 | Laptop Pro 14 | |
| 3 | Office Chair | |
| 4 | Monitor PRO 27 | |
| 5 | Desk Lamp |
Your turn: In B2, show "Yes" when the product name in A2 contains "pro" in any case, otherwise "No". The formula fills down to B5.
Which IS function to use
| Function | TRUE when the value is |
|---|---|
ISBLANK | an empty cell (not "", not a space, not 0) |
ISNUMBER | a number, including dates, times and percentages |
ISTEXT | text, including numbers stored as text and "" |
ISNONTEXT | anything that is not text, including an empty cell |
ISLOGICAL | TRUE or FALSE |
ISERROR | any error |
ISERR | any error except #N/A |
ISNA | #N/A only |
ISEVEN / ISODD | an even / odd number |
ISFORMULA | a cell that contains a formula |
ISREF | a cell reference |
If =ISNUMBER(B2) is FALSE for values that look like numbers, they are stored as text, and SUM skips them too. Fix the data first (the text to number page shows how), then the IS test and the totals agree.
Frequently Asked Questions
Why does ISBLANK return FALSE for a cell that looks empty?
The cell holds something you cannot see: a formula that returns empty text (=""), a space, or an apostrophe. ISBLANK is TRUE only for a truly empty cell. To treat "" as empty too, test =B2="" or =LEN(B2)=0 instead.
How do I check if a cell is a number in Excel?
Use =ISNUMBER(B2). It returns TRUE for a number, a date or a percentage, and FALSE for text, including a number stored as text such as '42. Inside IF: =IF(ISNUMBER(B2),B2*2,"Not a number").
What is the difference between ISERROR, ISERR and ISNA?
ISERROR is TRUE for any error. ISNA is TRUE only for #N/A. ISERR is TRUE for every error except #N/A. To replace an error rather than test for it, use IFERROR or IFNA.
Why does ISNUMBER return FALSE for a number?
The number is stored as text, which often happens with imported data: the cell shows 42 but holds the text "42", usually aligned to the left with a green triangle. =ISTEXT(B2) returns TRUE for it. Convert it with VALUE or --B2.
How do I write IF not blank in Excel?
Test for not equal to empty text: =IF(B2<>"","Filled","Empty"), or =IF(NOT(ISBLANK(B2)),"Filled","Empty"). The first also treats a formula that returns "" as empty.