Có thể bạn quan tâm: Cách Thêm Công Thức Vào Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
Mở Đầu
Excel là một trong những công cụ mạnh mẽ nhất để quản lý, phân tích và trình bày dữ liệu. Tuy nhiên, để khai thác tối đa tiềm năng của nó, việc tra cứu dữ liệu một cách nhanh chóng, chính xác là vô cùng quan trọng. Bài viết này sẽ cung cấp cho bạn một hướng dẫn chi tiết, từ những thao tác cơ bản đến các kỹ thuật nâng cao, giúp bạn trở thành “thợ săn dữ liệu” thực thụ trong Excel.
Lưu ý: Bài viết được chia thành các phần rõ ràng, mỗi phần tập trung vào một khía cạnh của việc tra cứu. Bạn có thể đọc toàn bộ hoặc chỉ tập trung vào những phần cần thiết cho công việc của mình.
Có thể bạn quan tâm: Cách Thu Gọn Trang Excel: Bí Kíp Tối Ưu Hóa Bảng Tính, Tiết Kiệm Không Gian Và Nâng Cao Hiệu Suất Làm Việc
1. Hiểu Rõ Nhu Cầu Tra Cứu Trong Excel
Trước khi bắt đầu thực hiện, hãy trả lời một số câu hỏi:
| Câu hỏi | Mục đích |
|---|---|
| Tôi muốn tìm gì? | Giá trị cụ thể, toàn bộ dòng, hoặc các bản ghi thỏa mãn điều kiện? |
| Dữ liệu nằm ở đâu? | Trong cùng một sheet, nhiều sheet, hoặc nhiều file? |
| Kết quả cần hiển thị như thế nào? | Một ô duy nhất, một danh sách, hay một bảng tổng hợp? |
| Có yêu cầu tự động cập nhật? | Khi dữ liệu thay đổi, kết quả có tự động cập nhật không? |
Việc trả lời những câu hỏi này sẽ giúp bạn lựa chọn công cụ và hàm phù hợp nhất.
Có thể bạn quan tâm: Cách Sửa Lỗi #value! Trong Excel: Hướng Dẫn Chi Tiết Từ A Đến Z
2. Các Công Cụ Tra Cứu Cơ Bản
2.1. Tìm Kiếm (Find) và Thay Thế (Replace)
- Cách sử dụng: Nhấn
Ctrl + Fđể mở hộp thoại Find, nhập từ khóa và nhấnEnter. - Tùy chọn nâng cao: Nhấn
Ctrl + Hđể mở Replace, cho phép thay thế đồng thời nhiều ô. - Ưu điểm: Nhanh, không cần công thức.
- Nhược điểm: Không trả về giá trị tính toán, chỉ hỗ trợ tìm kiếm tĩnh.
2.2. Hàm VLOOKUP
=VLOOKUP(lookup_value, table_array, col_index_num, range_lookup)
- lookup_value: Giá trị cần tìm (ví dụ: mã sản phẩm).
- table_array: Vùng dữ liệu chứa giá trị và thông tin liên quan.
- col_index_num: Số cột trả về (tính từ cột đầu tiên của table_array).
- range_lookup:
TRUE(tìm gần đúng) hoặcFALSE(tìm chính xác).
2.2.1. Khi nào dùng VLOOKUP?
- Khi dữ liệu được sắp xếp theo cột tìm kiếm (đối với
TRUE). - Khi muốn tra cứu một giá trị duy nhất và trả về một cột duy nhất.
2.2.2. Lưu ý quan trọng
- VLOOKUP chỉ tra cứu từ trái sang phải. Nếu giá trị cần tìm nằm ở cột bên phải, cần dùng
INDEX/MATCHhoặcXLOOKUP. - Khi chèn hoặc xóa cột trong bảng,
col_index_numcó thể bị sai, gây lỗi#REF!.
2.3. Hàm HLOOKUP
Tương tự VLOOKUP nhưng hoạt động theo hàng:
=HLOOKUP(lookup_value, table_array, row_index_num, range_lookup)
Thường ít dùng hơn vì dữ liệu thường được tổ chức theo cột.
2.4. Hàm INDEX + MATCH
Kết hợp hai hàm mạnh mẽ, linh hoạt hơn VLOOKUP.
=INDEX(return_range, MATCH(lookup_value, lookup_range, 0))
- INDEX: Trả về giá trị của một ô trong một vùng.
- MATCH: Tìm vị trí (số thứ tự) của lookup_value trong lookup_range.
0trong MATCH = tìm chính xác.
2.4.1. Ưu điểm
- Tra cứu cả trái và phải: Không giới hạn vị trí cột tìm.
- Không bị ảnh hưởng khi chèn/xóa cột: Vì dùng địa chỉ vùng thay vì chỉ số cột.
- Hiệu suất tốt khi làm việc với bảng lớn.
2.5. Hàm XLOOKUP (Excel 365/2026 trở lên)
=XLOOKUP(lookup_value, lookup_array, return_array, if_not_found, match_mode, search_mode)
- lookup_value: Giá trị cần tìm.
- lookup_array: Vùng chứa giá trị tìm.
- return_array: Vùng trả về.
- if_not_found: Giá trị trả về nếu không tìm thấy (tùy chọn).
- match_mode:
0(chính xác),-1(≤),1(≥),2(wildcard). - search_mode:
1(tìm từ đầu),-1(tìm ngược).
2.5.1. Lý do nên dùng XLOOKUP
- Thay thế VLOOKUP, HLOOKUP, INDEX/MATCH trong một hàm duy nhất.
- Hỗ trợ tìm ngược (từ cuối lên đầu) và wildcard.
- Trả về mảng (có thể trả về nhiều cột cùng lúc).
3. Tra Cứu Nâng Cao Với Các Hàm Mảng
3.1. FILTER (Excel 365)
=FILTER(array, include, if_empty)
- array: Vùng dữ liệu gốc.
- include: Điều kiện (mảng TRUE/FALSE) để lọc.
- if_empty: Giá trị trả về nếu không có dữ liệu thỏa mãn.
Ví dụ: Lọc danh sách nhân viên có lương > 10 triệu:
=FILTER(A2:D100, D2:D100>10000000, "Không có dữ liệu")
3.2. UNIQUE
=UNIQUE(array, by_col, exactly_once)
- Trả về danh sách giá trị duy nhất trong một cột hoặc hàng.
by_col=TRUEnếu muốn xét theo cột,FALSE(mặc định) xét theo hàng.exactly_once=TRUEchỉ trả về các giá trị xuất hiện một lần duy nhất.
3.3. SORT và SORTBY
=SORT(array, sort_index, sort_order, by_col)
=SORTBY(array, by_array1, sort_order1, by_array2, sort_order2, …)
- SORT: Sắp xếp dữ liệu theo một cột/ hàng.
- SORTBY: Sắp xếp dựa trên một hoặc nhiều cột phụ trợ.
3.4. AGGREGATE
Cho phép thực hiện các hàm thống kê (SUM, AVERAGE, COUNT…) bỏ qua lỗi, ẩn, hoặc các giá trị đã lọc.
=AGGREGATE(function_num, options, array, k)
function_num: 1 = AVERAGE, 2 = COUNT, 3 = COUNTA, 4 = MAX, 5 = MIN, 9 = SUM, …options: 0 (không bỏ qua), 1 (bỏ qua hidden rows), 2 (bỏ qua lỗi), 3 (bỏ qua hidden rows và lỗi), …k: Đối với các hàm nhưLARGE,SMALL.
4. Tra Cứu Dữ Liệu Qua Nhiều Sheet
4.1. Tham chiếu tới Sheet Khác
=VLOOKUP(A2, Sheet2!$A$1:$D$500, 3, FALSE)
Sheet2!chỉ định bảng dữ liệu nằm trên sheet có tên “Sheet2”.- Khi sheet có tên chứa dấu cách, hãy đặt trong dấu ngoặc đơn:
'Sheet 2'!A1:D500.
4.2. 3D Reference (Tham chiếu 3 chiều)
Nếu bạn cần tổng hợp dữ liệu từ nhiều sheet cùng cấu trúc, sử dụng công thức 3D:
=SUM('Jan'!B2:'Dec'!B2)
- Tổng hợp giá trị B2 từ các sheet từ “Jan” đến “Dec”.
4.3. INDIRECT
=VLOOKUP(A2, INDIRECT("'"&B2&"'!$A$1:$D$500"), 3, FALSE)
- INDIRECT chuyển chuỗi văn bản thành tham chiếu.
- Thích hợp khi tên sheet được lưu trong một ô (ví dụ: B2 chứa “Sheet2”).
Lưu ý: INDIRECT không hoạt động khi workbook ở chế độ Closed (đóng). Khi cần tra cứu qua file khác, cần dùng Power Query hoặc VBA.
5. Tra Cứu Dữ Liệu Từ Các File Ngoài
5.1. Power Query (Get & Transform)

