Trong bài viết này, Blog Học Excel Online sẽ hướng dẫn cách cách giải quyết vấn đề hàm VLOOKUP không làm việc trong Excel 2013, 2010, 2007 và 2003, tìm ra và khắc phục các lỗi của hàm VLOOKUP.
Xem nhanh
Trong công thức Vlookup, thông báo lỗi #N/A (có nghĩa là “không khả dụng”) được hiển thị khi Excel không thể tìm thấy giá trị tra cứu. Có vài lý do khiến điều đó có thể xảy ra.
1. Lỗi đánh máy hoặc sắp xếp nhầm trong giá trị tra cứu
Lỗi xếp nhầm chữ thường xảy ra khi bạn làm việc với lượng dữ liệu lớn bao gồm hàng ngàn hàng hoặc khi giá trị tra cứu được gõ trực tiếp vào công thức.
2. Lỗi # N/A trong tìm kiếm gần đúng bằng hàm VLOOKUP
Nếu bạn đang sử dụng một công thức với đối sánh gần đúng (đối số range_lookup là TRUE hoặc bỏ qua), công thức Vlookup của bạn có thể trả về lỗi # N/A trong hai trường hợp:
3. Lỗi # N/A trong tìm kiếm chính xác hàm VLOOKUP
Nếu bạn đang tìm kiếm với đối sánh chính xác (đối số range_lookup đặt thành FALSE) và không tìm thấy giá trị chính xác, cũng sẽ xuất hiện lỗi # N/A
4. Cột tra cứu không phải là cột bên trái của bảng dữ liệu
Có thể bạn đã biết, một trong những hạn chế đáng kể nhất của hàm VLOOKUP là nó không thể dò tìm phía bên trái cột tra cứu, do đó cột tra cứu luôn luôn là cột bên trái ngoài cùng trong bảng dò tìm. Trong thực tế, chúng ta thường quên đi điều này và dẫn đến việc hàm VLOOKUP không hoạt động vì lỗi N/A.
Giải pháp: Nếu không thể tái cấu trúc dữ liệu để cột tra cứu là cột bên trái, bạn có thể sử dụng kết hợp các hàm INDEX và MATCH để thay thế linh hoạt cho hàm VLOOKUP. Bạn sẽ tìm thấy thông tin chi tiết và ví dụ về công thức trong hướng dẫn – Cách dùng hàm INDEX / MATCH để tra cứu các giá trị bên trái.
Xem thêm: Vì sao dùng INDEX và MATCH tốt hơn dùng VLOOKUP trong Excel
5. Số được định dạng dưới dạng văn bản
Một lỗi N/A khác của hàm VLOOKUP là do các con số được định dạng dưới dạng văn bản, trong cột dò tìm hoặc vùng tra cứu.
Điều này thường xảy ra khi bạn nhập dữ liệu từ một cơ sở dữ liệu bên ngoài hoặc do bạn đã gõ dấu nháy đơn trước số.
Các số này cũng có thể được lưu trữ ở định dạng chung. Trong trường hợp này, có một dấu hiệu đáng chú ý – số được canh lề trái của ô.
Giải pháp: Nếu đây chỉ là một số duy nhất, chỉ cần nhấp vào biểu tượng lỗi và chọn “Convert To Number” từ danh sách tùy chọn.
Nếu nhiều số bị ảnh hưởng, hãy chọn tất cả, nhấp chuột phải vào vùng chọn, sau đó chọn Format Cells>Number tab>Number và nhấp OK.
Xem ngay: Học Excel nâng cao ở đâu
6. Các khoảng trống lớn hoặc dấu đầu dòng
Đây là nguyên nhân rõ ràng nhất của lỗi Vlookup N/A vì mắt người không thể nhìn thấy những không gian đặc biệt, nhất là khi làm việc với các bảng lớn, nơi hầu hết các mục nằm dưới thanh cuộn.
Trường hợp 1: Khoảng trắng trong cột dò tìm (với công thức VLOOKUP)
Nếu các khoảng trống dư thừa xuất hiện trong bảng chính của bạn, bạn có thể đảm bảo công thức Vlookup bằng cách gói đối số lookup_value với hàm TRIM:
= VLOOKUP (TRIM ($F2), $A$2: $C$10,3, FALSE)
Trường hợp 2: Khoảng trắng trong cột tra cứu
Nếu có khoảng trắng xuất hiện trong cột tra cứu, không có cách nào để tránh được lỗi VLOOKUP # N/A. Thay vì dùng hàm VLOOKUP, bạn có thể sử dụng một công thức mảng với sự kết hợp các hàm INDEX / MATCH và TRIM:
= INDEX ($C$2: $C$10, MATCH (TRUE, TRIM ($A$2: $A$10) = TRIM ($F$2), 0))
Vì đây là một công thức mảng, đừng quên nhấn Ctrl + Shift + Enter chứ không phải là phím Enter để hoàn thành nó:
Đây là trường hợp dễ xảy ra nhất – lỗi #NAME xuất hiện nếu bạn vô tình đánh sai tên hàm. Giải pháp hiển nhiên là – kiểm tra chính tả:)
Hàm VLOOKUP không hoạt động (giới hạn của hàm, vấn đề và giải pháp)
Ngoài việc có một cú pháp khá phức tạp, VLOOKUP có nhiều hạn chế đáng kể so với bất kỳ hàm Excel khác. Do những hạn chế này, bạn dường như khó để tạo chính xác công thức Vlookup. Dưới đây bạn sẽ tìm thấy các giải pháp cho một vài tình huống phổ biến khi VLOOKUP không thành công.
1. VLOOKUP không phân biệt chữ hoa chữ thường
Hàm VLOOKUP không phân biệt chữ hoa và chữ thường. Vì vậy, nếu bảng của bạn có nhiều mục tương tự chỉ khác nhau chữ hoa, chữ thường, công thức Vlookup sẽ trả lại giá trị đầu tiên được tìm thấy.
Giải pháp: Sử dụng một hàm Excel khác có thể thực hiện tra cứu theo chiều dọc (LOOKUP, SUMPRODUCT, INDEX / MATCH) kết hợp với hàm EXACT để có thể chọn đúng trường hợp. Bạn có thể tìm thấy các giải thích chi tiết và các ví dụ công thức trong hướng dẫn – 4 cách để làm một vlookup phân biệt chữ thường và chữ hoa trong Excel.
Thủ thuật Excel nâng cao hay nhất 2018
2. VLOOKUP trả về giá trị tìm thấy đầu tiên
Như bạn đã biết, hàm VLOOKUP trả về giá trị đầu tiên nó tìm thấy trong cột trả về phù hợp với giá trị tra cứu. Tuy nhiên, bạn có thể buộc nó trả về cái thứ 2, 3, 4 hoặc bất kỳ trường hợp nào mà bạn muốn. Nếu bạn cần phải nhận được tất cả các giá trị, bạn sẽ phải sử dụng kết hợp các hàm INDEX, SMALL và ROW.
Giải pháp: Các ví dụ công thức có sẵn để tải về tại đây:
3. Một cột mới được chèn vào hoặc gỡ bỏ khỏi bảng
Đáng tiếc là các công thức VLOOKUP ngừng hoạt động mỗi khi một cột mới bị xóa hoặc được thêm vào bảng tra cứu. Điều này xảy ra bởi vì cú pháp của hàm VLOOKUP yêu cầu bạn cung cấp toàn bộ bảng cũng như một số nhất định cho biết cột nào bạn muốn trả lại dữ liệu. Đương nhiên, cả bảng và số cột trả lại thay đổi khi bạn xóa một cột hiện có hoặc chèn một cột mới.
Giải pháp: INDEX / MATCH lại được dùng lần nữa để giải quyết vấn đề này. Trong hàm INDEX & MATCH, bạn chỉ định các cột tra cứu và cột trả kết quả một cách riêng biệt, kết quả là bạn có thể xóa hoặc chèn nhiều cột như bạn muốn mà không cần lo lắng về việc cập nhật mọi công thức vlookup liên quan .
4. Các ô tham chiếu thay đổi khi sao chép công thức đến ô khác
Giải pháp: Luôn sử dụng tham chiếu ô tuyệt đối (với dấu $) trong vùng chọn, ví dụ: $A$2: $C$100 hoặc $A:$C. Trong thanh công thức, bạn có thể nhanh chóng chuyển đổi giữa các loại tham chiếu khác nhau bằng cách nhấn F4.
Hàm VLOOKUP với hàm IFERROR / ISERROR
Nếu bạn không muốn để người dùng thấy tất cả các thông báo lỗi N/A, VALUE hoặc NAME, bạn có thể trả lại ô trống hoặc hiển thị thông điệp của riêng bạn. Bạn có thể làm điều này bằng cách lồng công thức VLOOKUP của bạn trong hàm IFERROR trong Excel 2013, 2010 và 2007 hoặc hàm IF / ISERROR trong các phiên bản Excel trước đó.
Sử dụng VLOOKUP với IFERROR
Cú pháp của hàm IFERROR rất đơn giản
IFERROR (value, value_if_error)
Bạn nhập giá trị để kiểm tra lỗi trong đối số thứ nhất, và trong đối số thứ 2 bạn chỉ định giá trị trả về nếu lỗi xảy ra. Ví dụ, công thức IFERROR / VLOOKUP sau trả về một ô trống khi không tìm thấy giá trị tra cứu:
= IFERROR (VLOOKUP ($F$2, $B$2: $C$10,2, FALSE), “”)
Nếu bạn thích hiển thị thông điệp của mình thay vì những biểu hiện lỗi thông thường, hãy đánh chúng vào dấu ngoặc kép như thế này:
=IFERROR(VLOOKUP($F$2,$B$2:$C$10,2,FALSE),”Oops, no match is found. Please try again!”)
Hàm IFERROR có ở phiên bản Excel 2007, trong các phiên bản Excel trước bạn sẽ phải sử dụng kết hợp hàm IF và ISERROR như thế này:
=IF(ISERROR(VLOOKUP formula), “Your message if any“, VLOOKUP formula)
Ví dụ, đây là công thức IF / ISERROR / VLOOKUP tương tự như công thức IFERROR / VLOOKUP ở trên:
=IF(ISERROR(VLOOKUP($F$2,$B$2:$C$10,2,FALSE)),"",VLOOKUP($F$2,$B$2:$C$10,2,FALSE))
Để có thể biết thêm nhiều hàm nâng cao trong Excel cũng như sử dụng tốt hơn các công cụ của Excel, các bạn hãy tham gia ngay khóa học EX101 – Excel từ cơ bản tới nâng cao của Học Excel Online. Đây là khóa học chi tiết và đầy đủ nhất, giúp bạn phát triển kiến thức một cách đầy đủ, có hệ thống. Đặc biệt khóa học này không giới hạn thời gian học tập, nên bạn có thể học thoải mái và xem lại bất cứ khi nào.
Hiện nay hệ thống đang có nhiều ưu đãi khi bạn đăng ký khóa học này. Chi tiết xem tại: