Hàm LOOKUP trong Excel với các ví dụ về công thức

  • Chia Sẻ Cái Này
Michael Brown

Hướng dẫn giải thích các dạng vectơ và mảng của hàm LOOKUP trong Excel, đồng thời trình bày các cách sử dụng LOOKUP điển hình và không tầm thường trong Excel bằng các ví dụ về công thức.

Một trong những câu hỏi thường gặp nhất điều mà mọi người dùng Excel thỉnh thoảng hỏi là: " Làm cách nào để tra cứu một giá trị trên một trang tính và lấy một giá trị phù hợp sang một trang tính khác? ". Tất nhiên, có thể có nhiều biến thể của tình huống cơ bản: bạn có thể đang tìm kiếm kết quả khớp gần nhất thay vì kết quả khớp chính xác, bạn có thể muốn tìm kiếm theo chiều dọc trong một cột hoặc theo chiều ngang trong một hàng, đánh giá một hoặc nhiều tiêu chí, v.v. Tuy nhiên, , bản chất là giống nhau - bạn cần biết cách tra cứu trong Excel.

Microsoft Excel cung cấp một số cách khác nhau để tra cứu. Để bắt đầu, chúng ta hãy tìm hiểu một chức năng được thiết kế để xử lý các trường hợp tra cứu theo chiều dọc và chiều ngang đơn giản nhất. Như bạn có thể dễ dàng đoán ra, tôi đang nói về hàm LOOKUP.

    Hàm LOOKUP trong Excel - cú pháp và cách sử dụng

    Ở cấp độ cơ bản nhất, hàm LOOKUP trong Excel tìm kiếm một giá trị trong một cột hoặc một hàng và trả về một giá trị phù hợp từ cùng một vị trí trong một cột hoặc một hàng khác.

    Có hai dạng LOOKUP trong Excel: Vector Mảng . Mỗi biểu mẫu được giải thích riêng bên dưới.

    Hàm Excel LOOKUP - biểu mẫu vectơ

    Trong ngữ cảnh này, vectơ đề cập đến phạm vi một cột hoặc một hàng.công thức thực hiện công việc:

    =LOOKUP(VLOOKUP(E2, $A$2:$C$7, 3, FALSE), {"c";"d";"t"}, {"Completed";"Development";"Testing"})

    Như minh họa trong ảnh chụp màn hình bên dưới, công thức truy xuất trạng thái dự án từ bảng tra cứu và thay thế từ viết tắt bằng từ tương ứng:

    Mẹo. Nếu bạn đang sử dụng Excel 2016 như một phần của đăng ký Office 365, bạn có thể sử dụng hàm SWITCH cho các mục đích tương tự.

    Tôi hy vọng những ví dụ này đã làm sáng tỏ cách thức hoạt động của hàm LOOKUP. Để hiểu rõ hơn về các công thức, bạn có thể tải xuống các ví dụ về Tra cứu Excel này. Trong hướng dẫn tiếp theo, chúng ta sẽ thảo luận về một vài cách khác để thực hiện tra cứu trong Excel và giải thích công thức Tra cứu nào là tốt nhất để sử dụng trong tình huống nào. Tôi cảm ơn bạn đã đọc và hy vọng được gặp bạn trên blog của chúng tôi vào tuần tới!

    Do đó, bạn sử dụng dạng vectơ của LOOKUP để tìm kiếm một hàng hoặc một cột dữ liệu cho một giá trị đã chỉ định và lấy một giá trị từ cùng một vị trí trong một hàng hoặc cột khác.

    Cú pháp của Tra cứu vectơ là như sau:

    LOOKUP(lookup_value, lookup_vector, [result_vector])

    Ở đâu:

    • Lookup_value (bắt buộc) - một giá trị để tìm kiếm. Nó có thể là một số, văn bản, giá trị logic TRUE hoặc FALSE hoặc tham chiếu đến ô chứa giá trị tra cứu.
    • Lookup_vector (bắt buộc) - một hàng hoặc một cột phạm vi cần tìm. Nó phải được sắp xếp theo thứ tự tăng dần .
    • Result_vector (tùy chọn) - phạm vi một hàng hoặc một cột mà bạn muốn trả về kết quả từ đó - một giá trị ở cùng vị trí với giá trị tra cứu. Vector kết quả phải có cùng kích thước với dải_ô_tra . Nếu bị bỏ qua, kết quả sẽ được trả về từ lookup_vector .

    Các ví dụ sau minh họa hai công thức Tra cứu đơn giản đang hoạt động.

    Công thức Tra cứu theo chiều dọc - tìm kiếm trong một- phạm vi cột

    Giả sử bạn có danh sách người bán ở cột D (D2:D5) và các sản phẩm họ đã bán ở cột E (E2:E5). Bạn đang tạo một trang tổng quan nơi người dùng của bạn sẽ nhập tên của người bán vào B2 và bạn cần một công thức để kéo sản phẩm tương ứng vào B3. Có thể dễ dàng hoàn thành nhiệm vụ với công thức sau:

    =LOOKUP(B2,D2:D5,E2:E5)

    Để hiểu rõ hơn vềđối số, vui lòng xem ảnh chụp màn hình này:

    Công thức tra cứu theo chiều ngang - tìm kiếm trong phạm vi một hàng

    Nếu dữ liệu nguồn của bạn có bố cục theo chiều ngang, tức là các mục nằm trong hàng thay vì cột, sau đó cung cấp phạm vi một hàng trong các đối số lookup_vector result_vector , như sau:

    =LOOKUP(B2,E1:H1,E2:H2)

    Trong phần thứ hai của hướng dẫn này, bạn sẽ tìm thấy thêm một số ví dụ về Tra cứu Excel để giải quyết các tác vụ phức tạp hơn. Trong thời gian chờ đợi, hãy nhớ những điều đơn giản sau đây sẽ giúp bạn vượt qua những cạm bẫy có thể xảy ra và ngăn ngừa các lỗi phổ biến.

    5 điều bạn nên biết về dạng vectơ của Excel LOOKUP

    1. Các giá trị trong lookup_vector phải được sắp xếp theo thứ tự tăng dần , tức là từ nhỏ nhất đến lớn nhất hoặc từ A đến Z, nếu không, công thức Tra cứu Excel của bạn có thể trả về lỗi hoặc kết quả không chính xác. Nếu bạn cần tra cứu trên dữ liệu chưa sắp xếp thì hãy sử dụng INDEX MATCH hoặc OFFSET MATCH.
    2. Lookup_vector result_vector phải là phạm vi một hàng hoặc một cột có cùng kích thước.
    3. Hàm LOOKUP trong Excel là phân biệt chữ hoa chữ thường , nó không phân biệt văn bản chữ hoa và chữ thường.
    4. Excel LOOKUP hoạt động dựa trên đối sánh gần đúng . Chính xác hơn, một công thức Tra cứu sẽ tìm kiếm đối sánh chính xác trước tiên. Nếu nó không thể tìm thấy giá trị tra cứu một cách chính xác, nó sẽ tra cứu giá trị nhỏ nhất tiếp theovalue , tức là giá trị lớn nhất trong lookup_vector nhỏ hơn hoặc bằng lookup_value .

      Ví dụ: nếu giá trị tra cứu của bạn là "5", thì công thức sẽ tìm kiếm giá trị đó trước tiên. Nếu không tìm thấy "5", nó sẽ tìm kiếm "4". Nếu không tìm thấy "4", nó sẽ tìm kiếm "3", v.v.

    5. Nếu giá trị_lookup nhỏ hơn so với giá trị nhỏ nhất trong lookup_vector , Excel LOOKUP trả về lỗi #N/A.

    Hàm LOOKUP của Excel - dạng mảng

    Dạng mảng của hàm LOOKUP tìm kiếm giá trị đã chỉ định trong cột hoặc hàng đầu tiên của mảng và truy xuất một giá trị từ cùng một vị trí trong cột hoặc hàng cuối cùng của mảng.

    Tra cứu mảng có 2 đối số, cả hai đều bắt buộc phải có:

    LOOKUP( lookup_value, array)

    Ở đâu:

    • Lookup_value - một giá trị để tìm kiếm trong một mảng.
    • Mảng - a phạm vi ô mà bạn muốn tìm kiếm giá trị tra cứu. Các giá trị trong cột hoặc hàng đầu tiên của mảng (tùy thuộc vào việc bạn thực hiện tra cứu V hay tra cứu H) phải được sắp xếp theo thứ tự tăng dần. Các ký tự chữ hoa và chữ thường được coi là tương đương.

    Ví dụ: với tên người bán nằm ở cột đầu tiên của mảng (cột A) và ngày đặt hàng ở cột cuối cùng của mảng (cột C) , bạn có thể sử dụng công thức sau để tìm kiếm tên và lấy ngày phù hợp:

    =LOOKUP(B2,D2:F5)

    Lưu ý. Dạng mảng củaKhông nên nhầm lẫn hàm LOOKUP trong Excel với các công thức mảng trong Excel. Mặc dù nó hoạt động trên các mảng, nhưng LOOKUP vẫn là một công thức thông thường, được hoàn thành theo cách thông thường bằng cách nhấn phím Enter.

    4 điều bạn nên biết về dạng mảng của Excel LOOKUP

    1. Nếu mảng nhiều hàng hơn cột hoặc có cùng số lượng cột và hàng , công thức Tra cứu sẽ tìm kiếm trong cột đầu tiên (tra cứu theo chiều ngang).
    2. Nếu mảng nhiều cột hơn hàng , thì Excel LOOKUP sẽ tìm kiếm trong hàng đầu tiên (tra cứu theo chiều dọc ).
    3. Nếu một công thức không thể tìm thấy giá trị tra cứu, thì công thức sẽ sử dụng giá trị lớn nhất trong mảng nhỏ hơn hoặc bằng giá trị_tra cứu .
    4. Nếu giá trị tra cứu nhỏ hơn so với giá trị nhỏ nhất trong cột hoặc hàng đầu tiên của mảng (tùy thuộc vào kích thước mảng), thì công thức Tra cứu sẽ trả về lỗi #N/A.

    Lưu ý quan trọng! Chức năng của biểu mẫu mảng LOOKUP trong Excel bị hạn chế và chúng tôi khuyên bạn không nên sử dụng nó. Thay vào đó, bạn có thể sử dụng hàm VLOOKUP hoặc HLOOKUP, đây là các phiên bản cải tiến tương ứng để thực hiện tra cứu theo chiều dọc và chiều ngang.

    Cách sử dụng hàm LOOKUP trong Excel - ví dụ về công thức

    Mặc dù vẫn tồn tại các hàm mạnh hơn để tra cứu và so khớp trong Excel (là chủ đề của hướng dẫn tiếp theo của chúng tôi), LOOKUP hữu ích trong nhiều tình huống và các ví dụ sauchứng minh một vài cách sử dụng không tầm thường. Xin lưu ý rằng tất cả các công thức dưới đây đều sử dụng dạng vectơ của Excel LOOKUP.

    Tra cứu giá trị trong ô không trống cuối cùng trong một cột

    Nếu bạn có một cột được điền động dữ liệu, bạn có thể muốn chọn mục nhập được thêm gần đây nhất, tức là lấy ô không trống cuối cùng trong một cột. Đối với điều này, hãy sử dụng công thức chung sau:

    LOOKUP(2, 1/( column ""), column )

    Trong công thức trên, tất cả các đối số ngoại trừ đối số tham chiếu cột là hằng số. Vì vậy, để truy xuất giá trị cuối cùng trong một cột cụ thể, bạn chỉ cần cung cấp tham chiếu cột tương ứng. Ví dụ: để trích xuất giá trị của ô không trống cuối cùng trong cột A, hãy sử dụng công thức sau:

    =LOOKUP(2, 1/(A:A""), A:A)

    Để lấy giá trị cuối cùng từ các cột khác, hãy sửa đổi các tham chiếu cột như được hiển thị trong ảnh chụp màn hình bên dưới - tham chiếu đầu tiên là cột được kiểm tra các ô trống/không trống và tham chiếu thứ hai là cột trả về giá trị từ:

    Cách công thức này hoạt động

    Trong đối số lookup_value , bạn cung cấp 2 hoặc bất kỳ số nào khác lớn hơn 1 (trong giây lát, bạn sẽ hiểu tại sao).

    Trong lookup_vector , bạn đặt biểu thức sau: 1/(A:A"")

    • Đầu tiên, bạn thực hiện phép toán logic A:A"" để so sánh từng ô trong cột A với một chuỗi trống và trả về TRUE cho các ô trống và FALSE cho các ô không trống. bên trongví dụ trên, công thức trong F2 trả về mảng này: {TRUE;TRUE;TRUE;TRUE;FALSE...}
    • Sau đó, bạn chia số 1 cho từng phần tử của mảng trên. Với TRUE tương đương với 1 và FALSE tương đương với 0, bạn sẽ có một mảng mới bao gồm 1 và #DIV/0! lỗi (kết quả chia cho 0) và mảng này được sử dụng làm lookup_vector . Trong ví dụ này, đó là {1;1;1;1;#DIV/0!...}

    Bây giờ, tại sao công thức lại trả về giá trị không trống cuối cùng trong một cột , với điều kiện là lookup_value không khớp với bất kỳ phần tử nào của lookup_vector ? Chìa khóa để hiểu logic là Excel LOOKUP tìm kiếm với kết quả khớp gần đúng, tức là khi không tìm thấy giá trị tra cứu chính xác, nó sẽ khớp với giá trị lớn nhất tiếp theo trong lookup_vector nhỏ hơn lookup_value . Trong trường hợp của chúng tôi, lookup_value là 2 và giá trị lớn nhất trong lookup_vector là 1, vì vậy LOOKUP khớp với 1 cuối cùng trong mảng, là ô không trống cuối cùng!

    Trong đối số result_vector , bạn tham chiếu cột mà từ đó bạn muốn trả về một giá trị và công thức Tra cứu của bạn sẽ tìm nạp giá trị ở cùng vị trí với giá trị tra cứu.

    Mẹo. Nếu bạn muốn lấy số của hàng giữ giá trị cuối cùng, thì hãy sử dụng hàm ROW để truy xuất giá trị đó. Ví dụ: =LOOKUP(2,1/(A:A""),ROW(A:A))

    Tra cứu một giá trị trong ô không trống cuối cùng trong một hàng

    Nếu dữ liệu nguồn của bạn được sắp xếp theo hàng thay vìngoài cột, bạn có thể lấy giá trị của ô không trống cuối cùng bằng cách sử dụng công thức sau:

    LOOKUP(2, 1/( row ""), row )

    Trên thực tế, công thức này không có gì khác mà là một sửa đổi nhỏ của công thức trước đó, với điểm khác biệt duy nhất là bạn sử dụng tham chiếu hàng thay vì tham chiếu cột.

    Ví dụ: để lấy giá trị của giá trị cuối cùng ô không trống trong hàng 1, hãy sử dụng công thức sau:

    =LOOKUP(2, 1/(1:1""), 1:1)

    Ảnh chụp màn hình sau đây cho thấy kết quả:

    Nhận giá trị được liên kết với mục cuối cùng trong một hàng

    Chỉ cần một chút sáng tạo, công thức trên có thể dễ dàng được tùy chỉnh để giải quyết các nhiệm vụ tương tự khác. Chẳng hạn, nó có thể được sử dụng để lấy một giá trị được liên kết với phiên bản cuối cùng của một giá trị cụ thể trong một hàng. Điều này nghe có vẻ hơi khó hiểu nhưng ví dụ sau sẽ giúp mọi thứ dễ hiểu hơn.

    Giả sử bạn có một bảng tóm tắt trong đó cột A chứa tên người bán và các cột tiếp theo chứa một số loại dữ liệu cho mỗi tháng. Trong ví dụ này, một ô chứa "có" nếu một người bán nhất định đã đóng ít nhất một giao dịch trong một tháng nhất định. Mục tiêu của chúng tôi là liên tiếp có được một tháng liên kết với mục nhập "có" cuối cùng.

    Bạn có thể giải quyết nhiệm vụ này bằng cách sử dụng công thức TÌM KIẾM sau:

    =LOOKUP(2, 1/(B2:H2="yes"), $B$1:$H$1)

    Logic của công thức về cơ bản giống như được mô tả trong ví dụ đầu tiên. Sự khác biệt là bạn sử dụng toán tử "bằng" ("=") thay vì "không bằngthành" ("") và thao tác trên hàng thay vì cột.

    Ảnh chụp màn hình sau đây cho thấy kết quả:

    Tra cứu thay thế cho IF lồng nhau

    Trong tất cả các công thức Tra cứu mà chúng ta đã thảo luận cho đến nay, các đối số lookup_vector result_vector được biểu thị bằng các tham chiếu phạm vi. Tuy nhiên, cú pháp của hàm LOOKUP trong Excel cho phép cung cấp các vectơ ở dạng hằng số mảng dọc, cho phép bạn sao chép chức năng của IF lồng nhau bằng một công thức nhỏ gọn và dễ đọc hơn.

    Giả sử bạn có một danh sách các từ viết tắt trong cột A và bạn muốn thay thế chúng bằng tên đầy đủ, trong đó "C" là viết tắt của "Đã hoàn thành", "D" là "Phát triển" và "T" là "Thử nghiệm". Có thể hoàn thành tác vụ bằng hàm IF lồng nhau sau:

    =IF(A2="c", "Completed", IF(A2="d", "Development", IF(A2="t", "Testing", "")))

    Hoặc bằng cách sử dụng công thức Tra cứu này:

    =LOOKUP(A2, {"c";"d";"t"}, {"Completed";"Development";"Testing"})

    Như minh họa trong ảnh chụp màn hình bên dưới, cả hai công thức đều cho kết quả giống nhau:

    Lưu ý. Để công thức Tra cứu Excel hoạt động chính xác, các giá trị trong lookup_array phải được sắp xếp từ A đến Z hoặc từ nhỏ nhất đến lớn nhất.

    Nếu bạn đang lấy giá trị từ bảng tra cứu, thì bạn có thể nhúng hàm Vlookup vào đối số lookup_value để truy xuất giá trị khớp.

    Giả sử giá trị tra cứu nằm trong ô E2, bảng tra cứu là A2:C7 và cột quan tâm ("Trạng thái") là cột thứ 3 trong bảng tra cứu, như sau

    Michael Brown là một người đam mê công nghệ chuyên dụng với niềm đam mê đơn giản hóa các quy trình phức tạp bằng các công cụ phần mềm. Với hơn một thập kỷ kinh nghiệm trong ngành công nghệ, anh ấy đã trau dồi kỹ năng của mình trong Microsoft Excel và Outlook, cũng như Google Trang tính và Tài liệu. Blog của Michael dành để chia sẻ kiến ​​thức và chuyên môn của anh ấy với những người khác, cung cấp các mẹo và hướng dẫn dễ thực hiện để cải thiện năng suất và hiệu quả. Cho dù bạn là một chuyên gia dày dạn kinh nghiệm hay người mới bắt đầu, blog của Michael đều cung cấp những hiểu biết có giá trị và lời khuyên thiết thực để tận dụng tối đa những công cụ phần mềm thiết yếu này.