Công thức Excel: Nếu không để trống nhiều ô
Công thức Excel: Nếu không để trống nhiều ô

Công thức chung
=IF(A1<>"",A1,IF(B1<>"",B1,IF(C1<>"",C1,IF(D1<>"",D1,"no value"))))
Tóm lược

Để kiểm tra nhiều ô và trả về giá trị từ ô không trống đầu tiên, bạn có thể sử dụng công thức dựa trên Hàm IF. Trong ví dụ được hiển thị, cột D chứa ngày hoàn thành nhiệm vụ. Công thức trong ô F5 là:

=IF(B5<>"",B5,IF(C5<>"",C5,IF(D5<>"",D5,IF(E5<>"",E5,"no value"))))

trả về giá trị từ ô không trống đầu tiên, tương ứng là B5, C5, D5 hoặc E5. Khi tất cả các ô trống, công thức trả về “không có giá trị”. Giá trị trả về khi tất cả các ô trống có thể được điều chỉnh theo ý muốn.

Giải trình

Trong Excel, dấu ngoặc kép trống (“”) có nghĩa là chuỗi trống. Biểu tượng là một toán tử logic điều đó có nghĩa là “không bằng”, vì vậy biểu thức sau có nghĩa là “A1 không trống”:

=A1<>"" // A1 is not empty

Biểu thức này được sử dụng bốn lần trong công thức được hiển thị trong ví dụ, để kiểm tra bốn ô khác nhau theo một thứ tự cụ thể.

Cấu trúc tổng thể của công thức này được gọi là “công thức IF lồng nhau“. Mỗi câu lệnh IF sẽ kiểm tra một ô để xem nó có trống không. Nếu không trống, IF trả về giá trị từ ô đó. Nếu ô trống, câu lệnh IF sẽ xử lý cho một câu lệnh IF khác:

=IF(B5<>"",B5,IF(C5<>"",C5,IF(D5<>"",D5,IF(E5<>"",E5,"no value"))))

Luồng của IF lồng nhau sẽ dễ hình dung hơn nếu bạn thêm dấu ngắt dòng vào công thức. Dưới đây, các dấu ngắt dòng đã được thêm vào công thức để xếp hàng các câu lệnh IF:

=
IF(B5<>"",B5,
IF(C5<>"",C5,
IF(D5<>"",D5,
IF(E5<>"",E5,
"no value"))))

Với ISBLANK

Excel chứa Hàm ISBLANK, trả về TRUE khi một ô trống:

=ISBLANK(A1) // A1 is blank

Hành vi có thể được “đảo ngược” bằng cách lồng hàm ISBLANK bên trong Không hoạt động:

=ISBLANK(A1) // A1 is not blank

Công thức trên có thể được viết lại để sử dụng ISBLANK như sau:

=IF(NOT(ISBLANK(B5)),B5,IF(NOT(ISBLANK(C5)),C5,IF(NOT(ISBLANK(D5)),D5,IF(NOT(ISBLANK(E5)),E5,"novalue"))))

https://exceljet.net/formula/if-not-blank-multiple-cells