Hàm VLOOKUP trong Excel luôn là sự chọn lựa hoàn hảo khi bạn muốn trích xuất thông tin từ bảng tính. Phần 1 và Phần 2 của 23 điều về hàm VLOOKUP ai cũng nên biết đã được Mytour giới thiệu, và dưới đây là phần 3, mang đến kiến thức cần thiết của hàm này.
- 23 điều về hàm VLOOKUP phần 1
- 23 điều về hàm VLOOKUP phần 2
15. Sử dụng hàm ROW hoặc hàm COLUMN để tính toán chỉ số cột
Nếu bạn cảm thấy bất tiện khi thay đổi sau khi sao chép một công thức, hãy sử dụng hàm ROW hoặc hàm COLUMN để tạo chỉ số cột linh hoạt. Với dữ liệu từ các cột liên tiếp, thủ thuật này giúp bạn xây dựng công thức VLOOKUP và sao chép mà không gặp vấn đề gì.
Chẳng hạn, với dữ liệu nhân viên dưới đây, hãy sử dụng hàm COLUMN để tạo chỉ số cột động. Công thức đầu tiên ở ô C3 sẽ trả về 3 (vì cột C là cột thứ ba), sau đó trừ đi 1 và sao chép qua các ô khác:
Tất cả các công thức đều giống nhau và không cần chỉnh sửa.
Công thức bạn đang áp dụng là:
=VLOOKUP(id,data,COLUMN()-1,0)
16. Kết hợp VLOOKUP + MATCH để có chỉ số cột động đầy đủ
Thêm vào thủ thuật trước, bạn cũng có thể sử dụng hàm MATCH để tìm vị trí của một cột trong bảng và trả về chỉ số cột động đầy đủ.
Điều này còn được gọi là tra cứu hai chiều vì bạn đang tìm kiếm cả dòng và cột.
Bạn có thể áp dụng thủ thuật này để tra cứu doanh thu bán hàng của một nhân viên trong một tháng cụ thể hoặc tìm giá của một sản phẩm từ một nhà cung cấp cụ thể.
Ví dụ, giả sử doanh thu bán hàng được phân chia theo nhân viên bán hàng:
Một điều mọi người nên biết về hàm VLOOKUP là nó có thể dễ dàng tìm tên người bán hàng, nhưng khó xử lý tên tháng tự động. Để giải quyết vấn đề này, sử dụng hàm MATCH để thay thế chỉ số cột tĩnh.
Hàm MATCH trả về số thứ tự của cột cần lấy giá trị tìm kiếm, bao gồm tất cả các cột trong bảng để 'đồng bộ' với chỉ số cột được sử dụng trong hàm VLOOKUP.
=VLOOKUP(H2,dữ liệu,MATCH(H3,tháng,0),0)
Lưu ý: Nên sử dụng cả hai cách tra cứu với hàm INDEX và hàm MATCH. Cả hai cách đều linh hoạt và hiệu suất tốt hơn khi làm việc trên các tập dữ liệu lớn.
17. VLOOKUP cho phép ký tự đại diện cho phù hợp một phần
Khi sử dụng hàm VLOOKUP ở chế độ tìm giá trị chính xác, bạn có lựa chọn sử dụng ký tự đại diện trong giá trị tra cứu.
Excel cung cấp 2 ký tự đại diện: dấu sao (*) khớp với một hoặc nhiều ký tự, và dấu hỏi chấm (?) khớp với một ký tự. Bạn chỉ cần nhập chúng vào ô và coi đó như là giá trị tra cứu với VLOOKUP.
Trong ví dụ dưới đây, nhập 'Mon *' vào ô H3, name range có tên gọi là 'val', và VLOOKUP sẽ trả về kết quả là 'Monet'.
Công thức trong trường hợp này rất đơn giản:
=VLOOKUP(value,data,1,0)
Nếu muốn, bạn có thể điều chỉnh công thức VLOOKUP để sử dụng ký tự đại diện phù hợp. Trong ví dụ dưới đây, chỉ đơn giản là ghép các giá trị trong H3 với một dấu sao.
Trong trường hợp này, công thức VLOOKUP để nối dấu sao (*) với giá trị tra cứu có dạng:
=VLOOKUP(value&'*',dữ liệu,1,0)
Lưu ý: Hãy cẩn thận khi sử dụng các ký tự đại diện và VLOOKUP. Thủ thuật này có thể dẫn đến kết quả không như mong đợi.
18. Bạn có thể bắt lỗi #N/A và hiển thị một thông báo thân thiện
Khi ở chế độ tìm kiếm giá trị chính xác, VLOOKUP sẽ hiển thị thông báo lỗi #N/A nếu không tìm thấy kết quả phù hợp. Lỗi này thông báo cho bạn biết không thể tìm kiếm được kết quả trong bảng tìm kiếm. Tuy nhiên, bạn có thể bắt lỗi này và hiển thị một thông báo khác để thay thế.
Lỗi #N/A sẽ xuất hiện khi VLOOKUP không thể tìm thấy giá trị tìm kiếm phù hợp. Lỗi này thông báo rằng không thể tìm kiếm được kết quả phù hợp trong bảng tìm kiếm. Trong ví dụ dưới đây với bảng đồ uống, Latte không tồn tại nên VLOOKUP trả về lỗi #N/A.
Công thức tiêu chuẩn để tìm kiếm kết quả chính xác trong trường hợp trên là:
=VLOOKUP(E6,dữ liệu,2,0)
Trong trường hợp bạn muốn hiển thị thông báo thân thiện hơn thay vì thông báo lỗi #N/A, bạn có thể thực hiện điều này một cách đơn giản.
Đơn giản nhất là đặt hàm VLOOKUP trong hàm IFERROR. Hàm IFERROR cho phép bạn “bắt” bất kỳ lỗi nào và trả về kết quả mà bạn mong muốn.
Để bắt lỗi #N/A và hiển thị thông báo “không tìm thấy”, bạn có thể đặt công thức gốc trong hàm IFERROR và đặt kết quả mong muốn:
Nếu giá trị tìm kiếm được, không có lỗi xảy ra và hàm VLOOKUP sẽ trả về kết quả bình thường. Dưới đây là công thức:
=IFERROR(VLOOKUP(E6,dữ liệu,2,0),'Không tìm thấy')
19. Số hiển thị dưới dạng văn bản có thể gây lỗi tìm kiếm
Trong một số trường hợp khi làm việc với hàm VLOOKUP có thể chứa các số được nhập dưới dạng văn bản. Nếu chỉ đơn giản là lấy các con số dưới dạng văn bản từ một cột trong bảng, điều này không quan trọng.
Nhưng nếu cột đầu tiên trong bảng chứa số được nhập dưới dạng văn bản, bạn sẽ nhận được kết quả là lỗi #N/A nếu giá trị tra cứu (lookup_value) không phải là dạng văn bản.
Trong ví dụ sau đây, số ID trong bảng Planet được nhập dưới dạng văn bản, đó là nguyên nhân gây ra lỗi VLOOKUP trả về thông báo lỗi #N/A khi giá trị tra cứu (lookup_value) ở ô H3 được nhập vào là số 3:
Để khắc phục tình trạng này, bạn cần đảm bảo giá trị tìm kiếm và cột đầu tiên của bảng có cùng kiểu dữ liệu (hoặc cùng kiểu số hoặc cùng kiểu văn bản).
Để làm điều này, hãy chuyển đổi các giá trị trong cột tìm kiếm sang dạng số bằng cách thêm số 0 khi sử dụng tính năng Paste Special.
Nếu bạn không kiểm soát được bảng tìm kiếm, bạn cũng có thể điều chỉnh công thức VLOOKUP để chuyển đổi các giá trị tra cứu (lookup_value) thành dạng văn bản, bằng cách nối '' vào công thức như sau:
=VLOOKUP(id&'',planets,2,0)
Nếu không chắc chắn dữ liệu trong bảng tìm kiếm đang sử dụng dạng số hay văn bản, vẫn có cách để bạn đáp ứng cho cả hai trường hợp. Hãy bọc hàm VLOOKUP trong hàm IFERROR và viết một công thức để xử lý cả hai trường hợp:
=IFERROR(VLOOKUP(id,planets,3,0),VLOOKUP(id&'',planets,3,0))
20. Tận dụng VLOOKUP để thay thế cho việc sử dụng các hàm IF lồng nhau
Một điều thú vị là VLOOKUP có thể thay thế cho các hàm IF lồng nhau trong Excel. Nếu bạn đã làm việc với các công thức chứa các hàm IF lồng nhau trong Excel, bạn sẽ biết cách chúng hoạt động hiệu quả, tuy nhiên, điều khó chịu là chúng thường yêu cầu sử dụng nhiều dấu ngoặc đơn.
Ngoài ra, hãy lưu ý đến thứ tự của dấu ngoặc đơn khi xây dựng công thức để đảm bảo rằng không có lỗi logic nào xuất hiện.
Thường thì hàm IF lồng nhau được áp dụng khi bạn muốn tính điểm chữ dựa trên thang điểm số có sẵn. Trong ví dụ sau, bạn có thể thấy công thức xây dựng từ các hàm IF lồng nhau để đánh giá thang điểm chữ dựa trên thang điểm số:
Công thức sử dụng các hàm IF lồng nhau trong ví dụ trên có cấu trúc:
=IF(C5<><><><>
Mặc dù công thức này hoạt động tốt, nhưng bạn cần chú ý rằng cả logic và thang điểm số phải được tích hợp trực tiếp vào công thức. Nếu bạn cần chỉnh sửa công thức tính toán vì lý do nào đó, bạn sẽ phải thực hiện điều này một cách cẩn thận và sao chép công thức xuống toàn bộ bảng nếu cần thiết.
Ngược lại, VLOOKUP có thể áp dụng cùng một thang điểm thông qua một công thức đơn giản. Bạn chỉ cần đảm bảo bảng điểm được sắp xếp cho VLOOKUP (nghĩa là sắp xếp theo thứ tự tăng dần và có dấu ngoặc đơn để xử lý tất cả các điểm).
Khi bạn đã đặt tên vùng dữ liệu cho bảng thang điểm chữ là “key”, bạn có thể sử dụng công thức VLOOKUP đơn giản, trả về kết quả thang điểm chữ một cách dễ dàng, giống như công thức của các hàm IF lồng nhau ban đầu:
=VLOOKUP(C5,key,2,TRUE)
Hơn nữa, cả logic và giá trị điểm số không được đặt trực tiếp trong công thức, mà được đặt trong các ô và bảng. Do đó, nếu có bất kỳ sự thay đổi nào, bạn chỉ cần cập nhật trực tiếp trong bảng, và các công thức VLOOKUP sẽ tự động cập nhật.
21. VLOOKUP chỉ có thể xử lý một điều kiện duy nhất
VLOOKUP được thiết kế để tìm kiếm giá trị dựa trên một điều kiện duy nhất, được cung cấp như một giá trị tra cứu (lookup_value) để tìm trong cột đầu tiên của bảng (cột tra cứu).
Nghĩa là bạn không thể dễ dàng thực hiện những công việc như tìm kiếm một nhân viên tên “Smith” trong bộ phận “kế toán”, hoặc tìm kiếm một nhân viên dựa trên tên và họ trong hai cột riêng biệt.
Tuy nhiên, vẫn có một số cách để khắc phục hạn chế này. Một trong những cách đó là tạo một cột phụ để kết hợp các giá trị từ các cột khác nhau với nhau và tạo ra các giá trị tìm kiếm, sau đó xử lý giống như nhiều điều kiện.
Ví dụ, bạn muốn tìm bộ phận và nhóm của một nhân viên, nhưng tên và họ lại xuất hiện trong hai cột riêng biệt. Vậy làm thế nào để tra cứu cả hai cùng một lúc?
Bắt đầu bằng cách thêm một cột phụ để kết hợp dữ liệu họ và tên với nhau:
Tiếp theo, cấu hình VLOOKUP sử dụng bảng tính bao gồm cột mới này và nối tên và họ để tra cứu giá trị:
Công thức VLOOKUP để tra cứu tên và họ sử dụng cột phụ có dạng như sau:
=VLOOKUP(D3&C3,dữ liệu,4,0)
22. Sử dụng 2 hàm VLOOKUP nhanh hơn 1 hàm VLOOKUP
Nghe có vẻ hơi điên, nhưng nếu có nhiều dữ liệu cần được xử lý và yêu cầu phải trả về kết quả chính xác, bạn có thể nghĩ đến việc sử dụng 2 hàm VLOOKUP để tăng tốc quá trình xử lý.
Thử tưởng tượng bạn có rất nhiều dữ liệu đơn đặt hàng, giả sử là hơn 10.000 đơn và bạn đang sử dụng hàm VLOOKUP để tra cứu tổng số đơn hàng dựa trên mã đơn hàng (id). Giả sử công thức của bạn có dạng:
=VLOOKUP(mã đơn hàng,dữ liệu, 5, FALSE)
Tham số FALSE ở cuối công thức để buộc VLOOKUP tìm kiếm giá trị chính xác, vì trong trường hợp này có thể bị sót một vài đơn hàng. Trong trường hợp này, kiểu tìm kiếm chính xác sẽ gây ra lỗi VLOOKUP trả kết quả là lỗi #N/A
Vấn đề đặt ra là kiểu tìm kiếm chính xác làm cho hàm VLOOKUP xử lý rất chậm, vì Excel phải chạy tuyến tính qua tất cả các giá trị cho đến khi nó tìm thấy kết quả tương ứng. Ngược lại, kiểu tìm kiếm tương đối thì sẽ nhanh hơn rất nhiều vì Excel có thể làm tìm kiếm nhị phân.
Vấn đề khác là đối với kiểu tìm kiếm tương đối, VLOOKUP có thể trả lại kết quả sai khi một giá trị không được tìm thấy. Thậm chí, kết quả có thể trông hoàn toàn bình thường, vì vậy bạn rất khó phát hiện sai sót.
Tận dụng VLOOKUP 2 lần để kiểm tra và truy xuất dữ liệu. VLOOKUP đầu tiên xác minh sự tồn tại của giá trị. VLOOKUP thứ hai được kích thích (cũng trong kiểu tìm kiếm tương đối) để đưa về dữ liệu mong muốn. Trong trường hợp trống trơn, bạn có thể trả về bất kỳ giá trị nào, chẳng hạn như “Không tìm thấy”.
Công thức cuối cùng có dạng:
=NẾU(VLOOKUP(mã đơn hàng,dữ liệu đơn hàng,1,ĐÚNG)=mã đơn hàng, VLOOKUP(mã đơn hàng,dữ liệu đơn hàng,5,ĐÚNG), 'Thiếu')
Lưu ý: Để áp dụng phương pháp này, dữ liệu của bạn cần được sắp xếp. Đây là biện pháp bảo vệ đơn giản để giảm thiểu rủi ro mất giá trị tra cứu.
23. Sử dụng hàm INDEX + MATCH thay vì VLOOKUP
Nếu bạn tham gia các diễn đàn về Excel, bạn sẽ thấy tranh cãi về sự ưu việt giữa hàm INDEX + MATCH và VLOOKUP.
Tích hợp hàm INDEX + MATCH có thể thực hiện mọi công việc mà VLOOKUP (và HLOOKUP) có thể, nhưng nhanh chóng và linh hoạt hơn. Bạn cũng nên tìm hiểu về hàm INDEX và hàm MATCH từ bây giờ vì chúng mang lại bộ công cụ mạnh mẽ hơn.
Một số đối thoại chống lại INDEX + MATCH vì đòi hỏi kết hợp 2 hàm thay vì chỉ 1, điều này tăng độ phức tạp cho người dùng, đặc biệt là những người mới sử dụng.
Nếu bạn là người sử dụng Excel thường xuyên, bạn chắc chắn muốn hiểu cách kết hợp INDEX + MATCH. Đó là một cách sáng tạo. Tuy nhiên, điều này không có nghĩa là bạn nên bỏ qua hàm VLOOKUP.
Dĩ nhiên, bạn sẽ luôn phải dựa vào VLOOKUP, đặc biệt là khi bạn cần lấy dữ liệu từ nguồn khác. Trong những tình huống đơn giản, VLOOKUP là người bạn đồng hành tốt nhất của bạn.
Trong bài viết về 23 điều cần biết về hàm VLOOKUP (Phần 3) này, Mytour đã giới thiệu đầy đủ về tính năng và cách sử dụng của hàm cũng như cung cấp một số ví dụ. Nếu bạn có bất kỳ thắc mắc hoặc câu hỏi nào, đừng ngần ngại để lại ý kiến của bạn trong phần bình luận dưới bài viết.