Có thể bạn quan tâm: Hướng Dẫn Làm Kế Toán Trên Excel: Từ Cơ Bản Đến Nâng Cao
Power Query cho phép kết nối, làm sạch, hợp nhất dữ liệu từ:
- Các file Excel khác
- CSV, TXT
- Cơ sở dữ liệu (SQL Server, MySQL, …)
- Web API
Các bước cơ bản:
- Data → Get Data → From File → From Workbook (hoặc From Text/CSV).
- Chọn file, sau đó Transform Data để mở Power Query Editor.
- Thực hiện các bước Filter, Remove Columns, Merge Queries (nối bảng) nếu cần.
- Close & Load để đưa dữ liệu vào một sheet mới hoặc vào Data Model.
5.2. Hàm External References
='FileName.xlsxSheet1'!$A$1
- Dùng để tham chiếu một ô cụ thể trong workbook khác.
- Khi file nguồn di chuyển, cần cập nhật đường dẫn.
5.3. VBA Macro Để Tra Cứu Tự Động
Sub LookupFromAnotherFile() Dim wbSource As Workbook Dim wsSource As Worksheet Dim rngFind As Range Dim lookupValue As Variant lookupValue = ThisWorkbook.Sheets("Input").Range("A2").Value Set wbSource = Workbooks.Open("C:\Data\SourceFile.xlsx", ReadOnly:=True) Set wsSource = wbSource.Sheets("Data") Set rngFind = wsSource.Columns("A").Find(What:=lookupValue, LookIn:=xlValues, LookAt:=xlWhole) If Not rngFind Is Nothing Then ThisWorkbook.Sheets("Result").Range("B2").Value = rngFind.Offset(0, 2).Value ' Lấy giá trị cột C Else MsgBox "Không tìm thấy giá trị " & lookupValue End If wbSource.Close SaveChanges:=False
End Sub
- Mã trên mở file nguồn, tìm giá trị trong cột A, và trả về giá trị cột C.
- Lưu ý: Khi sử dụng macro, cần bật Macro và đặt mức bảo mật phù hợp.
6. Các Kỹ Thuật Tối Ưu Hóa Tra Cứu
6.1. Sử Dụng Table (Bảng Dữ Liệu)
- Chuyển vùng dữ liệu thành Table (
Ctrl + T). - Lợi ích:
- Tham chiếu cộng động (
TableNameColumnName) thay vì địa chỉ cố định. - Tự động mở rộng khi thêm dòng mới, giúp các hàm tra cứu luôn cập nhật.
6.2. Tránh Lỗi #N/A
- Kết hợp
IFERRORhoặcIFNA:
=IFERROR(VLOOKUP(A2, Table1, 3, FALSE), "Không tìm thấy")
- Hoặc dùng
XLOOKUPvớiif_not_found:
=XLOOKUP(A2, Table1Code, Table1Name, "Không tồn tại")
6.3. Giảm Thời Gian Tính Toán
- Giới hạn vùng tra cứu: Đừng để
table_arraylà toàn bộ cột (A:D) nếu chỉ cần A1:D1000. - Sử dụng
INDEX/MATCHcùng vớiMATCHcó kiểu0(chính xác) để tránh tìm gần đúng. - Tắt tính toán tự động trong workbook lớn (
Formulas → Calculation Options → Manual) và nhấnF9khi cần cập nhật.
6.4. Tối Ưu Khi Dùng XLOOKUP Với Mảng Lớn
- Sử dụng Dynamic Array một cách có ý thức: Khi trả về mảng, Excel sẽ tự động spill (tràn) vào các ô liền kề. Đảm bảo không có dữ liệu bị chặn.
- Nếu muốn giới hạn số dòng trả về, dùng
INDEXkết hợp:
=INDEX(XLOOKUP(A2, LookupArray, ReturnArray), SEQUENCE(5))
- Trả về 5 kết quả đầu tiên.
7. Ứng Dụng Thực Tế: Các Bài Toán Thông Dụng
7.1. Tra Cứu Giá Trị Đơn Lẻ
Bài toán: Tìm giá bán của một mã sản phẩm trong bảng “Bảng Giá”.
Giải pháp: XLOOKUP
=XLOOKUP(A2, PricesProductCode, PricesPrice, "Mã không tồn tại")
7.2. Lấy Nhiều Thông Tin Cùng Lúc
Bài toán: Khi nhập mã nhân viên, tự động hiển thị tên, phòng ban và lương.
Giải pháp: Dùng XLOOKUP trả về mảng:
=XLOOKUP(A2, EmployeesID, EmployeesName:Salary, "Không tìm thấy")
Kết quả sẽ tràn vào 3 cột liền kề (Tên, Phòng, Lương).
7.3. Lọc Danh Sách Khách Hàng Có Nợ > 5,000,000
Bài toán: Tạo danh sách khách hàng nợ quá hạn.
Giải pháp: FILTER
=FILTER(ClientsID:Debt, ClientsDebt > 5000000, "Không có khách nợ")
7.4. Đếm Số Lần Xuất Hiện Của Một Giá Trị
Bài toán: Đếm số lần một sản phẩm được bán trong tháng.
Giải pháp: COUNTIF
=COUNTIF(SalesProductCode, A2)
7.5. Tìm Giá Trị Gần Nhất
Bài toán: Khi nhập một số, tìm giá trị trong danh sách gần nhất (lớn hơn hoặc nhỏ hơn).
Giải pháp: XLOOKUP với match_mode = -1 hoặc 1.
=XLOOKUP(A2, PricesPrice, PricesPrice, "Không tìm thấy", -1) '≤ gần nhất
=XLOOKUP(A2, PricesPrice, PricesPrice, "Không tìm thấy", 1) '≥ gần nhất
8. Triển Khai Tra Cứu Tự Động Với Form Controls
8.1. Sử Dụng Combo Box (Drop‑down)
- Chèn Combo Box:
Developer → Insert → Combo Box (Form Control). - Liên kết danh sách: Thiết lập
Input Rangelà cột chứa mã hoặc tên. - Liên kết ô kết quả:
Cell linksẽ trả về vị trí (số thứ tự) trong danh sách. - Sử dụng công thức: Dùng
INDEXđể lấy giá trị thực tế:
=INDEX(ProductsName, ComboBoxCellLink)
8.2. Sử Dụng Slicer (cho Table)
- Khi dữ liệu được chuyển thành Table, bạn có thể chèn Slicer để lọc nhanh.
- Slicer tự động cập nhật các công thức phụ thuộc (như
SUBTOTAL,AGGREGATE).
9. Kiểm Tra và Xác Thực Kết Quả
- Kiểm tra lỗi: Dùng
ISERROR,ISNA,IFERROR. - So sánh nhanh: Tạo Conditional Formatting để tô màu các ô không khớp.
- Audit Formulas:
Formulas → Formula Auditing → Evaluate Formulađể kiểm tra từng bước tính toán.
10. Kết Luận
Việc tra cứu trong Excel không chỉ dừng lại ở việc dùng một hàm đơn lẻ. Khi hiểu rõ nhu cầu, cấu trúc dữ liệu và các công cụ hỗ trợ, bạn có thể:
- Tiết kiệm thời gian bằng cách tự động hóa tìm kiếm.
- Giảm lỗi nhờ các hàm xử lý ngoại lệ như
IFERROR. - Mở rộng quy mô bằng Power Query và VBA khi cần làm việc với nhiều file hoặc nguồn dữ liệu phức tạp.
- Cải thiện trải nghiệm người dùng bằng các control như Combo Box, Slicer.
Hãy bắt đầu áp dụng những kiến thức trên vào dự án của mình ngay hôm nay. Khi bạn đã thành thạo các hàm VLOOKUP, XLOOKUP, FILTER, INDEX/MATCH, cùng với các kỹ thuật tối ưu hoá, việc tra cứu dữ liệu trong Excel sẽ trở nên nhanh chóng, chính xác, và đáng tin cậy hơn bao giờ hết.
Chúc bạn thành công!

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
