Bob hỏi liệu có cách nào sử dụng hàm VLOOKUP để trả về khoảng trống hoặc dấu sao nếu hàm không thể khớp trong bảng tra cứu.

Có, điều này có thể được thực hiện, nhưng không phải là không làm cho công thức của bạn phức tạp hơn một chút. Bí quyết là hãy nhớ rằng hàm VLOOKUP có thể hoạt động theo một trong hai cách. Theo mặc định, nó trả về giá trị thấp hơn tiếp theo cho giá trị đang được tìm kiếm, nếu bảng dữ liệu theo thứ tự tăng dần và nếu không có kết quả khớp chính xác. Tuy nhiên, bạn có thể buộc hàm VLOOKUP chỉ trả về các kết quả phù hợp chính xác, nếu muốn. Hãy xem xét ví dụ sau:

=VLOOKUP(5,A1:B10,2,FALSE)

Ví dụ này tìm kiếm thông qua bảng tra cứu (A1: B10) để tìm giá trị 5 trong cột đầu tiên của bảng. Nếu nó được tìm thấy, thì giá trị tương ứng từ cột thứ hai được trả về. Nếu nó không được tìm thấy, thì hàm VLOOKUP trả về lỗi # N / A, cho biết nó không thể định vị giá trị. (Giá trị FALSE làm tham số thứ tư cho biết bạn không muốn các kết quả phù hợp gần đúng.)

Sau đó, chìa khóa là phát huy giá trị # N / A này và xây dựng những gì bạn muốn trả về nếu không có giá trị khớp. Công thức sau sẽ trả về một chuỗi năm dấu hoa thị nếu không có kết quả phù hợp trong tra cứu:

=IF(ISNA(VLOOKUP(5,A1:B10,2,FALSE)),"**",VLOOKUP(5,A1:B10,2,FALSE))

Hàm ISNA được sử dụng để kiểm tra xem kết quả của VLOOKUP có phải là lỗi # N / A hay không. Nếu đúng, thì các dấu sao sẽ được trả về; nếu không, thì giá trị tra cứu được trả về. Nếu bạn muốn công thức trả về “nothing”,

thì bạn có thể sử dụng biến thể này:

=IF(ISNA(VLOOKUP(5,A1:B10,2,FALSE)),"",VLOOKUP(5,A1:B10,2,FALSE))

Phiên bản này trả về một chuỗi trống nếu không có kết quả phù hợp trong bảng tra cứu. Đối với một số mục đích sử dụng, điều này có thể không chính xác như những gì bạn muốn. Bạn có thể thấy thích hợp hơn khi trả về số 0, rồi ẩn các số 0 trong trang tính (Tệp | Tùy chọn | Nâng cao | Tùy chọn hiển thị cho Trang tính này | Xóa Hiển thị số 0 trong các ô có giá trị bằng 0). Nếu bạn muốn trả về số 0, thì chỉ cần một lần thay đổi:

=IF(ISNA(VLOOKUP(5,A1:B10,2,FALSE)),0,VLOOKUP(5,A1:B10,2,FALSE))

Tất nhiên, bạn cũng có thể sử dụng hàm IFERROR để tìm những gì bạn cần. Biến thể sau của công thức sẽ hoạt động tốt:

IFERROR(VLOOKUP(5,A1:B10,2,FALSE),"**")

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (10940) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện menu cũ hơn của Excel tại đây: