Hàm VLOOKUP

Quan trọng:  Bài viết này là dịch máy, hãy xem tuyên bố miễn trừ trách nhiệm. Bạn hãy tìm phiên bản tiếng Anh của bài viết này tại đây để tham khảo.

Dùng VLOOKUP, một trong các hàm tra cứu và tham chiếu, khi bạn cần tìm thông tin trong một bảng hoặc một phạm vi theo hàng. Ví dụ, tra cứu họ của một nhân viên theo mã số nhân viên của cô ấy, hoặc tìm số điện thoại của cô ấy bằng cách tra cứu họ của cô ấy ( giống như danh bạ điện thoại).

Trình duyệt của bạn không hỗ trợ video. Hãy cài đặt Microsoft Silverlight, Adobe Flash Player hoặc Internet Explorer 9.

Video này là một phần của một khóa học đào tạo được gọi là VLOOKUP: Khi nào và làm thế nào để sử dụng nó.

Mẹo: VLOOKUP sắp xếp dữ liệu của bạn sao cho giá trị mà bạn tra cứu (họ của nhân viên) ở bên trái của giá trị trả về mà bạn muốn tìm (số điện thoại của nhân viên).

Cú pháp

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

Ví dụ:

  • =VLOOKUP(105,A2:C7,2,TRUE)

  • =VLOOKUP("Fontana",B2:E7,2,FALSE)

Tên đối số

Mô tả

lookup_value    (bắt buộc)

Giá trị bạn muốn tra cứu. Giá trị bạn muốn tra cứu phải nằm trong cột đầu tiên của phạm vi các ô do bạn chỉ định trong table-array .

Ví dụ, nếu table-array trải dài các ô B2:D7, thì lookup_value phải nằm ở cột B. Hãy xem đồ họa bên dưới. Lookup_value có thể là một giá trị hoặc tham chiếu đến một ô.

table_array    (bắt buộc)

Phạm vi các ô mà VLOOKUP sẽ tìm kiếm cho lookup_value và giá trị trả về.

Cột đầu tiên trong phạm vi ô phải chứa lookup_value (ví dụ như Họ trong ảnh bên dưới.) Phạm vi ô cũng phải chứa giá trị trả về (ví dụ, Tên trong đồ họa bên dưới) mà bạn muốn tìm.

Tìm hiểu cách chọn phạm vi trong một trang tính.

col_index_num    (bắt buộc)

Số cột (bắt đầu bằng 1 cho cột ngoài cùng bên trái của table-array) chứa giá trị trả về.

range_lookup   (tùy chọn)

Một giá trị lô-gic xác định bạn có muốn VLOOKUP tìm thấy một kết quả khớp chính xác hay kết quả khớp tương đối:

  • TRUE giả định rằng cột đầu tiên trong bảng được sắp xếp theo bảng chữ cái hoặc số, sau đó sẽ tìm kiếm giá trị gần nhất. Đây sẽ là cách thức mặc định nếu bạn không xác định cách thức nào khác.

  • FALSE tìm kiếm giá trị chính xác trong cột đầu tiên.

Hình ảnh sau đây cho biết cách bạn sẽ thiết lập trang tính của mình với =VLOOKUP("Akers",B2:D5,2,FALSE) để trả về Kim.

Ví dụ về giá trị và mảng cần để tạo công thức VLOOKUP trong Excel

Ví dụ

Để dùng các ví dụ này trong Excel, hãy sao chép dữ liệu trong bảng bên dưới rồi dán vào ô A1 của trang tính mới.

ID

Họ

Tên

Tiêu đề

Ngày sinh

10.1

Davis

Sara

Đại diện Bán hàng

08/12/68

1:02

Fontana

Olivier

Phó chủ tịch Kinh doanh

19/02/1952

103

Leal

Karina

Đại diện Bán hàng

30/08/1963

1,04

Patten

Tuấn

Đại diện Bán hàng

19/09/1958

=10-5

Burke

Brian

Quản lý Bán hàng

04/03/1955

1:06

Sousa

Luis

Đại diện Bán hàng

02/07/1963

Công thức

Mô tả

=VLOOKUP("Fontana",B2:E7,2,FALSE)

Tìm giá trị Fontana trong cột đầu tiên (cột B) của table_array B2:E7 và trả về giá trị Olivier được tìm thấy trong cột thứ hai (cột C) của table_array. range_lookup FALSE trả về kết quả khớp chính xác.

=VLOOKUP(102,A2:C7,2,FALSE)

Tìm kiếm kết quả khớp chính xác của họ cho lookup_value102 trong cột A. Fontana được trả về. Nếu lookup_value105, Burke sẽ được trả về.

=IF(VLOOKUP(103,A1:E7,2,FALSE)="Sousa","Located","Not found")

Kiểm tra để xem nếu tên cuối cùng của nhân viên với ID 103Sousa. Sử dụng chức năng nếu để trở về một giá trị nếu một điều kiện là đúng sự thật và giá trị khác nếu nó là sai. Bởi vì 103 là thực sự Leal, kết quả là không tìm thấy. Nếu bạn thay đổi "Sousa" để "Leal" trong công thức, kết quả là nằm.

=INT(YEARFRAC(DATE(2014,6,30), VLOOKUP(105,A2:E7,5, FALSE), 1))

Đối với năm tài chính 2014, tìm tuổi của nhân viên có ID 105. Sử dụng hàm YEARFRAC để trừ ngày sinh từ ngày kết thúc năm tài chính và hiển thị kết quả 59 ở dạng số nguyên bằng cách dùng hàm INT.

