Khi bạn sử dụng hàm VLOOKUP để trả về một giá trị từ bảng dữ liệu, hàm không phân biệt giữa giá trị trống và giá trị 0 trong những gì nó trả về. Nếu giá trị nguồn bằng 0, thì hàm VLOOKUP trả về 0. Tương tự như vậy, nếu nguồn trống, thì hàm VLOOKUP vẫn trả về giá trị 0. Đối với một số mục đích, điều này có thể không làm được — bạn cần biết liệu ô đang được tra cứu có trống hay không nếu nó thực sự chứa một 0.

Có nhiều giải pháp khác nhau có thể được theo đuổi. Một giải pháp dựa trên thực tế là mặc dù hàm VLOOKUP trả về 0, nó sẽ báo cáo chính xác độ dài của ô nguồn. Do đó, nếu bạn sử dụng hàm LEN trên những gì được trả về, nếu ô nguồn trống thì hàm LEN trả về 0, nhưng nếu nguồn chứa 0 thì LEN trả về 1 (giá trị 0 có độ dài là 1 ký tự). Điều này có nghĩa là bạn có thể sử dụng công thức sau thay cho hàm VLOOKUP tiêu chuẩn:

=IF(LEN(VLOOKUP(B1,D:E,2,0))=0,"",VLOOKUP(B1,D:E,2,0))

Trong trường hợp này, nếu độ dài của hàm VLOOKUP trả về là 0, thì công thức trả về giá trị trống. Chỉ khi độ dài không phải là 0 thì kết quả của hàm VLOOKUP mới được trả về.

Có những biến thể khác trên cùng một khái niệm này, mỗi thử nghiệm một đặc tính khác nhau của dữ liệu được tham chiếu và sau đó đưa ra quyết định xem có thực sự tra cứu dữ liệu đó hay không. (Như bạn có thể phỏng đoán, biến thể mà bạn phát triển cho nhu cầu của mình sẽ phụ thuộc vào “các đặc điểm khác nhau của dữ liệu được tham chiếu.”)

Đây là một biến thể, ví dụ: kiểm tra trực tiếp xem nguồn có trống không:

=IF(VLOOKUP(B1,D:E,2)="","",VLOOKUP(B1,D:E,2))

Công thức cũng có thể được sửa đổi để kiểm tra ô nguồn cho nhiều điều kiện. Ví dụ: biến thể này trả về giá trị trống nếu nguồn trống hoặc nếu nguồn chứa giá trị lỗi (chẳng hạn như # N / A):

=IFERROR(TRIM(VLOOKUP(B1,H:H,1,FALSE)),"")

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

Mẹo này (12518) á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: