Excel Lookup Value In Table: Hướng Dẫn Chi Tiết Tìm Kiếm Dữ Liệu Trong Bảng Bằng Các Hàm Lookup

Mục lục bài viết

Mở Đầu

Trong môi trường làm việc với dữ liệu, Microsoft Excel luôn là một công cụ không thể thiếu. Một trong những nhu cầu phổ biến nhất khi sử dụng Excel là tìm kiếm giá trị trong một bảng dữ liệu (lookup value in table). Dù bạn là người mới bắt đầu hay đã có kinh nghiệm, việc nắm vững các hàm lookup sẽ giúp tiết kiệm thời gian, giảm thiểu sai sót và nâng cao hiệu quả công việc. Bài viết này sẽ cung cấp cho bạn một hướng dẫn chi tiết, từ cơ bản đến nâng cao, về cách sử dụng các hàm lookup trong Excel, bao gồm VLOOKUP, HLOOKUP, INDEX-MATCH, XLOOKUP, LOOKUP, và các kỹ thuật hỗ trợ khác như Data Validation, Conditional Formatting và Power Query.

1. Tổng Quan Về Các Hàm Lookup

1.1 VLOOKUP (Vertical Lookup)

  • Mục đích: Tìm kiếm một giá trị trong cột đầu tiên của một bảng và trả về giá trị ở cột khác trong cùng một hàng.
  • Cú pháp: =VLOOKUP(lookup_value, table_array, col_index_num, range_lookup)
  • Tham số:
  • lookup_value: Giá trị cần tìm.
  • table_array: Vùng dữ liệu chứa cả cột tìm kiếm và cột trả về.
  • col_index_num: Số thứ tự cột trong table_array mà bạn muốn trả về.
  • range_lookup: TRUE (tìm gần đúng) hoặc FALSE (tìm chính xác).

1.2 HLOOKUP (Horizontal Lookup)

  • Mục đích: Tương tự VLOOKUP, nhưng tìm kiếm trên hàng đầu tiên và trả về giá trị trên cột khác.
  • Cú pháp: =HLOOKUP(lookup_value, table_array, row_index_num, range_lookup)

1.3 INDEX + MATCH

  • Mục đích: Kết hợp hai hàm để tạo ra một công cụ tìm kiếm mạnh mẽ, linh hoạt hơn VLOOKUP/HLOOKUP.
  • Cú pháp:
  • =INDEX(return_range, MATCH(lookup_value, lookup_range, 0))
  • Ưu điểm:
  • Không bị giới hạn bởi vị trí cột tìm kiếm (có thể tìm ở bất kỳ vị trí nào).
  • Hiệu suất tốt hơn với bảng lớn.
  • Hỗ trợ tìm kiếm từ phải sang trái.

1.4 XLOOKUP (Excel 365/2026 trở lên)

  • Mục đích: Thay thế VLOOKUP/HLOOKUP, cung cấp tính năng mạnh mẽ và dễ sử dụng.
  • Cú pháp: =XLOOKUP(lookup_value, lookup_array, return_array, if_not_found, match_mode, search_mode)
  • Đặc điểm nổi bật:
  • Tìm kiếm cả theo chiều dọc và ngang.
  • Hỗ trợ tìm kiếm ngược (search from last to first).
  • Cho phép trả về giá trị mặc định khi không tìm thấy.

1.5 LOOKUP

  • Mục đích: Phiên bản cũ, ít linh hoạt hơn nhưng vẫn hữu ích trong một số trường hợp.
  • Cú pháp:
  • Vector form: =LOOKUP(lookup_value, lookup_vector, result_vector)
  • Array form: =LOOKUP(lookup_value, array)

2. Khi Nào Nên Dùng Hàm nào?

Nhu cầuHàm đề xuấtLý do
Tìm kiếm đơn giản, bảng không quá lớn, cột tìm kiếm luôn ở phía tráiVLOOKUPDễ nhớ, trực quan
Tìm kiếm ngang, dữ liệu bố trí theo hàngHLOOKUPTương tự VLOOKUP nhưng theo hàng
Tìm kiếm đa chiều, cần trả về giá trị từ cột bất kỳINDEX-MATCHLinh hoạt, không phụ thuộc vị trí cột
Excel 365/2026 trở lên, muốn một hàm duy nhất, hỗ trợ tìm ngược và tùy chọn lỗiXLOOKUPĐơn giản, mạnh mẽ
Tìm kiếm nhanh trong mảng 1 chiều, không cần tùy chọn phức tạpLOOKUPThích hợp cho dữ liệu đã được sắp xếp

3. Cài Đặt Dữ Liệu Mẫu

Để minh họa, chúng ta sẽ sử dụng một bảng sản phẩm:

Mã SPTên Sản PhẩmLoạiGiá BánSố Lượng
SP001Bàn GỗNội thất2,500,00015
SP002Ghế NhựaNội thất850,00030
SP003Đèn LEDĐiện320,00045
SP004Máy LạnhĐiện6,200,0008
SP005Tủ LạnhĐiện5,500,00012

Giả sử chúng ta muốn:

  1. Lấy Giá Bán dựa trên Mã SP.
  2. Xác định Số Lượng dựa trên Tên Sản Phẩm.
  3. Kiểm tra Loại của một sản phẩm và trả về “Không tồn tại” nếu không tìm thấy.

4. Thực Hành Với VLOOKUP

4.1 Công Thức Cơ Bản

=VLOOKUP("SP003", A2:E6, 4, FALSE)
  • Giải thích:
  • lookup_value = "SP003".
  • table_array = A2:E6 (bảng dữ liệu).
  • col_index_num = 4 (cột Giá Bán).
  • range_lookup = FALSE (tìm chính xác).

Kết quả: 320,000.

4.2 Xử Lý Khi Không Tìm Thấy (IFERROR)

=IFERROR(VLOOKUP("SP999", A2:E6, 4, FALSE), "Không tồn tại")

Nếu mã không tồn tại, hàm trả về “Không tồn tại” thay vì lỗi #N/A.

4.3 Tìm Kiếm Nhiều Giá Trị (Array Formula)

Trong Excel 365, bạn có thể nhập mảng:

=VLOOKUP({"SP001","SP004"}, A2:E6, 4, FALSE)

Kết quả trả về mảng {2,500,000; 6,200,000}.

5. Thực Hành Với HLOOKUP

Giả sử bảng được sắp xếp ngang:

ABCDE
Mã SPSP001SP002SP003SP004
Giá Bán2,500,000850,000320,0006,200,000

Tìm giá bán của SP003:

=HLOOKUP("SP003", A1:E2, 2, FALSE)

Kết quả: 320,000.

6. Kết Hợp INDEX + MATCH

6.1 Lấy Giá Bán Dựa trên Mã SP

=INDEX(D2:D6, MATCH("SP004", A2:A6, 0))
  • MATCH("SP004", A2:A6, 0) trả về vị trí hàng (4).
  • INDEX(D2:D6, 4) trả về giá trị ở hàng thứ 4 của cột Giá Bán.

Kết quả: 6,200,000.

6.2 Tìm Số Lượng Dựa trên Tên Sản Phẩm

=INDEX(E2:E6, MATCH("Ghế Nhựa", B2:B6, 0))

Kết quả: 30.

6.3 Tìm Kiếm Từ Phải Sang Trái

Nếu cột Mã SP nằm ở phía phải, VLOOKUP sẽ không hoạt động. INDEX-MATCH giải quyết:

=INDEX(A2:A6, MATCH("6,200,000", D2:D6, 0))

Kết quả: SP004.

7. XLOOKUP – Hàm Đa Năng Mới

7.1 Cú Pháp Cơ Bản

=XLOOKUP("SP002", A2:A6, D2:D6, "Không tồn tại")
  • lookup_value: "SP002".
  • lookup_array: A2:A6 (cột Mã SP).
  • return_array: D2:D6 (cột Giá Bán).
  • if_not_found: "Không tồn tại".

Kết quả: 850,000.

7.2 Tìm Kiếm Ngược (Search Mode = -1)

Giả sử chúng ta có danh sách ngày bán hàng và muốn lấy giá trị gần nhất trước ngày cho trước.

NgàyDoanh Thu
01/01/202610,000,000
05/01/202612,500,000
10/01/20269,800,000
=XLOOKUP(DATE(2026,1,7), A2:A4, B2:B4, "Không có", 1, -1)
  • match_mode = 1 (tìm gần đúng lớn hơn hoặc bằng).
  • search_mode = -1 (tìm ngược từ cuối lên đầu).

Kết quả: 12,500,000 (giá trị ngày 05/01/2026).

7.3 Trả Về Nhiều Cột (Array Return)

=XLOOKUP("SP003", A2:A6, D2:E6, "Không tồn tại")

Kết quả trả về một mảng {320,000; 45} (Giá Bán và Số Lượng).

8. LOOKUP – Khi nào nên dùng?

LOOKUP hoạt động khi lookup_vector và result_vector đã được sắp xếp tăng dần. Ví dụ:

=LOOKUP(350000, D2:D6, B2:B6)

Tìm giá trị nhỏ nhất trong cột Giá Bán không vượt quá 350,000 và trả về tên sản phẩm tương ứng. Kết quả: Đèn LED.

Lưu ý: Nếu dữ liệu không được sắp xếp, LOOKUP có thể trả về kết quả sai.

