Cách Tra Cứu Dữ Liệu Trong 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.

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ỏiMụ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.

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ấn Enter.
  • 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ặc FALSE (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/MATCH hoặc XLOOKUP.
  • Khi chèn hoặc xóa cột trong bảng, col_index_num có 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.
  • 0 trong 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=TRUE nếu muốn xét theo cột, FALSE (mặc định) xét theo hàng.
  • exactly_once=TRUE chỉ 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ách Tra Cứu Trong Excel
Cách Tra Cứu Trong Excel

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:

  1. Data → Get Data → From File → From Workbook (hoặc From Text/CSV).
  2. Chọn file, sau đó Transform Data để mở Power Query Editor.
  3. Thực hiện các bước Filter, Remove Columns, Merge Queries (nối bảng) nếu cần.
  4. 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 IFERROR hoặc IFNA:
=IFERROR(VLOOKUP(A2, Table1, 3, FALSE), "Không tìm thấy")
  • Hoặc dùng XLOOKUP với if_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_array là toàn bộ cột (A:D) nếu chỉ cần A1:D1000.
  • Sử dụng INDEX/MATCH cùng với MATCH có kiểu 0 (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ấn F9 khi 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 INDEX kế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)

  1. Chèn Combo Box: Developer → Insert → Combo Box (Form Control).
  2. Liên kết danh sách: Thiết lập Input Range là cột chứa mã hoặc tên.
  3. Liên kết ô kết quả: Cell link sẽ trả về vị trí (số thứ tự) trong danh sách.
  4. 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ể:

  1. Tiết kiệm thời gian bằng cách tự động hóa tìm kiếm.
  2. Giảm lỗi nhờ các hàm xử lý ngoại lệ như IFERROR.
  3. 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.
  4. 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!

⚠️
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