Đánh giá lequocthai.com:
Hàm LOOKUP có hai dạng: dạng vector và dạng mảng. Chi tiết của mỗi dạng sẽ được thảo luận sâu hơn trong bài viết. Ngoài khả năng tìm kiếm giá trị khớp chính xác, hàm còn hỗ trợ tìm kiếm giá trị gần đúng.

Cú pháp
Hàm LOOKUP bao gồm hai cú pháp khác nhau, mỗi cú pháp cung cấp một chức năng riêng. Tùy thuộc vào nhu cầu tra cứu dữ liệu, chúng ta có thể chọn cú pháp phù hợp.
Cú pháp dạng vector – dùng cho dữ liệu một chiều:
=LOOKUP(lookup_value, lookup_vector, [result_vector])
Đối số
- lookup_value – Đối số bắt buộc, chứa giá trị cần tìm. Giá trị này có thể là số, văn bản, giá trị logic hoặc tham chiếu tới một ô.
- lookup_vector – Đối số bắt buộc, là một hàng hoặc một cột (hoặc phạm vi ô) mà hàm sẽ tìm lookup_value. Nếu phạm vi chứa nhiều hàng và nhiều cột, hàm chỉ xét hàng hoặc cột đầu tiên.
- result_vector – Đối số tùy chọn, là một hàng hoặc một cột (hoặc phạm vi ô) chứa giá trị trả về. Khi để trống, hàm sẽ trả về giá trị khớp được tìm trong lookup_vector. Khi có result_vector, hàm sẽ xác định vị trí khớp trong lookup_vector và trả về giá trị tương ứng từ result_vector.
Cú pháp dạng mảng:
=LOOKUP(lookup_value, array)
Đối số
- lookup_value – Giá trị cần tìm trong mảng.
- array – Mảng hoặc phạm vi ô chứa dữ liệu cần tra cứu.
Lưu ý
- Đối với lookup_vector và array, hàm LOOKUP giả định dữ liệu được sắp xếp tăng dần. Khi array có nhiều hơn một hàng hoặc cột, hàng hoặc cột đầu tiên phải được sắp xếp tăng dần.
Đặc điểm quan trọng của hàm LOOKUP
- Hàm LOOKUP không phân biệt chữ hoa/chữ thường.
- Khi lookup_value nhỏ hơn giá trị nhỏ nhất trong lookup_vector (hoặc trong hàng/cột đầu tiên của array), hàm sẽ trả về lỗi #N/A (chỉ xảy ra khi dữ liệu đã được sắp xếp).
- Nếu không tìm được giá trị khớp, hàm trả về giá trị gần nhất nhưng không lớn hơn lookup_value trong lookup_vector hoặc array.
- Khi dùng dạng mảng và array có số hàng lớn hơn hoặc bằng số cột, hàm sẽ tìm lookup_value trong cột đầu tiên và trả về giá trị từ cột cuối cùng – hành vi giống HLOOKUP.
- Khi array có số cột lớn hơn số hàng, hàm sẽ tìm lookup_value trong hàng đầu tiên và trả về giá trị từ hàng cuối cùng – hành vi giống VLOOKUP.
- Mặc dù LOOKUP mô phỏng một số tính năng của HLOOKUP và VLOOKUP, hai hàm này cho phép tra cứu cả chiều dọc và chiều ngang, trong khi LOOKUP chỉ trả về giá trị từ hàng hoặc cột cuối cùng.
Ví dụ về hàm LOOKUP
Chúng ta sẽ bắt đầu bằng cách sử dụng các đối số đa dạng của hàm LOOKUP để nắm bắt chức năng cơ bản và cả hai dạng của nó. Dưới đây là một bộ dữ liệu mẫu chứa Mã nhân viên, Tên và Tuổi (đơn vị năm).

Giả sử ô E1 chứa giá trị cần tra cứu – trong ví dụ này là Mã nhân viên 105.

- Trường hợp 1: Dạng vector, result_vector để trống. Khi tìm ‘105’ trong phạm vi A2:A12, hàm trả về giá trị khớp.
- Trường hợp 2: Cung cấp result_vector. Hàm LOOKUP tìm ‘105’ trong A2:A12 và trả về giá trị tương ứng từ B2:B12, tức là “Daniel Brown”.
- Trường hợp 3: Dạng mảng, hàm tìm ‘105’ trong cột đầu tiên và trả về giá trị từ cột cuối cùng.
Ví dụ 1 – Sử dụng đơn giản hàm LOOKUP
Bạn muốn mua một chiếc điện thoại mới và đã tải danh sách giá của các mẫu vào Excel. Mục tiêu là tra cứu giá của từng mẫu để xem có phù hợp với ngân sách không.

Công thức:
=LOOKUP(E1,$A$2:$A$11,B2:B11)
Người dùng nhập lookup_value vào ô E1 (ví dụ “Samsung Galaxy”). Hàm LOOKUP sẽ quét cột A2:A11 (cột “Mobile Model”) để tìm khớp chính xác, sau đó trả về giá tương ứng (500 USD).

Bạn có thể thay đổi tên mẫu trong ô E1 để nhanh chóng lấy giá mới – rất tiện cho việc quyết định mua hàng.
Tra cứu ngược (reverse lookup) – Giả sử bạn có ngân sách cố định và muốn tìm mẫu điện thoại có giá không vượt quá ngân sách.
Công thức:
=LOOKUP(E4,$B$2:$B$11,A2:A11)
Khi nhập 810 USD vào ô E4, hàm sẽ tìm mẫu có giá ≤ 810 USD. Nếu cột giá chưa được sắp xếp tăng dần, kết quả có thể không chính xác; sau khi sắp xếp cột giá tăng dần, hàm sẽ trả về “iPhone 12” với giá 800 USD.


Ví dụ 2 – Dạng mảng của hàm LOOKUP
Giả sử bạn có bảng chi tiết sản phẩm, mỗi hàng là một sản phẩm và các cột chứa các thuộc tính. Bạn muốn tra cứu giá dựa trên Product ID.

Khi số hàng lớn hơn số cột, hàm LOOKUP sẽ tìm lookup_value trong cột đầu tiên (Product ID) và trả về giá trị từ cột cuối cùng (Price).
Công thức:
=LOOKUP(G1,A1:E11)

Mặc dù hàm LOOKUP cho kết quả đúng, trong thực tế nên dùng VLOOKUP hoặc HLOOKUP vì chúng không yêu cầu dữ liệu phải được sắp xếp.
Ví dụ 3 – Xác định giá đóng cửa mới nhất của cổ phiếu bằng hàm LOOKUP
Bạn muốn theo dõi giá đóng cửa của ba công ty: Apple (AAPL), Google (GOOG) và Microsoft (MSFT). Dữ liệu lịch sử được cập nhật hàng ngày.

Nhờ tính năng khi lookup_value không tồn tại trong lookup_vector, hàm sẽ trả về giá trị nhỏ hơn gần nhất. Khi lookup_value lớn hơn tất cả các giá trị, hàm trả về giá trị cuối cùng.
Công thức (bước 1): Kiểm tra khớp tên cổ phiếu.
=B2:B13=F1

Bước 2: Chia 1 cho mảng TRUE/FALSE để tạo mảng 1 và lỗi #DIV/0!.
=1/(B2:B13=F1)

Bước 3: Dùng mảng này làm lookup_vector, tìm 2 trong mảng; vì 2 không tồn tại, hàm sẽ trả về 1 cuối cùng – tương ứng với mục GOOG mới nhất.
=LOOKUP(2,1/(B2:B13=F1),C2:C13)

Kết quả là giá đóng cửa mới nhất của GOOG là $2795. Cùng logic này có thể dùng để tìm ô cuối cùng không rỗng trong một cột.
Ví dụ 4 – Tìm ô cuối cùng không rỗng trong cột
Một điểm mạnh của hàm LOOKUP là khả năng tìm ô cuối cùng có dữ liệu. Điều này hữu ích trong việc theo dõi giá cổ phiếu, thời tiết, trạng thái giao hàng, hoặc bộ sưu tập phim mới nhất trên Netflix.

Công thức:
=LOOKUP(2,1/(B:B<>""),B:B)
- lookup_vector là `1/(B:B<>“”)`, tạo ra một mảng tràn (spill array): các ô không rỗng trả về 1, các ô rỗng trả về lỗi #DIV/0!.
- Với lookup_value là 2, LOOKUP sẽ chọn giá trị 1 cuối cùng trong mảng – tức là ô cuối cùng không rỗng, và result_vector (B:B) sẽ trả về nội dung của ô đó.
Kết quả cuối cùng là “Spy Ops”.

Sau khi nắm vững hàm LOOKUP, bạn sẽ thấy nó giúp đơn giản hoá nhiều công việc như thao tác dữ liệu và truy xuất thông tin. Hãy thực hành và khám phá thêm các trường hợp sử dụng trong công việc hằng ngày. Khi đã thành thạo hàm LOOKUP, chúng ta sẽ tiếp tục tìm hiểu các hàm Excel hữu ích khác để mở rộng kho kiến thức của mình.







