Trả lại khoảng trống bằng hàm VLOOKUP (Microsoft Excel)
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ì Excel sẽ không thực sự tra cứu — nó buộc trả về một khoảng trống. Chỉ khi độ dài không phải là 0 thì hàm VLOOKUP mới được thực hiện.
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. Ví dụ: biến thể này trực tiếp kiểm tra 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 lỗi # N / A:
=IF(ISNA(VLOOKUP(B1,D:E,2,0))+(VLOOKUP(B1,D:E,2,0)="") ,"",VLOOKUP(B1,D:E,2,0))
ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.
Mẹo này (3075) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: