Hàm VLOOKUP cách sử dụng và ví dụ cụ thể

VLOOKUP là một trong những hàm Excel hữu ích nhất nhưng lại ít người hiểu về nó. Trong bài viết này, chúng tôi sẽ giúp các bạn hiểu rõ về hàm VLOOKUP bằng các ví dụ thực tế, như xếp loại học sinh, nhân viên bằng cách dùng hàm VLOOKUP.

Hàm VLOOKUP là gì?

Hàm VLOOKUP là hàm dò tìm dữ liệu trong Excel. Tôi giả định rằng bạn đã có kiến thức nền về Excel và có thể sử dụng những hàm cơ bản như SUM, AVERAGE, và TODAY. Một trong những chức năng thông dụng nhất của VLOOKUP là một hàm dữ liệu, nghĩa là nó sẽ hoạt động dựa trên những bảng cơ sở dữ liệu hoặc đơn giản hơn là danh sách các hạng mục. Danh sách có rất nhiều loại. Bạn có thể lập bảng về nhân sự trong công ty, các loại mặt hàng sản phẩm, danh sách khách hàng, hoặc bất kỳ cái gì cũng được. Và dưới đây là danh sách những sản phẩm của công ty A đang bán trên thị trường:

Danh sách sản phẩm

Bảng cơ sở dữ liệu thường có những dấu hiệu nhận biết cho từng sản phẩm. Ở bảng dữ liệu trên, dấu hiệu nhận biết đặc biệt là cột "Item Code" (Mã sản phẩm). Chú ý: Để có thể sử dụng hàm VLOOKUP thì bảng dữ liệu phải có cột chứa dấu hiệu nhận biết như mã hoặc ID, và buộc phải là cột đầu tiên như bảng trên.

VLOOKUP có lẽ là hàm nổi tiếng nhất trong Excel, nhưng vì cả lý do tốt và xấu. Về mặt tốt, hàm VLOOKUP rất dễ sử dụng và làm được điều gì đó rất hữu ích. Đặc biệt, đối với những người dùng mới, việc xem hàm VLOOKUP quét bảng, tìm một kết quả phù hợp và trả về một kết quả chính xác là điều vô cùng thích thú. Sử dụng thành thạo hàm VLOOKUP là một kỹ năng cần thiết, từ người mới bắt đầu đến người dùng Excel thành thạo.

Về mặt tiêu cực, hàm VLOOKUP bị giới hạn và có các giá trị mặc định nguy hiểm. Không giống như INDEX và MATCH (hoặc XLOOKUP), hàm VLOOKUP cần một bảng hoàn chỉnh với các giá trị tra cứu trong cột đầu tiên. Điều này làm cho việc sử dụng hàm VLOOKUP với nhiều tiêu chí trở nên khó khăn. Ngoài ra, hành vi đối sánh mặc định của VLOOKUP khiến bạn dễ dàng nhận được kết quả không chính xác. Nhưng đừng quá lo lắng! Chìa khóa để sử dụng thành công hàm VLOOKUP là nắm vững các kiến thức cơ bản.

VLOOKUP có 4 đối số: lookup_value, table_array, column_index_num và range_lookup. Lookup_value là giá trị cần tìm và table_array là phạm vi dữ liệu dọc cần tìm bên trong. Cột đầu tiên của table_array phải chứa các giá trị tra cứu để tìm kiếm. Đối số column_index_num là số cột của giá trị cần truy xuất, trong đó cột đầu tiên của table_array là cột 1.

Cuối cùng, range_lookup điều khiển hành vi tìm giá trị khớp. Nếu range_lookup là TRUE, thì hàm VLOOKUP sẽ thực hiện đối sánh gần đúng. Nếu range_lookup là FALSE, thì hàm VLOOKUP sẽ thực hiện đối sánh chính xác. Quan trọng, range_lookup là tùy chọn và được đặt mặc định là TRUE, do đó, VLOOKUP sẽ thực hiện so khớp gần đúng theo mặc định.

Công thức của hàm VLOOKUP trong Excel 2016, 2013, 2010, 2007, 2003

Hàm VLOOKUP trong Excel có công thức như sau:

=VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup])

Trong đó:

  • VLOOKUP: Là tên hàm
  • Các tham số in đậm bắt buộc phải có.
  • lookup_value: Giá trị dùng để dò tìm
  • table_array: Bảng chứa giá trị cần dò tìm, để ở dạng giá trị tuyệt đối với dấu $ đằng trước, ví dụ: $A$3:$E$40.
  • col_index_num: Thứ tự của cột chứa giá trị dò tìm trên table_array. Ví dụ trong bảng $A$3:$E$40, cột B chứa giá trị cần dò tìm thì col_index_num ở đây sẽ là 2; bảng $C$3:$F$40, cột E chứa giá trị dò tìm, thì col_index_num ở đây là 3.
  • range_lookup: Là phạm vi tìm kiếm, TRUE tương đương với 1 (dò tìm tương đối), FALSE tương đương với 0 (dò tìm tuyệt đối). Tham số này không bắt buộc phải luôn có trong công thức.

Dò tìm tương đối chỉ có thể áp dụng khi giá trị cần dò tìm trong table_array đã được sắp xếp theo thứ tự (tăng dần hoặc giảm dần hay theo bảng chữ cái). Với những bảng như vậy bạn có thể dùng dò tìm tương đối, khi đó nó tương tự như dùng hàm IF vô hạn vậy. Đối với các giá trị cần dò tìm không thể hoặc chưa được sắp xếp hãy dùng dò tìm tuyệt đối để tìm chính xác giá trị.

Video hướng dẫn dùng hàm VLOOKUP

VD1: Sử dụng hàm VLOOKUP để đánh giá xếp loại của học sinh, nhân viên:

Giả sử, bạn có bảng điểm học sinh như sau:

STTHọ và tênĐiểm TBXếp loại
1Nguyễn Hoàng Anh9.1
2Trần Vân Anh8.3
3Nguyễn Quanh Vinh9.5
4Trần Hồng Quang8.6
5Đỗ Thanh Hoa5.0
6Lê Hồng Ngọc4.5
7Đoàn Thanh Vân7.2
8Ngô Ngọc Bích0.0
9Hoàng Thu Thảo6.6
10Đinh Minh Đức8.7

Và bảng quy định xếp loại như sau:

Quy định xếp loại
0Yếu
5.5Trung bình
7Khá
8.5Giỏi

Giờ ta sẽ sử dụng hàm VLOOKUP để nhập xếp loại cho các học sinh. Bạn để ý thấy rằng bảng quy định xếp loại đã được sắp xếp theo thứ tự từ thấp đến cao (từ yếu đến giỏi) nên trong trường hợp này ta có thể dùng dò tìm tương đối.

Trong Excel 2 bảng này được trình bày như sau:

Bảng điểm học sinh và quy định xếp loại

Ở đây, giá trị cần dò tìm nằm ở cột C, bắt đầu từ dòng thứ 6. Phạm vi tìm kiếm là $A$18:$B$21, thứ tự cột chứa giá trị dò tìm là 2.

Tại ô D6, bạn nhập vào công thức: =VLOOKUP($C6,$A$18:$B$21,2,1). Đây là công thức dò tìm tương đối, bạn có thể thực hiện dò tìm tuyệt đối nếu muốn (hoặc do bảng xếp loại chưa được sắp xếp theo thứ tự) bằng cách thêm 0 vào công thức như thế này: =VLOOKUP($C6,$A$18:$B$21,2,0). Nhấn Enter.

Nhập công thức VLOOKUP để xếp loại học sinh

Nhấp chuột vào ô D6, xuất hiện ô vuông nhỏ ở góc dưới bên phải, bạn nhấp chuột vào đó và kéo dọc xuống hết bảng để sao chép công thức xếp loại cho những học sinh còn lại.

Nhấp vào ô vuông nhỏ để kéo công thức xuống toàn bảng

Khi đó, ta có kết quả dùng hàm VLOOKUP để xếp loại học lực học sinh như sau:

Kết quả xếp loại học sinh bằng VLOOKUP

Bạn có thắc mắc tại sao phải sử dụng $ trước C6 không? $ sẽ giúp cố định cột C, chỉ thay đổi các hàng khi bạn kéo công thức xuống toàn bảng. Còn $A$18:$B$21 để giúp cố định bảng quy định xếp loại, khiến nó không bị thay đổi khi bạn kéo công thức.

VD2: Sử dụng VLOOKUP dò tìm tuyệt đối để lấy dữ liệu

Giả sử, bạn có một bảng dữ liệu nhân viên, lưu trữ mã nhân viên, họ tên, chức vụ. Một bảng khác lưu trữ mã nhân viên, quê quán, trình độ học vấn. Giờ bạn muốn điền thông tin quê quán, trình độ học vấn cho từng nhân viên thì phải làm như thế nào?

Giả sử bạn có bảng nhân viên và quê quán nhân viên như sau:

Bảng dữ liệu nhân viên

Giờ bạn muốn điền thông tin quê quán cho nhân viên. Tại ô D4, bạn nhập vào công thức dò tìm tuyệt đối như sau: =Vlookup($A4,$A$16:$C$25,2,0)

Nhập công thức dò tìm thông tin quê quán cho nhân viên

Rồi nhấn Enter. Nhấp vào ô vuông nhỏ xuất hiện dưới góc ô D4 và kéo xuống toàn bảng để sao chép công thức cho các nhân viên khác.

Sao chép công thức VLOOKUP cho toàn bộ nhân viên

Để điền thông tin trình độ cho các nhân viên, tại ô E4 bạn nhập vào công thức dò tìm tuyệt đối: =VLOOKUP($A4,$A$16:$C$25,3,0)

Công thức dò tìm tuyệt đối VLOOKUP

Bạn tiếp tục nhấn Enter và kéo xuống để sao chép công thức cho những nhân viên còn lại, ta sẽ được kết quả như sau:

Sao chép công thức dò tìm trình độ nhân viên

VD3: Dùng VLOOKUP để trích xuất dữ liệu

Tiếp tục với bộ dữ liệu của ví dụ 2, giờ ta sẽ đi tìm quê quán của 3 nhân viên là Nguyễn Hoàng Anh, Trần Vân Anh và Nguyễn Quang Vinh. Mình đã trích xuất ra thành một bảng mới F15:G18.

Việc dò tìm này mình sẽ thực hiện trên bảng A3:E13, sau khi đã được điền quê quán và trình độ. Lúc này, bạn nhập công thức dò tìm tuyệt đối sau vào ô G16: =VLOOKUP($F16,$B$3:$E$13,3,0) > nhấn Enter.

Cách dùng hàm VLOOKUP để dò tìm thông tin

Sao chép công thức cho 2 nhân viên còn lại ta được kết quả như sau:

Kết quả dò tìm với VLOOKUP

Lưu ý trong ví dụ này, giá trị dò tìm nằm ở cột B, vì thế vùng dò tìm ta tính từ cột B mà không tính từ cột A.

VD4: Dùng hàm VLOOKUP trên 2 sheet Excel khác nhau

Quay lại với bộ dữ liệu ở ví dụ 2 sau khi nhân viên được điền xong trình độ và quê quán, ta đặt tên cho sheet là QTM.

Bảng dữ liệu chứa giá trị cần dò tìm với VLOOKUP

Ở một sheet khác của bảng tính, đặt tên là QTM1, bạn cần lấy thông tin về trình độ và chức vụ của nhân viên với thứ tự sắp xếp của nhân viên đã thay đổi. Đây mới là lúc bạn thấy được sức mạnh thực sự của hàm VLOOKUP.

Bảng cần điền dữ liệu với VLOOKUP

Để dò tìm dữ liệu về "Trình độ" của nhân viên, bạn nhập công thức: =VLOOKUP($B4,QTM!$B$3:$E$13,4,0) vào ô C4 của sheet QTM1.

Nhập công thức VLOOKUP dò tìm dữ liệu giữa 2 sheet khác nhau

Trong đó:

  • B4 là cột chứa giá trị dùng để dò tìm.
  • QTM! là tên sheet chứa bảng có giá trị cần dò tìm, sau tên sheet bạn thêm dấu !
  • $B$3:$E$13 là bảng chứa giá trị dò tìm và sheet chứa bảng (QTM).
  • 4 là số thứ tự của cột "Trình độ", tính từ cột "Họ và tên" trên sheet QTM.
  • 0 là dò tìm tuyệt đối.

Nhấn Enter, rồi sao chép công thức cho toàn bộ nhân viên còn lại trong bảng, ta được kết quả như sau:

Kết quả khi dùng VLOOKUP ở 2 sheet khác nhau

Để dò tìm dữ liệu "Chức vụ" của nhân viên, tại ô D4 của sheet QTM1, bạn nhập vào công thức: =VLOOKUP($B4,QTM!$B$3:$E$13,2,0), nhấn Enter.

Cách dùng VLOOKUP ở hai sheet khác nhau

Sao chép công thức cho các nhân viên còn lại, ta được như sau:

Bảng dữ liệu được điền với VLOOKUP

Sử dụng hàm VLOOKUP để làm gì?

Trước tiên chúng ta cần tìm câu trả lời chính xác cho câu hỏi "chúng ta sử dụng hàm VLOOKUP để làm gì?".

Hàm VLOOKUP được sử dụng để hỗ trợ tra cứu thông tin trong một trường dữ liệu hoặc danh sách dựa vào những mã định danh có sẵn.

Ví dụ, chèn hàm VLOOKUP kèm theo mã sản phẩm vào một bảng tính khác, nó sẽ hiển thị thông tin của sản phẩm tương ứng với mã đó. Những thông tin đó có thể là mô tả, giá thành, số lượng tồn kho, tùy theo nội dung công thức mà bạn viết.