9. Kỹ Thuật Nâng Cao

9.1 Data Validation + VLOOKUP để Tạo Dropdown Động

Excel Lookup Value In Table
Excel Lookup Value In Table
  1. Tạo danh sách dropdown:
  2. Chọn ô A10 → Data → Data Validation → List → nhập =$A$2:$A$6 (danh sách Mã SP).

  3. Hiển thị thông tin:

  4. Ô B10 (Tên Sản Phẩm): =VLOOKUP(A10, $A$2:$C$6, 2, FALSE)
  5. Ô C10 (Giá Bán): =VLOOKUP(A10, $A$2:$E$6, 4, FALSE)

Khi người dùng chọn Mã SP, các thông tin liên quan tự động cập nhật.

9.2 Conditional Formatting Dựa trên Kết Quả Lookup

  • Mục tiêu: Đánh dấu các sản phẩm có Số Lượng < 10.
  • Công thức: =VLOOKUP($A2,$A$2:$E$6,5,FALSE)<10
  • Định dạng: Đổ nền màu đỏ.

9.3 Power Query – Tìm Kiếm Khi Dữ Liệu Lớn

Khi bảng dữ liệu lên hàng nghìn dòng, việc dùng hàm lookup truyền thống có thể chậm. Power Query cho phép:

  1. Nhập dữ liệu → Transform Data.
  2. Merge Queries → Chọn bảng chính và bảng lookup → Chọn cột khóa → Kiểu join (Left Outer, Inner…).
  3. Expand cột kết quả để lấy giá trị mong muốn.

Kết quả: Một bảng mới đã được “join” các thông tin một cách nhanh chóng, không gây lag.

9.4 Sử Dụng ARRAYFORMULA (Google Sheets) – Tương Đương Với Excel 365

Trong Google Sheets, hàm ARRAYFORMULA kết hợp với VLOOKUP hoặc XLOOKUP để trả về mảng kết quả:

=ARRAYFORMULA(IFERROR(VLOOKUP(A2:A10, Sheet2!A:B, 2, FALSE), "Không tồn tại"))

10. Xử Lý Lỗi Thông Thường

LỗiNguyên NhânCách Khắc Phục
#N/AKhông tìm thấy giá trịSử dụng IFERROR(..., "Không tồn tại") hoặc kiểm tra dữ liệu.
#VALUE!Đối số không hợp lệ (ví dụ: col_index_num không phải số)Đảm bảo các tham số đúng kiểu.
#REF!Tham chiếu ô bị xóa hoặc không tồn tạiKiểm tra lại phạm vi table_array.
#NAME?Tên hàm không đúng hoặc không được hỗ trợ trong phiên bản Excel hiện tạiKiểm tra phiên bản Excel (XLOOKUP chỉ có trong 365/2026+).
#SPILL!Mảng kết quả không đủ không gianĐảm bảo các ô xung quanh trống.

11. Tối Ưu Hóa Hiệu Suất

  1. Giảm phạm vi bảng: Sử dụng Table (Ctrl+T) để Excel tự động mở rộng khi thêm dữ liệu, thay vì dùng toàn cột (A:A).
  2. Sử dụng XLOOKUP hoặc INDEX-MATCH: Tránh VLOOKUP với range_lookup = TRUE trên bảng lớn vì phải sắp xếp dữ liệu.
  3. Tắt tính năng tính toán tự động (đối với bảng cực lớn) → Formulas → Calculation Options → Manual, sau đó nhấn F9 để tính lại khi cần.

12. Thực Hành Tổng Hợp: Xây Dựng Bảng Báo Cáo Bán Hàng

12.1 Dữ liệu nguồn

  • Bảng Sản Phẩm (như trên).
  • Bảng Đơn Hàng:
Mã ĐHMã SPNgàySố Lượng Bán
DH001SP00101/02/20263
DH002SP00303/02/20265
DH003SP00505/02/20262
DH004SP00207/02/20267
DH005SP00410/02/20261

12.2 Yêu cầu

  • Tính Doanh Thu cho mỗi đơn hàng (Giá Bán Số Lượng Bán).
  • Thêm Tên Sản Phẩm và Loại vào bảng Đơn Hàng.
  • Tổng hợp Doanh Thu theo Loại.

