Applies ToExcel cho Microsoft 365 Excel cho Microsoft 365 dành cho máy Mac Excel cho web Excel 2024 Excel 2024 dành cho máy Mac Excel 2021 Excel 2021 cho Mac Excel 2019 Excel 2016

Hãy thử sử dụng hàm XLOOKUP mới, phiên bản cải tiến của hàm VLOOKUP hoạt động theo bất kỳ hướng nào và trả về kết quả khớp chính xác theo mặc định, giúp việc sử dụng dễ dàng và thuận tiện hơn so với phiên bản trước.

Sử dụng hàm VLOOKUP khi bạn cần tìm nội dung trong một bảng hoặc dải ô theo hàng. Ví dụ: tra cứu giá cho một linh kiện ô tô theo số linh kiện hoặc tìm tên nhân viên dựa trên ID nhân viên của họ.

Ở dạng đơn giản nhất, hàm VLOOKUP cho biết:

=VLOOKUP(Nội dung bạn muốn tra cứu, nơi bạn muốn tìm nó, số cột trong phạm vi chứa giá trị cần trả về, trả về kết quả khớp Gần đúng hoặc Chính xác – được biểu thị là 1/TRUE hoặc 0/FALSE).

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.

  • Bí quyết để sử dụng hàm VLOOKUP là phải sắp xếp dữ liệu của bạn sao cho giá trị mà bạn muốn tra cứu (Trái cây) nằm ở bên trái giá trị trả về (số tiền) mà bạn muốn tìm.

  • Nếu bạn là người đăng ký MicrosoftCopilot Copilot có thể chèn và sử dụng các hàm VLookup hoặc XLookup dễ dàng hơn. Xem mục Copilot giúp tra cứu trong Excel trở nên dễ dàng.​​​​​​​​​​​​​​

Sử dụng hàm VLOOKUP để tra cứu giá trị trong bảng.

Cú pháp 

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

Ví dụ:

  • =VLOOKUP(A2,A10:C20,2,TRUE)

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

  • =VLOOKUP(A2,'Chi tiết máy khách'! A:F,3,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 ô mà bạn chỉ định trong đối table_array số.

Ví dụ, nếu table-array trải dài các ô B2:D7 thì dữ liệu lookup_value phải nằm trong cột B.

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ề. Bạn có thể sử dụng phạm vi hoặc bảng đã đặt tên và bạn có thể sử dụng tên trong đối số thay vì tham chiếu ô. 

Cột đầu tiên trong phạm vi ô phải chứa lookup_value. Phạm vi ô cũng cần bao gồm giá trị trả về 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 sẽ xác định xem bạn muốn hàm VLOOKUP tìm kết quả khớp tương đối hay kết quả khớp chính xác:

  • Kết quả khớp tương đối - 1/TRUE giả định rằng cột đầu tiên trong bảng được sắp xếp theo số hoặc theo bảng chữ cái và 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. Ví dụ: =VLOOKUP(90,A1:B100,2,TRUE).

  • Kết quả khớp chính xác - 0/FALSE tìm kiếm giá trị chính xác trong cột đầu tiên. Ví dụ: =VLOOKUP("Smith",A1:B100;2,FALSE).

Cách bắt đầu

Có bốn phần thông tin mà bạn sẽ cần sử dụng để xây dựng cú pháp cho hàm VLOOKUP:

  1. Giá trị bạn muốn tra cứu, còn được gọi là giá trị tra cứu.

  2. Dải ô chứa giá trị tra cứu. Hãy nhớ rằng giá trị tra cứu phải luôn nằm ở cột đầu tiên của dải ô để hàm VLOOKUP có thể hoạt động chính xác. Ví dụ: Nếu giá trị tra cứu của bạn nằm ở ô C2 thì dải ô của bạn sẽ bắt đầu ở C.

  3. Số cột chứa giá trị trả về trong dải ô. Ví dụ, nếu bạn chỉ rõ B2:D11 là phạm vi, bạn nên tính B là cột đầu tiên, C là cột thứ hai, v.v.

  4. Hay bạn có thể chỉ định TRUE nếu bạn muốn có một kết quả khớp tương đối hoặc FALSE nếu bạn muốn có một kết quả khớp chính xác ở giá trị trả về. Nếu bạn không chỉ định bất cứ giá trị nào thì giá trị mặc định sẽ luôn là TRUE hay kết quả khớp tương đối.

Giờ thì hãy tập hợp tất cả mục trên lại với nhau, như sau:

=VLOOKUP(giá trị tra cứu, dải ô chứa giá trị tra cứu, số cột trong phạm vi chứa giá trị trả về, Kết quả khớp tương đối (TRUE) hoặc Khớp chính xác (FALSE)).

Ví dụ

Dưới đây là một số ví dụ về hàm VLOOKUP:

Ví dụ 1

=VLOOKUP (B3,B2:E7,2,FALSE)

Hàm VLOOKUP tìm Fontana ở cột đầu tiên (cột B) trong cột table_array B2:E7 và trả về Olivier từ cột thứ hai (cột C) của cột table_array.  False trả về kết quả khớp chính xác.

Ví dụ 2

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

Hàm VLOOKUP tìm kiếm kết quả khớp chính xác (FALSE) của họ cho 102 (lookup_value) ở cột thứ hai (cột B) trong dải ô A2:C7 và trả về Fontana.

Ví dụ 3

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

Hàm IF kiểm tra xem hàm VLOOKUP có trả về Sousa là họ của correspoinding nhân viên đến 103 (lookup_value) trong A1:E7 (table_array). Vì họ tương ứng với 103 là Leal nên điều kiện IF là sai và không tìm thấy được hiển thị.

Ví dụ 4

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

Hàm VLOOKUP tìm ngày sinh của nhân viên tương ứng với 109 (lookup_value) trong phạm vi A2:E7 (table_array) và trả về 04/03/1955. Sau đó, hàm YEARFRAC trừ ngày sinh này từ 06/06/2014 và trả về một giá trị, giá trị này sau đó được INY chuyển đổi thành số nguyên 59.

Ví dụ 5

IF(ISNA(VLOOKUP(105,A2:E7,2,FLASE)=TRUE,"Không tìm thấy nhân viên",VLOOKUP(105,A2:E7,2,FALSE))

Hàm IF kiểm tra xem hàm VLOOKUP có trả về giá trị cho họ từ cột B cho 105 (lookup_value). Nếu VLOOKUP tìm thấy họ thì hàm IF sẽ hiển thị họ, nếu không thì hàm IF trả về Không tìm thấy nhân viên. ISNA đảm bảo rằng nếu hàm VLOOKUP trả về #N/A thì lỗi sẽ được thay thế bằng không tìm thấy Nhân viên thay vì #N/A.



Trong ví dụ này, giá trị trả về là Burke, là họ tương ứng với 105.

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.

Để biết thêm thông tin về cách giải quyết các lỗi #N/A trong hàm VLOOKUP, hãy xem mục Cách sửa lỗi #N/A trong hàm VLOOKUP.

Lỗi #REF! trong ô

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

Để biết thêm thông tin về cách giải quyết các lỗi #REF! trong hàm VLOOKUP, hãy xem mục Cách sửa 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! .

Để biết thêm thông tin về cách giải quyết các lỗi #VALUE! trong hàm VLOOKUP, hãy xem mục Cách sửa lỗi #VALUE! trong hàm VLOOKUP.

#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).

Để biết thêm thông tin, hãy xem mục Cách sửa lỗi #NAME!..

Lỗi #SPILL! Trong ô

Lỗi cụ #SPILL! thường có nghĩa là công thức của bạn dựa vào giao điểm ẩn cho giá trị tra cứu và dùng toàn bộ cột làm tham chiếu. Ví dụ: =VLOOKUP(A:A,A:C,2,FALSE). Bạn có thể giải quyết sự cố bằng cách neo tham chiếu tra cứu với toán tử @ như sau: =VLOOKUP(@A:A,A:C,2,FALSE). Ngoài ra, bạn có thể sử dụng phương pháp VLOOKUP truyền thống và tham chiếu đến một ô duy nhất thay vì toàn bộ cột: =VLOOKUP(A2,A:C,2,FALSE).

Làm thế này

Lý do

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 chuỗi ký tự bất kỳ. Nếu bạn muốn tìm dấu chấm hỏi hay dấu sao thực sự, hãy nhập một dấu sóng (~) trước ký tự đó.

Ví dụ: =VLOOKUP("Fontan?",B2:E7;2,FALSE) sẽ tìm kiếm tất cả các phiên bản của Fontana với chữ cái cuối cùng có thể khác nhau.

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.

Bạn cần thêm trợ giúp?

Bạn luôn có thể hỏi chuyên gia trong Cộng đồng kỹ thuật Excel hoặc nhận hỗ trợ trong Cộng đồng.

Xem thêm

Hàm XLOOKUP

Video: Thời điểm và cách sử dụng hàm VLOOKUP

Thẻ Tham chiếu Nhanh: Ôn lại về VLOOKUP

Cách sửa lỗi #N/A trong hàm VLOOKUP

Tra cứu giá trị bằng hàm VLOOKUP, INDEX hoặc MATCH

Hàm HLOOKUP

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.