Lượng thông tin cần tìm càng nhỏ thì khi viết hàm VLOOKUP sẽ càng khó khăn hơn. Thông thường bạn sẽ sử dụng hàm này vào một bảng tính tái sử dụng như mẫu. Mỗi lần nhập mã sản phẩm thích hợp, hệ thống sẽ truy xuất tất cả những thông tin cần thiết về sản phẩm tương ứng.

Những điều cần nhớ về hàm VLOOKUP

Dưới đây là danh sách những điều quan trọng cần nhớ về hàm VLOOKUP trong Excel:

  • Khi range_lookup bị bỏ qua, hàm VLOOKUP sẽ cho phép đối sánh không chính xác, nhưng vẫn sẽ sử dụng đối sánh chính xác nếu có.
  • Hạn chế lớn nhất của hàm là nó luôn lấy giá trị bên phải. Hàm sẽ lấy dữ liệu từ các cột bên phải cột đầu tiên trong bảng.
  • Nếu cột tra cứu chứa các giá trị trùng lặp, hàm VLOOKUP sẽ chỉ khớp giá trị đầu tiên.
  • Hàm không phân biệt chữ hoa chữ thường.
  • Giả sử có một công thức VLOOKUP hiện có trong một trang tính. Trong trường hợp đó, các công thức có thể bị hỏng nếu bạn chèn một cột vào bảng, bởi vì các giá trị chỉ mục cột được mã hóa cứng, không tự động thay đổi khi các cột được chèn hoặc xóa.
  • VLOOKUP cho phép sử dụng các ký tự đại diện, ví dụ, dấu hoa thị (*) hoặc dấu chấm hỏi (?).
  • Giả sử trong bảng bạn đang làm việc với hàm chứa các số được nhập dưới dạng văn bản. Nếu chỉ lấy số dưới dạng văn bản từ một cột trong bảng, thì điều đó không thành vấn đề. Nhưng nếu cột đầu tiên của bảng chứa các số được nhập dưới dạng văn bản, lỗi #N/A! sẽ hiển thị nếu giá trị tra cứu cũng không ở dạng văn bản.
  • Lỗi #N/A! xảy ra nếu hàm VLOOKUP không tìm thấy kết quả phù hợp với giá trị lookup_value đã cung cấp.
  • Lỗi #REF! xảy ra nếu:
    • Đối số col_index_num lớn hơn số cột trong table_array được cung cấp
    • Công thức đã cố gắng tham chiếu đến các ô không tồn tại.
  • Lỗi #VALUE! xảy ra nếu:
    • Đối số col_index_num nhỏ hơn 1 hoặc không được công nhận là giá trị số
    • Đối số range_lookup không được nhận dạng là một trong các giá trị logic TRUE hoặc FALSE.

Xem thêm:

Thứ Ba, 17/05/2022 11:55
4,167 👨 1.097.171
7 Bình luận
Sắp xếp theo
  • Chí Vỹ
    Chí Vỹ

    mình đã biết dùng hàm vlookup nhờ bài viết này

    Thích Phản hồi 09:10 29/03
    • Pham Hoa
      Pham Hoa

      bài viết rất tốt, có ví dụ và giải thích dễ hiểu

      Thích Phản hồi 09:09 29/03
      • Nguyễn Ngọc Tuyến
        Nguyễn Ngọc Tuyến

        hữu ích

        Thích Phản hồi 09:09 29/03
        • Trần Phương Trà
          Trần Phương Trà

          cảm ơn bạn

          Thích Phản hồi 09:09 29/03
          • Nguyen Hoai
            Nguyen Hoai

            bài viết hay quá

            Thích Phản hồi 09:09 29/03
            • Thúy Vi
              Thúy Vi

              nếu các cột không liền kề nhau làm sao khi sử dụng vlookup sắp xếp lại các ô theo đungs thứ tự ạ?

              Thích Phản hồi 14:23 20/11
              • Nguyễn Lanh Anh
                Nguyễn Lanh Anh

                Ko biết mình hiểu câu hỏi của bạn đúng ko, nếu đúng, bạn có thể dùng vlookup trên 1 sheet khác, dò tìm các giá trị theo thứ tự cột mà bạn mong muốn mà. kiểu ô A5 = giá trị 1, B5 = giá trị 2, lần lượt hết hàng, rùi kéo xuống hết bảng. Như vậy bạn sắp xếp cột kiểu gì cg đc

                Thích Phản hồi 09:09 29/03
            • Quỳnhquằnquoại ko Dùngđiệnthoại
              Quỳnhquằnquoại ko Dùngđiệnthoại

              Nếu kết hợp Vlookup với If thì làm thế nào b nhỉ?

              Thích Phản hồi 15:55 13/10
              • Quantrimang.com
                Quantrimang.com

                Bạn tham khảo bài hướng dẫn kết hợp Vlookup If này nhé

                Thích Phản hồi 15:56 13/10