Cách sử dụng hàm VLOOKUP trong Excel.

Tóm lược

VLOOKUP là một hàm Excel để tra cứu dữ liệu trong bảng được tổ chức theo chiều dọc. VLOOKUP hỗ trợ đối sánh gần đúng và chính xác, và ký tự đại diện (*?) Cho đối sánh từng phần. Các giá trị tra cứu phải xuất hiện trong cột đầu tiên của bảng được chuyển vào hàm VLOOKUP.

Mục đích

Tra cứu giá trị trong bảng bằng cách đối sánh trên cột đầu tiên

Giá trị trả lại

Giá trị phù hợp từ một bảng.

Cú pháp

= VLOOKUP (giá trị, bảng, col_index, (range_lookup))

Tranh luận

  • value - Giá trị cần tìm trong cột đầu tiên của bảng.
  • table - Bảng để truy xuất một giá trị.
  • col_index - Cột trong bảng để truy xuất một giá trị.
  • range_lookup - (tùy chọn) TRUE = đối sánh gần đúng (mặc định). FALSE = đối sánh chính xác.

Phiên bản

Excel 2003

Ghi chú sử dụng

VLOOKUP là một hàm Excel để lấy dữ liệu từ một bảng được sắp xếp theo chiều dọc. Các giá trị tra cứu phải xuất hiện trong cột đầu tiên của bảng được chuyển vào hàm VLOOKUP. VLOOKUP hỗ trợ đối sánh gần đúng và chính xác, và ký tự đại diện (*?) Cho đối sánh từng phần.

Dữ liệu dọc | Số cột | Chỉ có vẻ ngoài đúng | Chế độ phù hợp | Kết hợp Chính xác | Đối sánh gần đúng | Trận đấu đầu tiên | Trận đấu ký tự đại diện | Tra cứu hai chiều | Nhiều tiêu chí | # N / A Lỗi | Video

V là thẳng đứng

Mục đích của hàm VLOOKUP là lấy thông tin từ một bảng được tổ chức như sau:

Sử dụng Số đơn đặt hàng trong cột B làm giá trị tra cứu, VLOOKUP có thể lấy ID khách hàng, Số tiền, Tên và Trạng thái cho bất kỳ đơn hàng nào. Ví dụ: để lấy tên khách hàng cho đơn đặt hàng 1004, công thức là:

=VLOOKUP(1004,B5:F9,4,FALSE) // returns "Sue Martin"

Đối với dữ liệu ngang, bạn có thể sử dụng HLOOKUP, INDEX và MATCH hoặc XLOOKUP.

VLOOKUP dựa trên số cột

Khi bạn sử dụng hàm VLOOKUP, hãy tưởng tượng rằng mọi cột trong bảng đều được đánh số, bắt đầu từ bên trái. Để nhận giá trị từ một cột cụ thể, hãy cung cấp số thích hợp làm "chỉ mục cột". Ví dụ: chỉ mục cột để truy xuất tên bên dưới là 2:

Họ và email có thể được truy xuất với cột 3 và 4:

=VLOOKUP(H3,B4:E13,2,FALSE) // first name =VLOOKUP(H3,B4:E13,3,FALSE) // last name =VLOOKUP(H3,B4:E13,4,FALSE) // email address

VLOOKUP chỉ có vẻ đúng

VLOOKUP chỉ có thể nhìn sang bên phải. Dữ liệu bạn muốn truy xuất (giá trị kết quả) có thể xuất hiện trong bất kỳ cột nào bên phải giá trị tra cứu:

If you need to lookup values to the left, see INDEX and MATCH, or XLOOKUP.

Exact and approximate matching

VLOOKUP has two modes of matching, exact and approximate. The name of the argument that controls matching is "range_lookup". This is a confusing name, because it seems to have something to do with cell ranges like A1:A10. Actually, the word "range" in this case refers to "range of values" - when range_lookup is TRUE, VLOOKUP will match a range of values rather than an exact value. A good example of this is using VLOOKUP to calculate grades.

It is important to understand that range_lookup defaults to TRUE , which means VLOOKUP will use approximate matching by default, which can be dangerous. Set range_lookup to FALSE to force exact matching:

=VLOOKUP(value, table, col_index) // approximate match (default) =VLOOKUP(value, table, col_index, TRUE) // approximate match =VLOOKUP(value, table, col_index, FALSE) // exact match

Note: You can also supply zero (0) instead of FALSE for an exact match.

Exact match

In most cases, you'll probably want to use VLOOKUP in exact match mode. This makes sense when you have a unique key to use as a lookup value, for example, the movie title in this data:

The formula in H6 to find Year, based on an exact match of movie title, is:

=VLOOKUP(H4,B5:E9,2,FALSE) // FALSE = exact match

Approximate match

In cases when you want the best match , not necessarily an exact match , you'll want to use approximate mode. For example, below we want to look up a commission rate in the table G5:H10. The lookup values come from column C. In this example, we need to use VLOOKUP in approximate match mode, because in most cases an exact match will never be found. The VLOOKUP formula in D5 is configured to perform an approximate match by setting the last argument to TRUE:

=VLOOKUP(C5,$G$5:$H$10,2,TRUE) // TRUE = approximate match

VLOOKUP will scan values in column G for the lookup value. If an exact match is found, VLOOKUP will use it. If not, VLOOKUP will "step back" and match the previous row.

Note: data must be sorted in ascending order by lookup value when you use approximate match mode with VLOOKUP.

First match

In the case of duplicate values, VLOOKUP will find the first match when the match mode is exact. In screen below, VLOOKUP is configured to find the price for the color "Green". There are three entries with the color Green, and VLOOKUP returns the price for the first entry, $17. The formula in cell F5 is:

=VLOOKUP(E5,B5:C11,2,FALSE) // returns 17

Wildcard match

The VLOOKUP function supports wildcards, which makes it possible to perform a partial match on a lookup value. For instance, you can use VLOOKUP to retrieve values from a table after typing in only part of a lookup value. To use wildcards with VLOOKUP, you must specify exact match mode by providing FALSE or 0 for the last argument, range_lookup . The formula in H7 retrieves the first name, "Michael", after typing "Aya" into cell H4:

=VLOOKUP($H$4&"*",$B$5:$E$104,2,FALSE)

Read a more detailed explanation here.

Two-way lookup

Inside the VLOOKUP function, the column index argument is normally hard-coded as a static number. However, you can also create a dynamic column index by using the MATCH function to locate the right column. This technique allows you to create a dynamic two-way lookup, matching on both rows and columns. In the screen below, VLOOKUP is configured to perform a lookup based on Name and Month. The formula in H6 is:

=VLOOKUP(H4,B5:E13,MATCH(H5,B4:E4,0),0)

For more details, see this example.

Note: In general, INDEX and MATCH is a more flexible way to perform two-way lookups.

Multiple criteria

The VLOOKUP function does not handle multiple criteria natively. However, you can use a helper column to join multiple fields together, and use these fields like multiple criteria inside VLOOKUP. In the example below, Column B is a helper column that concatenates first and last names together with this formula:

=C5&D5 // helper column

VLOOKUP is configured to do the the same thing to create a lookup value. The formula in H6 is:

=VLOOKUP(H4&H5,B5:E13,4,0)

For details, see this example.

Note: INDEX and MATCH and XLOOKUP are more robust ways to handle lookups based on multiple criteria.

VLOOKUP and #N/A errors

If you use VLOOKUP you will inevitably run into the #N/A error. The #N/A error just means "not found". For example, in the screen below, the lookup value "Toy Story 2" does not exist in the lookup table, and all three VLOOKUP formulas return #N/A:

One way to "trap" the NA error is to use the IFNA function like this:

The formula in H6 is:

=IFNA(VLOOKUP(H4,B5:E9,2,FALSE),"Not found")

The message can be customized as desired. To return nothing (i.e. to display a blank result) when VLOOKUP returns #N/A you can use an empty string like this:

=IFNA(VLOOKUP(H4,B5:E9,2,FALSE),"") // no message

The #N/A error is useful because it tells you something is wrong. In practice, there are many reasons why you might see this error, including:

  • The lookup value does not exist in the table
  • The lookup value is misspelled, or contains extra space
  • Match mode is exact, but should be approximate
  • The table range is not entered correctly
  • You are copying VLOOKUP, and the table reference is not locked

Read more: VLOOKUP without #N/A errors

More about VLOOKUP

  • More VLOOKUP examples
  • VLOOKUP videos
  • 23 tips for using VLOOKUP

Other notes

  • Range_lookup controls whether value needs to match exactly or not. The default is TRUE = allow non-exact match.
  • Set range_lookup to FALSE to require an exact match and TRUE to allow a non-exact match .
  • If range_lookup is TRUE (the default setting), a non-exact match will cause the VLOOKUP function to match the nearest value in the table that is still less than value .
  • When range_lookup is omitted, the VLOOKUP function will allow a non-exact match, but it will use an exact match if one exists.
  • If range_lookup is TRUE (the default setting) make sure that lookup values in the first row of the table are sorted in ascending order. Otherwise, VLOOKUP may return an incorrect or unexpected value.
  • If range_lookup is FALSE (require exact match), values in the first column of table do not need to be sorted.

Related videos

Cách sử dụng hàm VLOOKUP cho các kết quả so khớp gần đúng Trong video này, chúng ta xem xét cách định cấu hình hàm VLOOKUP để tra cứu các giá trị dựa trên một kết quả so khớp gần đúng. Điều này tốt cho thuế suất, bưu phí, hoa hồng và những thứ tương tự. Cách thay thế các IF lồng nhau bằng hàm VLOOKUP Trong video ngắn này, chúng ta xem cách thay thế một công thức IF lồng nhau điển hình bằng một công thức VLOOKUP. So với các câu lệnh IF lồng nhau, hàm VLOOKUP đơn giản và minh bạch hơn. Nó cũng dễ dàng hơn để điều chỉnh sau này. Cách nhóm các giá trị bằng hàm VLOOKUP Trong video này, chúng ta sẽ xem xét một cách đơn giản để sử dụng hàm VLOOKUP để nhóm dữ liệu thành các danh mục cụ thể. Cách sử dụng hàm VLOOKUP với bảng Trong video này, chúng ta xem cách sử dụng hàm VLOOKUP để tra cứu giá trị trong Bảng Excel. Cách sử dụng INDEX và MATCH với bảng Trong video này, chúng ta sẽ xem xét cách sử dụng INDEX và MATCH với Bảng Excel. Sử dụng INDEX và MATCH với Bảng Excel rất đơn giản. Tham chiếu có cấu trúc bên trong bảng Trong video này, chúng ta sẽ xem xét cách sử dụng cú pháp tham chiếu có cấu trúc bên trong bảng.

thú vị bài viết...