Công thức Excel: IF với các ký tự đại diện
Công thức Excel: IF với các ký tự đại diện

Công thức chung
=IF(COUNTIF(A1,"??-????-???"),"","invalid")
Tóm lược

Hàm IF không hỗ trợ ký tự đại diện, nhưng bạn có thể kết hợp IF với COUNTIF hoặc COUNTIFS để có được chức năng ký tự đại diện cơ bản. Trong ví dụ được hiển thị, công thức trong C5 là:

=IF(COUNTIF(B5,"??-????-???"),"","invalid")

Giải trình

Không giống như một số hàm được sử dụng thường xuyên khác, hàm IF không hỗ trợ các ký tự đại diện. Tuy nhiên, bạn có thể sử dụng các hàm COUNTIF hoặc COUNTIFS bên trong kiểm tra logic của IF cho cơ bản chức năng ký tự đại diện.

Trong ví dụ được hiển thị, công thức trong C5 là:

=IF(COUNTIF(B5,"??-????-???"),"","invalid")

Làm việc từ trong ra ngoài, kiểm tra logic bên trong hàm IF dựa trên hàm COUNTIF:

COUNTIF(B5,"??-????-???")

Ở đây, COUNTIF đếm các ô phù hợp với mẫu “?? – ???? – ???”, nhưng vì phạm vi chỉ là một ô nên câu trả lời luôn là 1 hoặc không. Ký tự đại diện dấu chấm hỏi (?) Có nghĩa là “một ký tự”, vì vậy COUNTIF trả về số 1 khi văn bản bao gồm 11 ký tự với hai dấu gạch nối, như mô tả trong mẫu. Nếu nội dung ô không khớp với mẫu này, COUNTIF trả về số không.

Khi số đếm là 1, hàm IF trả về giá trị chuỗi trống (“”). Khi số đếm bằng 0, IF trả về văn bản “không hợp lệ”. Điều này hoạt động vì logic boolean, trong đó số 1 được đánh giá là TRUE và số 0 được đánh giá là FALSE.

Thay thế với chức năng TÌM KIẾM

Một cách khác để sử dụng các ký tự đại diện với hàm IF là kết hợp các hàm SEARCH và ISNUMBER để tạo một bài kiểm tra logic. Điều này hoạt động vì chức năng TÌM KIẾM hỗ trợ các ký tự đại diện. Tuy nhiên, SEARCH và ISNUMBER cùng nhau sẽ tự động thực hiện đối sánh “loại chứa”, vì vậy không phải lúc nào cũng cần ký tự đại diện. Trang này hiển thị một ví dụ cơ bản.

https://exceljet.net/formula/if-with-wildcards