=IF(ISNA(VLOOKUP(105,A2:E7,2,FALSE)) = TRUE, "Employee not found", VLOOKUP(105,A2:E7,2,FALSE))

Nếu có một nhân viên có ID 105, thì hiển thị họ của nhân viên, chính là Burke. Nếu không, hiển thị thông báo Employee not found. Hàm ISNA (xem các hàm IS) trả về giá trị TRUE khi hàm VLOOKUP trả về giá trị lỗi #N/A.

=VLOOKUP(104,A2:E7,3,FALSE) & " " & VLOOKUP(104,A2:E7,2,FALSE) & " is a " & VLOOKUP(104,A2:E7,4,FALSE)

Đối với nhân viên có ID 104, ghép nối (kết hợp) các giá trị của ba ô thành một câu hoàn chỉnh Michael Patten là Đại diện Bán hàng.

Các vấn đề Chung

Sự cố

Đã xảy ra lỗi gì

Trả về giá trị sai

Nếu range_lookup là TRUE hoặc bỏ trống, cột đầu tiên cần được sắp xếp theo bảng chữ cái hoặc số. Nếu cột đầu tiên không được sắp xếp, giá trị trả về có thể là giá trị mà bạn không mong đợi. Hoặc sắp xếp cột đầu tiên hoặc là bạn sẽ dùng FALSE cho giá trị khớp chính xác.

Lỗi #N/A trong ô

  • Nếu range_lookup là TRUE, thì nếu giá trị trong lookup_value nhỏ hơn giá trị nhỏ nhất trong cột đầu tiên của table_array, bạn sẽ nhận giá trị lỗi #N/A.

  • Nếu range_lookup là FALSE, thì giá trị lỗi #N/A chỉ báo là không tìm thấy số chính xác.

Tìm hiểu thêm về các lỗi trong trang tính, như #N/A, #REF và các lỗi còn lại.

Lỗi #REF! trong ô

Nếu col_index_num lớn hơn số cột trong table-array, bạn sẽ nhận giá trị lỗi #REF!

Lỗi #VALUE! trong ô

Nếu table_array nhỏ hơn 1, bạn sẽ nhận giá trị lỗi #VALUE!

#NAME? Trong ô

Giá trị lỗi #NAME? thường có nghĩa là công thức thiếu dấu ngoặc kép. Để tìm tên của một người, hãy bảo đảm bạn dùng dấu ngoặc kép xung quanh tên trong công thức. Ví dụ, hãy nhập tên là "Fontana" trong =VLOOKUP("Fontana",B2:E7,2,FALSE).

Những cách thực hành tốt nhất

Làm thế này

Tại sao

Dùng tham chiếu tuyệt đối cho range_lookup

Bằng cách dùng các tham chiếu tuyệt đối sẽ cho phép bạn điền từ trên xuống một công thức để nó luôn xem cùng phạm vi tra cứu chính xác.

Tìm hiểu cách dùng tham chiếu ô tuyệt đối.

Không lưu trữ giá trị số hoặc ngày dưới dạng văn bản.

Khi tìm kiếm các giá trị số hoặc ngày, hãy bảo đảm dữ liệu trong cột đầu tiên của table_array không được lưu trữ như là các giá trị văn bản. Trong trường hợp này, VLOOKUP có thể trả về một giá trị không đúng hoặc không được mong đợi.

Sắp xếp cột đầu tiên

Sắp xếp cột đầu tiên của table_array trước khi dùng VLOOKUP khi range_lookup là TRUE.

Dùng ký tự đại diện

Nếu range_lookup là FALSE và lookup_value là văn bản, bạn có thể sử dụng các ký tự đại diện — dấu chấm hỏi (?) và dấu sao (*) — trong lookup_value. Một dấu chấm hỏi khớp với bất kỳ ký tự đơn nào. Một dấu sao khớp với bất kỳ chuỗi ký tự nào. Nếu bạn muốn tìm một dấu chấm hỏi hay dấu sao thực sự, hãy gõ dấu ngã (~) trước ký tự.

Ví dụ, =VLOOKUP("Fontan?",B2:E7,2,FALSE) sẽ tìm mọi trường hợp có Fontana với chữ cái cuối cùng có thể thay đổi.

Hãy bảo đảm dữ liệu của bạn không chứa các ký tự không đúng.

Khi tìm kiếm giá trị văn bản trong cột đầu tiên, hãy đảm bảo dữ liệu trong cột đầu tiên không có khoảng trắng ở đầu, khoảng trắng ở cuối, sử dụng không thống nhất dấu ngoặc thẳng (' hoặc ") và cong (' hoặc "), hoặc ký tự không in ra. Trong những trường hợp này, VLOOKUP có thể trả về giá trị không mong muốn.

Để có được kết quả chính xác, hãy thử sử dụng hàm CLEAN hoặc hàm TRIM để loại bỏ khoảng trắng ở cuối các giá trị ô trong bảng.

Liên quan đến

Ghi chú: Tuyên bố miễn trừ trách nhiệm Dịch Máy: Bài viết này do một hệ thống máy tính dịch mà không có sự can thiệp của con người. Microsoft cung cấp những bản dịch máy này để giúp người dùng không nói tiếng Anh hiểu nội dung về các sản phẩm, dịch vụ và công nghệ của Microsoft. Do bài viết này được dịch máy nên có thể có các lỗi về từ vựng, cú pháp hoặc ngữ pháp.

Thông tin này có hữu ích không?

Thật tuyệt! Bạn có còn phản hồi nào khác không?

Chúng tôi có thể cải thiện bằng cách nào?

Cảm ơn phản hồi của bạn!

×