12.3 Bước Thực Hiện

  1. Thêm cột “Tên Sản Phẩm” (cột D):
    excel =XLOOKUP(B2, Products!A:A, Products!B:B, "Không tồn tại")
  2. Thêm cột “Giá Bán” (cột E):
    excel =XLOOKUP(B2, Products!A:A, Products!D:D, 0)
  3. Tính Doanh Thu (cột F):
    excel =E2C2
  4. Thêm cột “Loại” (cột G):
    excel =XLOOKUP(B2, Products!A:A, Products!C:C, "Không tồn tại")
  5. Tổng hợp Doanh Thu theo Loại:
  6. Tạo bảng tóm tắt:
    | Loại | Tổng Doanh Thu |
    |——|—————-|
    | Nội thất | =SUMIFS(Orders!F:F, Orders!G:G, "Nội thất") |
    | Điện | =SUMIFS(Orders!F:F, Orders!G:G, "Điện") |
  7. Kết quả:
    • Nội thất: 2,500,0003 + 850,0007 = 7,350,000
    • Điện: 320,0005 + 5,500,0002 + 6,200,0001 = 15,800,000

12.4 Định Dạng Báo Cáo

  • Conditional Formatting: Highlight các đơn hàng có doanh thu > 5,000,000 (đỏ).
  • PivotTable: Đối với bảng lớn, dùng PivotTable → Rows = Loại, Values = Sum of Doanh Thu.

13. Những Câu Hỏi Thường Gặp (FAQ)

13.1 VLOOKUP có thể tìm theo cột bất kỳ không?

Không. VLOOKUP chỉ tìm trong cột đầu tiên của table_array. Để tìm ở cột khác, dùng INDEX-MATCH hoặc XLOOKUP.

13.2 Khi nào nên dùng EXACT trong MATCH?

Khi bạn muốn tìm kiếm phân biệt chữ hoa/chữ thường. Ví dụ: MATCH("sp001", A2:A6, 0) sẽ trả về lỗi nếu dữ liệu là “SP001”. Sử dụng MATCH(TRUE, EXACT(A2:A6, "sp001"), 0) (đòi hỏi công thức mảng).

13.3 XLOOKUP có thể trả về nhiều giá trị không?

Có. Khi return_array là một cột hoặc hàng đa chiều, XLOOKUP trả về một mảng. Đặt công thức trong một dải ô đủ rộng để “spill” kết quả.

13.4 Làm sao để tra cứu trong bảng có nhiều cột trùng lặp?

Sử dụng helper column (cột trợ giúp) để tạo một key duy nhất (ví dụ: =A2&B2) rồi tra cứu bằng key này.

13.5 Power Query có thể thực hiện lookup trong thời gian thực?

Power Query thực hiện import và transform dữ liệu, không phải tính toán thời gian thực trong sheet. Sau khi load, dữ liệu sẽ được cập nhật khi bạn refresh query.

14. Kết Luận

Việc lookup value in table là một kỹ năng cốt lõi trong Excel, giúp bạn nhanh chóng trích xuất và tổng hợp thông tin từ các bộ dữ liệu phức tạp. Từ những hàm truyền thống như VLOOKUP và HLOOKUP đến các giải pháp hiện đại như INDEX-MATCH, XLOOKUP, và Power Query, mỗi công cụ đều có ưu và nhược điểm riêng. Việc lựa chọn hàm phù hợp dựa trên:

  • Độ phức tạp của dữ liệu,
  • Phiên bản Excel đang sử dụng,
  • Yêu cầu về hiệu suất và tính linh hoạt,

sẽ giúp tối ưu hoá quy trình làm việc và giảm thiểu lỗi. Hãy thực hành thường xuyên, kết hợp các kỹ thuật bổ trợ như Data Validation, Conditional Formatting, và PivotTable để xây dựng những báo cáo chuyên nghiệp, chính xác và nhanh chóng.

Tip cuối cùng: Khi làm việc với bảng dữ liệu lớn, luôn ưu tiên XLOOKUP (nếu có) hoặc INDEX-MATCH và cân nhắc chuyển sang Power Query để xử lý dữ liệu trong giai đoạn ETL (Extract‑Transform‑Load). Điều này không chỉ cải thiện tốc độ mà còn giúp quản lý dữ liệu một cách có hệ thống hơn.

Chúc bạn thành công trong việc ứng dụng các hàm lookup và nâng cao năng suất làm việc với Excel!

⚠️
LƯU Ý QUAN TRỌNG: Miễn trừ trách nhiệm: Mặc dù chúng tôi luôn nỗ lực để đảm bảo tính chính xác và cập nhật của thông tin, nhưng các quy định về giáo dục và tuyển sinh có thể thay đổi theo thời gian. BigSchool không chịu trách nhiệm về bất kỳ sai sót nào hoặc kết quả phát sinh từ việc sử dụng thông tin trên trang này. Độc giả nên liên hệ trực tiếp với nhà trường hoặc cơ quan chức năng để có thông tin mới nhất. Ngoài ra, BigSchool tuyệt đối không bán sản phẩm, khóa học hay cung cấp dịch vụ được nhắc đến trong bài.

Viết một bình luận