Menu

Hàm ISBLANK và ISNUMBER trong Excel: các hàm IS

=ISBLANK(B2) trả về TRUE khi B2 trống, còn =ISNUMBER(B2) trả về TRUE khi B2 chứa số. Tìm hiểu ISBLANK, ISNUMBER, ISTEXT, ISERROR, ISNA, ISEVEN và ISODD, vì sao công thức trả về "" không phải ô trống, và cách ISNUMBER(SEARCH()) kiểm tra ô có chứa văn bản hay không.

Mọi bảng tính trên trang này đều trực tiếp: đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

=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").

Ô này chứa gì?
C2
ABCDEF
1WhatValueISBLANKISNUMBERISTEXTISERROR
2Number120FALSETRUEFALSEFALSE
3TextAppleFALSEFALSETRUEFALSE
4Empty cellTRUEFALSEFALSEFALSE
5Number as text42FALSEFALSETRUEFALSE
6Date2026-03-15FALSETRUEFALSEFALSE
7LogicalTRUEFALSEFALSEFALSEFALSE
8Error#DIV/0!FALSEFALSEFALSETRUE
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Đọ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 ISNUMBER là TRUE với 2026-03-15.
  • '42 trô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:

Trông như trống, có thật là trống?
C3
ABCD
1WhatValueEquals ""LEN
2Empty cellTRUE0
3Formula returning ""TRUE0
4A space FALSE1
5Zero0FALSE1
6Count blank2
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

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:

Tên sản phẩm có chứa "laptop" không?
C2
ABCD
1ProductContains laptopCase-sensitive
2Pro Laptop 14YesNo
3MouseNoNo
4Laptop standYesNo
5USB cableNoNo
6laptop bagYesYes
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

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:

Mỗi hàm bắt được lỗi nào?
C3
ABCDE
1WhatValueISERRORISNAISERR
2Not found#N/ATRUETRUEFALSE
3Divide by 0#DIV/0!TRUEFALSETRUE
4Bad argument#NUM!TRUEFALSETRUE
5Text in math#VALUE!TRUEFALSETRUE
6A number42FALSEFALSEFALSE
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

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:

Chẵn hay lẻ
C2
ABCD
1ItemNumberISEVENISODD
2A4TRUEFALSE
3B7FALSETRUE
4C0TRUEFALSE
5D-3FALSETRUE
6E2.5TRUEFALSE
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

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?

Tìm các mẫu Pro
B2
AB
1ProductPro model
2Laptop Pro 14
3Office Chair
4Monitor PRO 27
5Desk Lamp
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Đế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àmTRUE khi giá trị là
ISBLANKmột ô trống (không phải "", không phải dấu cách, không phải 0)
ISNUMBERmột số, kể cả ngày, giờ và phần trăm
ISTEXTvăn bản, kể cả số lưu dạng văn bản và ""
ISNONTEXTbất cứ thứ gì không phải văn bản, kể cả ô trống
ISLOGICALTRUE hoặc FALSE
ISERRORbất kỳ lỗi nào
ISERRbất kỳ lỗi nào trừ #N/A
ISNAchỉ #N/A
ISEVEN / ISODDmột số chẵn / lẻ
ISFORMULAmột ô chứa công thức
ISREFmộ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.

Hình minh họa các ngôn ngữ lập trình của Coddy

Học lập trình cùng Coddy

Bắt đầu