I. Bản chất hàm
1. Tổng quan về hàm Vlookup
Hàm VLOOKUP là một hàm Excel dùng để tra cứu dữ liệu trong một bảng được sắp xếp theo chiều dọc. Giá trị dò tìm của hàm VLOOKUP có thể gần đúng, chính xác hoàn toàn, và cũng có thể sử dụng các ký tự đại diện (? *) cho các kết quả khớp một phần trong chuỗi văn bản. Giá trị dò tìm phải xuất hiện trong cột dữ liệu đầu tiên của bảng dữ liệu được dùng làm đối số trong hàm VLOOKUP.
2. Hàm VLOOKUP sử dụng để làm gì?
- Hàm VLOOKUP sử dụng để dò tìm một giá trị trong cột đầu tiên của bảng dữ liệu
3. Kết quả trả về của hàm VLOOKUP
- Hàm VLOOKUP trả về giá trị phù hợp nằm trong bảng dữ liệu dựa trên giá trị dò tìm
4. Công thức hàm VLOOKUP
=VLOOKUP (lookup_value, table_array, column_index_num, [range_lookup])
5. Giải thích công thức hàm VLOOKUP
- ookup_value (bắt buộc): Giá trị bạn đang tìm kiếm. Nó phải nằm trong cột đầu tiên của bảng dữ liệu table_array
- table_array (bắt buộc): Bảng dữ liệu chứa cột giá trị dò tìm (lookup_value) và côt giá trị kết quả
- column_index_num (bắt buộc): Vị trí cột chúa kết quả bạn muốn lấy trong bảng dữ liệu table_array
- Vị trí này sẽ tính từ cột đầu tiên là cột chứa giá trị dò tìm lookup_value
- range_lookup [tùy chọn]: Đây lá một giá trị logic xác định xem kết quả trả về của hàm VLOOKUP là kết quả khớp chính xác hay giá trị gần đúng
- Nếu range_lookup là TRUE hoặc bị bỏ qua thì hàm VLOOKUP sẽ trả về kết quả khớp chính xác hoặc khớp gần đúng. Nếu không tìm thấy kết quả khớp chính xác, giá trị đó sẽ khớp với giá trị nhỏ nhất tiếp theo.
- =VLOOKUP(lookup_value, table_array, col_index, TRUE)
- =VLOOKUP(lookup_value, table_array, col_index)
- Lưu ý: Trong trường hợp này, các giá trị trong cột đầu tiên của table_array phải được sắp xếp theo thứ tự tăng dần. Nếu không, hàm VLOOKUP có thể không trả về giá trị chính xác
- Nếu range_lookup là FALSE hoặc là 0 thì hàm VLOOKUP sẽ chỉ trả về một kết quả khớp chính xác. Nếu không tìm thấy lookup_value chính xác, kết quả trả về là lỗi #N/A. Nhưng nếu có hai hoặc nhiều giá trị trong cột đầu tiên của table_array khớp với lookup_value thì VLOOKUP chỉ sử dụng giá trị tìm thấy đầu tiên
- =VLOOKUP(lookup_value, table_array, col_index, FALSE)
- =VLOOKUP(lookup_value, table_array, col_index,0)
6. Ưu nhược điểm khi sử dụng hàm VLOOKUP
Hàm VLOOKUP là hàm phổ biến và nổi tiếng nhất trong Excel, vì những lý do tốt xấu đều có cả.
VLOOKUP có điểm tốt gì?
- Rất dễ sử dụng, nên đối với người mới học Excel thì đều có thể dễ dàng tiếp cận, hiểu và ứng dụng ngay tức thì
- Truy xuất kết quả phát một, chọn từ khóa dò tìm, chọn vùng dữ liệu, xác định cột chứa kết quả trả về, chọn dò tìm chính xác hay tương đôi - XONG
VLOOKUP còn hạn chế điều gì?
- Sự kém linh hoạt trong khâu tra cứu (Không giốn như các hàm INDEX và MATCH hoặc XLOOKUP)
- Giá trị tra cứu phải nằm ở cột đầu tiên trong bảng dữ liệu - Gây khó khăn trong việc dò tìm dữ liệu với nhiều tiêu chí
- Dễ dàng phải nhận kết quả không chính xác
Nhưng bạn cứ an tâm, VLOOKUP vẫn là một hàm mạnh mẽ đáng để chúng ta chinh phục!
II. Hướng dẫn sử dụng hàm VLOOKUP thông qua 7 tình huống đơn giản
1.Tình huống 1: Hàm VLOOKUP trả về một giá trị nào đó dựa trên số cột của giá trị đó
Khi bạn sử dụng hàm VLOOKUP, hãy tưởng tượng rằng mỗi cột trong bảng dữ liệu table_array đều được đánh số, bắt đầu từ bên trái bảng dữ liệu. Muốn lấy giá trị nằm tại cột nào thì cung cấp số cột đó cho hàm VLOOKUP ở đối số column_index_num.
Bạn muốn kết quả trả về là Họ tên - Điểm Toán - Điểm Lý hay Điểm Hóa thì chỉ cần thay đổi số cột ở đối số column_index_num từ 2 thành 3 hay 4 hay 5
=VLOOKUP(H5,B7:F24,2,0) // Họ tên
=VLOOKUP($H$5,$B$7:$F$24,3,0) // Điểm Toán
=VLOOKUP($H$5,$B$7:$F$24,4,0) // Điểm Lý
=VLOOKUP($H$5,$B$7:$F$24,5,0) // Điểm Hóa
Ghi chú: Viết xong công thức tra cứu Họ tên theo Số báo danh thì bạn có thể linh hoạt sử dụng tham chiếu tuyệt đối cho lookup_value và table_array để cố định ô, vùng dữ liệu. Ngăn chúng thay đổi khi công thức được sao chép, kéo thả đến vị trí khác.
2.Tình huống 2: Hàm VLOOKUP chỉ có thể dò tìm kết quả bên phải giá trị dò tìm (lookup_value)
Hàm VLOOKUP chỉ có thể truy xuất kết quả bên phải cột chứa giá trị dò tìm lookup_value.
Tức là, nếu lookup_value là Số báo danh - Mà ở bảng dữ liệu, cột Số báo danh lại nằm ở cột E thì khi sử dụng hàm VLOOKUP để tra cứu thông tin liên quan đến Số báo dnah thì chỉ có thể tra cứu được những cột dữ liệu nằm bên phải cột Số báo danh mà thôi. Còn dữ liệu nằm bên trái cột Số báo danh, không thể truy xuất được bằng hàm VLOOKUP
Để tra cứu các giá trị bên trái Số báo danh thì:
- Một là: Bạn phải có tư duy tổ chức dữ liệu gọn gàng, linh hoạt và hiệu quả ngay từ đầu. Xác định rõ ràng lookup_value, luôn luôn ưu tiên tổ chức nó ở đầu của bảng dữ liệu
- Hai là: Bạn có thể sử dụng các hàm INDEX và MATCH hoặc hàm XLOOKUP để chiều, phạm vi tra cứu dữ liệu linh hoạt hơn
3.Tình huống 3: Dò tìm chính xác với hàm VLOOKUP
Trong đa số các trường hợp dò tìm, bạn đều muốn sử dụng hàm VLOOKUP dò tìm chính xác lookup_value. Tức là giá trị dò tìm của chúng ta là duy nhất trong cột chứa đối số dò tìm ở bảng dữ liệu.
Ví dụ như Số báo danh ở tình huống này:
4. Tình huống 4: Dò tìm gần đúng với hàm VLOOKUP nhiều khi lại trở lên thú vị
Nhiều khi dò tìm chính xác giá trị lookup_value lại không đạt được kết quả mà chúng ta mong muốn trả về. Với tình huống này bạn cần phải sử dụng chế độ dò tìm gần đúng để xử lý hiệu quả.
Ví dụ như sau:
- Kết quả tôi muốn trả về tại cột D là % Ưu đãi của từng đại lý tương ứng với ngưỡng doanh thu bán hàng họ đạt được
- Giá trị dò tìm là Doanh số bán hàng
- Bảng dữ liệu dò tìm là H5:I8 (Bảng so sánh ngưỡng doanh thu và % ưu đãi tương ứng)
Nếu các bạn sử dụng dò tìm chính xác Doanh số thì không ra được kết quả, vì Doanh số bán hàng không trùng với các ngưỡng so sánh
=VLOOKUP (C12,$H$12:$I$15,2,TRUE) // TRUE or 1 là đối số gần đúng
VLOOKUP sẽ quyét các giá trị trong cột H để tìm giá trị tra cứu. Nếu tìm thấy kết quả khớp chính xác, hàm VLOOKUP sẽ sử dụng nó. Nếu không, hàm VLOOKUP sẽ “lùi lại” và lấy kết quả hàng trước đó. Chính vì vậy, điều quan trọng nhất ở table_array phải được sắp xếp theo thứ tự tăng dần ở cột doanh thu, hay giá trị tra cứu để sử dụng đối số gần đúng
Lưu ý: Nếu range_lookup bị bỏ qua hoặc table_array không được sắp xếp theo thứ tự tăng dần thì hàm VLOOKUP có thể trả về kết quả không chính xác hoặc kết quả không mong muốn.
5. Tình huống 5: Hàm VLOOKUP sẽ trả về kết quả đầu tiên nếu giá trị dò tìm lookup_value trùng nhau trong cột dữ liệu dò tìm
Trong trường hợp các giá trị lookup_value trùng lặp, hàm VLOOKUP sẽ tìm giá trị trùng đầu tiên. Trong ví dụ bên dưới, hàm VLOOKUP được thiết lập để tìm Khối lượng vật tư Nhập với Mã VT là Đ12. Các bạn thấy là có ba hàng có Mã VT là Đ12 và hàm VLOOKUP sẽ trả về Khối lượng Nhập vật tư mã Đ12 ở hàng đầu tiên = 330
Công thức trong ô L6 là:
=VLOOKUP(J6,B6:H16,5,0) //Kết quả trả về = 330
Ghi chú: Nếu bạn muốn truy xuất đến nhiều kết quả phù hợp trong một bảng Dữ liệu với một thao tác tra cứu thì bạn có thể dùng hàm FILTER để xử lý hiệu quả
6. Tình huống 6: Hàm VLOOKUP với giá trị dò tìm lookup_value có chứa ký tự đại diện
Hàm VLOOKUP hỗ trợ các ký tự đại diện, giúp bạn có thể thực hiện dò tìm các ký tự của giá trị lookup_value. Để sử dụng các ký tự đại diện với VLOOKUP thì bạn phải sử dụng chế độ dò tìm chính xác, bằng cách điền FALSE cho đối số range_lookup.
Ví dụ: Bạn có thể sử dụng hàm VLOOKUP để truy xuất thông tin từ bảng dữ liệu với một vài ký tự đại diện của lookup_value.
- Hình ảnh bên dưới, bạn thấy tôi đã sử dụng ký tự ap ở ô I4 kết hợp với các ký tự đại diện (*) trong công thức ở ô I6 của hàm VLOOKUP
- Kết quả trả về của chúng ta là các thông tin của dòng điện thoại Apple và cả chính tên thương hiệu Apple luôn
7. Tình huống 7: VLOOKUP dò tìm dữ liệu với việc kết hợp nhiều tiêu chí dò tìm
Như các bạn đã biết, đối số lookup_value của hàm VLOOKUP là một giá trị dò tìm duy nhất. Tuy nhiên, bạn có thể đặt mỗi thành phần trong lookup_value ở một ô Cell, sau đó bạn sẽ dùng ký tự & để nối các thành phần đó lại với nhau để tạo ra giá trị lookup_value nhiều tiêu chí.
Như trong ví dụ dưới đây, khi các bạn gõ Mã sản phẩm, Đại lý và Năm vào từng ô trong cột Q để xác định doanh thu tương ứng cho các tháng. Thì để sử dụng hàm VLOOKUP hiệu quả, đối số lookup_value của hàm, bạn phải dùng ký tự & để nối dữ liệu ở tất cả các ô Q2 & Q3 & Q4 lại với nhau để tiến hành dò tìm tương ứng trong bảng dữ liệu, hay nói cách khác là dò tìm trong cột B của bảng dữ liệu
VLOOKUP ở tình huống này đã được cải tiến một chút ở giá trị dò tìm lookup_value theo công thức dưới đây
=VLOOKUP (Q2&Q3&Q4,B3:N34,2,0)
Lưu ý: Nếu bạn muốn khai thác hàm VLOOKUP với nhiều tiêu chí dò tìm nâng cao, thì hãy xem bài viết này