=ISBLANK(B2) trả về TRUE khi B2 trống và FALSE trong trường hợp còn lại. =ISNUMBER(B2) trả về TRUE khi B2 chứa số. Các hàm IS này trả lời một câu hỏi có hoặc không về một ô, và thường là điều kiện bên trong 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 |
Đọc từng hàng theo chiều ngang. Một vài kết quả khiến nhiều người bất ngờ:
- Ngày là số. Excel lưu ngày dưới dạng số ngày, nên
ISNUMBERlà TRUE với 2026-03-15. '42trông như số nhưng là văn bản, nên ISNUMBER là FALSE và ISTEXT là TRUE. Dữ liệu nhập từ nguồn khác thường có dạng này.- TRUE không phải số cũng không phải văn bản, nên cả bốn cột đều FALSE ở hàng 7; ISLOGICAL mới là hàm kiểm tra giá trị này.
Nhập 42 (không có dấu nháy đơn) vào B5 và hàng đó chuyển sang ISNUMBER.
ISBLANK và ="": công thức trả về "" không phải ô trống
ISBLANK chỉ TRUE với ô không chứa gì. Một ô có công thức trả về "" (như =IF(C2="","",C2*D2)) trông như trống, nhưng nó chứa công thức, nên ISBLANK cho FALSE. So sánh với "" thì coi cả hai là trống:
B2 is empty, B3 holds =""
=ISBLANK(B2) TRUE
=ISBLANK(B3) FALSE
=B2="" TRUE
=B3="" TRUE
Trang tính dưới đây so sánh một ô trống, một công thức "", một dấu cách và số 0 bằng các phép kiểm tra có coi "" là trống:
| 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="" là TRUE và LEN bằng 0 với ô chứa công thức, còn COUNTBLANK ở B6 đếm được 2, là ô trống và ô "". Dấu cách ở hàng 4 không được coi là trống theo bất kỳ phép kiểm tra nào (LEN bằng 1); hãy dùng =TRIM(B4)="" nếu ô chỉ chứa dấu cách cũng phải tính là trống. Số 0 cũng không phải ô trống. Vì vậy, khi một cột được điền bằng công thức trả về "", hãy kiểm tra bằng ="" hoặc <>"", đừng dùng ISBLANK.
Kiểm tra ô có chứa văn bản: ISNUMBER(SEARCH())
Excel không có hàm CONTAINS. SEARCH trả về vị trí bắt đầu của một đoạn văn bản, hoặc #VALUE! khi không tìm thấy. ISNUMBER biến kết quả đó thành TRUE hoặc 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 không phân biệt chữ hoa chữ thường, nên "Laptop" và "laptop" đều khớp ở cột C. FIND có phân biệt, nên cột D chỉ khớp "laptop bag". Đổi A3 thành Gaming laptop và cả hai cột đều ghi Yes. Trang FIND và SEARCH trình bày chi tiết hai hàm này; để đếm số ô khớp thay vì đánh dấu, dùng =COUNTIF(A2:A6,"*laptop*").
ISERROR, ISERR và ISNA
Ba hàm kiểm tra lỗi, và chúng khác nhau ở cách xử lý #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 là TRUE với cả bốn lỗi. ISNA chỉ TRUE với #N/A, lỗi mà các phép tra cứu trả về khi không tìm thấy giá trị. ISERR thì ngược lại: TRUE với mọi lỗi trừ #N/A. Để thay thế lỗi thay vì kiểm tra nó, =IFERROR(B2,0) ngắn hơn =IF(ISERROR(B2),0,B2); xem trang IFERROR.
ISEVEN và ISODD
=ISEVEN(B2) là TRUE với số chẵn và =ISODD(B2) là TRUE với số lẻ. Số 0 là số chẵn, số âm vẫn dùng được, và số thập phân bị cắt thành số nguyên trước, nên 2,5 được tính là 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 |
Giá trị văn bản cho ra #VALUE!. Để phân biệt hàng chẵn và hàng lẻ, khi tô màu xen kẽ hoặc đặt quy tắc "cách một hàng", hãy dùng =ISEVEN(ROW()).
Luyện tập: tên có chứa "pro" không?
| A | B | |
|---|---|---|
| 1 | Product | Pro model |
| 2 | Laptop Pro 14 | |
| 3 | Office Chair | |
| 4 | Monitor PRO 27 | |
| 5 | Desk Lamp |
Đến lượt bạn: Trong B2, hiện "Yes" khi tên sản phẩm ở A2 chứa "pro" với bất kỳ kiểu chữ nào, ngược lại hiện "No". Công thức được kéo xuống đến B5.
Nên dùng hàm IS nào
| Hàm | TRUE khi giá trị là |
|---|---|
ISBLANK | một ô trống (không phải "", không phải dấu cách, không phải 0) |
ISNUMBER | một số, kể cả ngày, giờ và phần trăm |
ISTEXT | văn bản, kể cả số lưu dạng văn bản và "" |
ISNONTEXT | bất cứ thứ gì không phải văn bản, kể cả ô trống |
ISLOGICAL | TRUE hoặc FALSE |
ISERROR | bất kỳ lỗi nào |
ISERR | bất kỳ lỗi nào trừ #N/A |
ISNA | chỉ #N/A |
ISEVEN / ISODD | một số chẵn / lẻ |
ISFORMULA | một ô chứa công thức |
ISREF | một tham chiếu ô |
Nếu =ISNUMBER(B2) là FALSE với các giá trị trông như số, chúng đang được lưu dạng văn bản, và SUM cũng bỏ qua chúng. Hãy sửa dữ liệu trước (trang chuyển văn bản thành số chỉ cách làm), khi đó phép kiểm tra IS và các tổng sẽ khớp nhau.
Câu hỏi thường gặp
Vì sao ISBLANK trả về FALSE cho một ô trông như trống?
Ô đó chứa thứ bạn không nhìn thấy: một công thức trả về văn bản rỗng (=""), một dấu cách hoặc một dấu nháy đơn. ISBLANK chỉ TRUE với ô thật sự trống. Để coi "" cũng là trống, hãy kiểm tra bằng =B2="" hoặc =LEN(B2)=0.
Làm sao kiểm tra một ô có phải là số trong Excel?
Dùng =ISNUMBER(B2). Hàm này trả về TRUE cho số, ngày hoặc phần trăm, và FALSE cho văn bản, kể cả số lưu dạng văn bản như '42. Dùng trong IF: =IF(ISNUMBER(B2),B2*2,"Not a number").
ISERROR, ISERR và ISNA khác nhau thế nào?
ISERROR là TRUE với mọi lỗi. ISNA chỉ TRUE với #N/A. ISERR là TRUE với mọi lỗi trừ #N/A. Nếu muốn thay thế lỗi thay vì kiểm tra nó, hãy dùng IFERROR hoặc IFNA.
Vì sao ISNUMBER trả về FALSE cho một con số?
Con số đó được lưu dạng văn bản, chuyện thường gặp với dữ liệu nhập từ nguồn khác: ô hiện 42 nhưng chứa văn bản "42", thường căn lề trái và có tam giác xanh ở góc. =ISTEXT(B2) trả về TRUE cho ô đó. Hãy chuyển nó sang số bằng VALUE hoặc --B2.
Làm sao viết IF ô không trống trong Excel?
Kiểm tra khác văn bản rỗng: =IF(B2<>"","Filled","Empty"), hoặc =IF(NOT(ISBLANK(B2)),"Filled","Empty"). Cách đầu còn coi công thức trả về "" là trống.