Có thể bạn quan tâm: Unlock Excel File Password Protected Online: Hướng Dẫn Chi Tiết, An Toàn Và Hiệu Quả
Mở Đầu
Trong quá trình làm việc với Microsoft Excel, việc tìm kiếm một ô chứa giá trị nhất định là một trong những thao tác cơ bản nhưng lại vô cùng quan trọng. Dù bạn là người mới bắt đầu hay đã là một chuyên gia Excel, việc nắm vững các phương pháp tìm kiếm sẽ giúp tăng hiệu suất làm việc, giảm thiểu sai sót và tiết kiệm thời gian đáng kể. Bài viết này sẽ cung cấp cho bạn một hướng dẫn chi tiết, đầy đủ và thực tiễn, từ cách sử dụng các công cụ tích hợp sẵn trong Excel cho tới việc viết công thức và macro VBA để thực hiện các nhiệm vụ tìm kiếm phức tạp hơn.
Có thể bạn quan tâm: Excel File Locked For Editing: Nguyên Nhân, Giải Pháp Và Cách Phòng Ngừa
1. Hiểu Rõ Nhu Cầu Tìm Kiếm
Trước khi đi vào các công cụ và kỹ thuật, bạn cần xác định rõ mục tiêu tìm kiếm của mình:
| Yếu Tố | Mô Tả |
|---|---|
| Kiểu dữ liệu | Số, văn bản, ngày tháng, công thức hay lỗi? |
| Phạm vi tìm kiếm | Toàn bộ sheet, một vùng cụ thể, hay nhiều sheet cùng lúc? |
| Kết quả mong muốn | Địa chỉ ô (A1), giá trị ô, hay vị trí thứ N trong danh sách? |
| Tiêu chí tìm kiếm | Giá trị chính xác, phần tử chứa chuỗi, lớn hơn/nhỏ hơn, hoặc theo mẫu (wildcard)? |
| Xử lý khi không tìm thấy | Hiển thị thông báo, trả về giá trị mặc định, hoặc thực hiện hành động khác? |
Việc trả lời những câu hỏi trên sẽ giúp bạn lựa chọn công cụ và phương pháp phù hợp nhất.
Có thể bạn quan tâm: Cách Trích Xuất Văn Bản Từ Chuỗi Trong Excel: Hướng Dẫn Chi Tiết Và Thực Hành
2. Sử Dụng Tính Năng “Find & Replace” (Ctrl + F)
2.1. Cách Sử Dụng Cơ Bản
- Mở hộp thoại Find: Nhấn
Ctrl + Fhoặc vàoHome → Find & Select → Find.... - Nhập giá trị cần tìm: Gõ giá trị vào ô “Find what”.
- Lựa chọn phạm vi: Trong “Within”, chọn
Sheet(tìm trong sheet hiện tại) hoặcWorkbook(tìm trong toàn bộ workbook). - Thiết lập tùy chọn: Nhấn nút “Options” để mở rộng các tùy chọn:
- Look in:
Formulas,Values, hoặcComments. - Match case: Phân biệt chữ hoa/chữ thường.
- Match entire cell contents: Tìm khớp toàn bộ nội dung ô.
- Search:
By RowshayBy Columns. - Thực hiện tìm kiếm: Nhấn “Find All” để liệt kê tất cả các ô thỏa mãn, hoặc “Find Next” để di chuyển tới ô tiếp theo.
2.2. Tìm Kiếm Với Wildcard
Excel hỗ trợ các ký tự đại diện (wildcard) trong tìm kiếm:
| Ký tự | Ý nghĩa |
|---|---|
| Thay thế bất kỳ chuỗi ký tự nào (có thể không có ký tự). |
? | Thay thế một ký tự duy nhất. |
~ | Đánh dấu ký tự đặc biệt (như , ?, ~) để tìm kiếm chúng thực sự. |
Ví dụ: Để tìm tất cả các ô chứa “Sales” ở bất kỳ vị trí nào, nhập Sales. Để tìm các ô có một ký tự bất kỳ sau “Q”, nhập Q?.
2.3. Giới Hạn và Khi Nào Nên Tránh Dùng
- Không thể trả về vị trí ô dưới dạng công thức: Find chỉ giúp bạn di chuyển trên giao diện, không cung cấp giá trị trong ô công thức.
- Không hỗ trợ tìm kiếm nâng cao: Ví dụ, tìm ô có giá trị lớn hơn 1000 và chứa chuỗi “2026” không thể thực hiện trực tiếp bằng Find.
- Không hoạt động trên các ô ẩn (filtered) nếu không chọn “Search within visible cells only”.
3. Sử Dụng Hàm Tìm Kiếm Cơ Bản
3.1. Hàm VLOOKUP (Vertical Lookup)
=VLOOKUP(lookup_value, table_array, col_index_num, range_lookup)
- lookup_value: Giá trị cần tìm (có thể là ô hoặc hằng số).
- table_array: Vùng dữ liệu chứa cột chứa giá trị tìm và cột trả về.
- col_index_num: Số thứ tự cột trong
table_arraymà bạn muốn trả về. - range_lookup:
FALSEcho tìm chính xác,TRUEcho tìm gần đúng (cần dữ liệu sắp xếp).
Ví dụ: Tìm giá trị “A123” trong cột A và trả về giá trị tương ứng ở cột C:
=VLOOKUP("A123", $A$2:$C$500, 3, FALSE)
3.2. Hàm HLOOKUP (Horizontal Lookup)
Tương tự VLOOKUP, nhưng tìm theo hàng.
=HLOOKUP(lookup_value, table_array, row_index_num, range_lookup)
3.3. Hàm INDEX + MATCH
Kết hợp INDEX và MATCH cho phép tìm kiếm linh hoạt hơn, không bị giới hạn vị trí cột tìm kiếm như VLOOKUP.
=INDEX(return_range, MATCH(lookup_value, lookup_range, 0))
MATCHtrả về vị trí (số hàng) củalookup_valuetronglookup_range.INDEXsử dụng vị trí này để trả về giá trị trongreturn_range.
Ví dụ: Tìm “John” trong cột B và trả về giá trị ở cột D:
=INDEX($D$2:$D$500, MATCH("John", $B$2:$B$500, 0))
3.4. Hàm XLOOKUP (Excel 365/2026 trở lên)
XLOOKUP là hàm hiện đại thay thế VLOOKUP và HLOOKUP, hỗ trợ tìm kiếm cả theo cột và hàng, trả về mặc định khi không tìm thấy, và cho phép tìm kiếm ngược.
=XLOOKUP(lookup_value, lookup_array, return_array, if_not_found, match_mode, search_mode)
- match_mode:
0(chính xác),-1(chính xác hoặc nhỏ hơn),1(chính xác hoặc lớn hơn),2(wildcard). - search_mode:
1(tìm từ đầu tới cuối),-1(tìm ngược lại).
Ví dụ: Tìm “ProductX” trong cột A, trả về giá trị tương ứng ở cột F, nếu không tìm thấy trả về “Không có”:
=XLOOKUP("ProductX", $A$2:$A$1000, $F$2:$F$1000, "Không có")
4. Tìm Kiếm Nhiều Điều Kiện Với Hàm FILTER
Excel 365 cung cấp hàm FILTER cho phép lọc dữ liệu dựa trên một hoặc nhiều điều kiện, trả về mảng các ô thỏa mãn.
=FILTER(array, include, if_empty)
- array: Dải dữ liệu cần lọc.
- include: Mảng logic (TRUE/FALSE) chỉ ra các hàng cần giữ lại.
- 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 đơn hàng có khách hàng “ABC Corp” và giá trị > 5000:
=FILTER($A$2:$D$2000, ($B$2:$B$2000="ABC Corp")($C$2:$C$2000>5000), "Không có dữ liệu")
Kết quả sẽ là một mảng gồm các hàng thỏa mãn, và bạn có thể dùng INDEX để trích xuất vị trí ô đầu tiên nếu cần.
5. Tìm Kiếm Với Hàm Mảng (Array Formulas)
Đối với các phiên bản Excel chưa hỗ trợ XLOOKUP hoặc FILTER, bạn có thể sử dụng công thức mảng truyền thống (Ctrl + Shift + Enter) để trả về vị trí ô.
5.1. Hàm SMALL + IF

Có thể bạn quan tâm: Excel Fill Series Không Hoạt Động: Nguyên Nhân, Giải Pháp Và Cách Khắc Phục Chi Tiết
=SMALL(IF($A$2:$A$1000="Target", ROW($A$2:$A$1000)), n)
IFtạo mảng các số hàng nếu điều kiện đúng, ngược lại trả về FALSE.SMALLlấy số hàng thứntrong mảng (n=1 là ô đầu tiên, n=2 là ô tiếp theo…).
Công thức mảng: Nhấn Ctrl + Shift + Enter để kích hoạt.
5.2. Hàm AGGREGATE
AGGREGATE có thể bỏ qua lỗi và thực hiện các phép tính tương tự SMALL.
=AGGREGATE(15, 6, ROW($A$2:$A$1000)/($A$2:$A$1000="Target"), n)
- 15: Mã hàm cho
SMALL. - 6: Bỏ qua lỗi.
nlà vị trí thứ N cần tìm.
6. Sử Dụng Công Cụ “Conditional Formatting” Để Đánh Dấu Ô
Nếu mục tiêu của bạn là nhanh chóng “nhìn thấy” các ô chứa giá trị cụ thể mà không cần di chuyển con trỏ, Conditional Formatting (Định dạng có điều kiện) là giải pháp tốt.
6.1. Các Bước Thực Hiện
- Chọn vùng dữ liệu (hoặc toàn bộ sheet bằng
Ctrl + A). - Vào
Home → Conditional Formatting → New Rule. - Chọn “Use a formula to determine which cells to format”.
- Nhập công thức, ví dụ:
=$A1="Target"(đối với cột A) hoặc=SEARCH("Target", A1)>0để tìm chuỗi con. - Nhấn “Format…”, chọn màu nền hoặc font màu.
- Xác nhận “OK”.
6.2. Lưu Ý Khi Dùng
- Đảm bảo công thức tham chiếu đúng ô đầu tiên của vùng đã chọn.
- Nếu muốn áp dụng cho toàn bộ sheet, hãy dùng
=$A$1="Target"và áp dụng cho$1:$1048576(tất cả hàng).
7. Tạo Macro VBA Để Tự Động Hóa Việc Tìm Kiếm
Khi công việc lặp lại nhiều lần hoặc cần thực hiện tìm kiếm phức tạp (nhiều sheet, nhiều điều kiện, ghi log), VBA là công cụ mạnh mẽ.
7.1. Macro Cơ Bản: Tìm Ô Có Giá Trị Xác Định và Đánh Dấu
Sub FindAndHighlight() Dim ws As Worksheet Dim rng As Range, cell As Range Dim searchValue As Variant '--- Thiết lập giá trị cần tìm (có thể lấy từ ô B1) searchValue = InputBox("Nhập giá trị cần tìm:", "Tìm Kiếm") If searchValue = "" Then Exit Sub '--- Lặp qua tất cả các sheet trong workbook For Each ws In ThisWorkbook.Worksheets Set rng = ws.UsedRange ' Hoặc ws.Cells nếu muốn toàn bộ For Each cell In rng If cell.Value = searchValue Then cell.Interior.Color = vbYellow ' Đánh dấu màu vàng End If Next cell Next ws MsgBox "Hoàn tất! Các ô chứa '" & searchValue & "' đã được đánh dấu.", vbInformation
End Sub
Giải thích:
InputBoxcho phép người dùng nhập giá trị cần tìm.UsedRangegiới hạn tìm kiếm trong phạm vi đã sử dụng, giảm thời gian thực thi.cell.Interior.Color = vbYellowthay đổi màu nền thành vàng.
7.2. Macro Nâng Cao: Ghi Danh Sách Địa Chỉ Ô Vào Sheet “Kết Quả”
Sub FindAllOccurrences() Dim ws As Worksheet, wsResult As Worksheet Dim rng As Range, cell As Range Dim searchValue As Variant Dim resultRow As Long searchValue = InputBox("Nhập giá trị cần tìm:", "Tìm Kiếm") If searchValue = "" Then Exit Sub '--- Tạo hoặc làm sạch sheet kết quả On Error Resume Next Set wsResult = ThisWorkbook.Worksheets("Kết Quả") If wsResult Is Nothing Then Set wsResult = ThisWorkbook.Worksheets.Add wsResult.Name = "Kết Quả" Else wsResult.Cells.Clear End If On Error GoTo 0 wsResult.Range("A1:D1").Value = Array("Sheet", "Địa chỉ Ô", "Giá Trị", "Ngày Tìm") resultRow = 2 For Each ws In ThisWorkbook.Worksheets If ws.Name <> wsResult.Name Then Set rng = ws.UsedRange For Each cell In rng If cell.Value = searchValue Then wsResult.Cells(resultRow, 1).Value = ws.Name wsResult.Cells(resultRow, 2).Value = cell.Address(False, False) wsResult.Cells(resultRow, 3).Value = cell.Value wsResult.Cells(resultRow, 4).Value = Now resultRow = resultRow + 1 End If Next cell End If Next ws wsResult.Columns.AutoFit MsgBox "Hoàn tất! Đã ghi " & resultRow - 2 & " kết quả vào sheet 'Kết Quả'.", vbInformation
End Sub
Điểm nổi bật:
- Tạo/đặt lại sheet “Kết Quả” để lưu danh sách.
- Ghi lại tên sheet, địa chỉ ô, giá trị và thời gian tìm.
- Tự động điều chỉnh độ rộng cột.
7.3. Khi Nào Nên Dùng VBA
| Trường hợp | Lý do |
|---|---|
| Tìm kiếm trên nhiều sheet | Find & Replace chỉ làm việc trên một sheet hoặc workbook mà không tự động ghi lại kết quả. |
| Cần lưu log hoặc xuất báo cáo | VBA có thể ghi danh sách kết quả vào file, email, hoặc database. |
| Thực hiện các hành động phức tạp | Đánh dấu, xóa, sao chép, hoặc thay đổi định dạng dựa trên nhiều tiêu chí. |
| Tự động hoá quy trình định kỳ | Gán macro vào nút hoặc chạy theo lịch (Task Scheduler). |
8. So Sánh Các Phương Pháp Và Khi Nào Áp Dụng
| Phương pháp | Ưu điểm | Nhược điểm | Khi nào nên dùng |
|---|---|---|---|
| Find & Replace | Nhanh, giao diện trực quan, không cần công thức | Không trả về địa chỉ ô trong công thức, không hỗ trợ nhiều điều kiện | Tìm nhanh một giá trị trong sheet hoặc workbook |
| VLOOKUP / HLOOKUP | Dễ hiểu, phù hợp với dữ liệu dạng bảng | Giới hạn cột tìm (cột đầu), không trả về địa chỉ ô | Lấy giá trị tương ứng khi cột tìm luôn ở bên trái (VLOOKUP) |
| INDEX + MATCH | Linh hoạt, không giới hạn vị trí cột, tốc độ tốt | Cần viết công thức phức tạp hơn | Khi cần tìm trong bất kỳ cột nào và/hoặc trả về giá trị từ cột bên trái |
| XLOOKUP | Đơn giản, hỗ trợ tìm ngược, mặc định trả về khi không tìm thấy | Chỉ có trong Excel 365/2026 trở lên | Dùng cho mọi trường hợp tìm kiếm hiện đại |
| FILTER | Trả về mảng các dòng thỏa mãn, hỗ trợ nhiều điều kiện | Yêu cầu Excel 365, không trả về địa chỉ ô | Khi muốn lọc danh sách và hiển thị kết quả ngay trong sheet |
| Conditional Formatting | Tô sáng các ô ngay trên giao diện | Không trả về giá trị, chỉ hiển thị | Khi muốn “nhìn thấy” nhanh các ô chứa giá trị |
| VBA Macro | Tự động hoá, xử lý nhiều sheet, ghi log, thực hiện hành động phức tạp | Cần kiến thức lập trình, bảo mật macro | Khi công việc lặp lại, yêu cầu báo cáo, hay cần thao tác trên nhiều sheet |
9. Một Số Mẹo Thực Tiễn Khi Tìm Kiếm
- Sử Dụng Định Dạng Số Nhất Quán: Nếu dữ liệu là ngày tháng hoặc số có định dạng khác nhau, Excel có thể không nhận dạng đúng. Hãy chuẩn hoá định dạng trước khi tìm kiếm.
- Loại Bỏ Dấu Cách Thừa: Dấu cách ở đầu/cuối chuỗi có thể làm
VLOOKUPhoặcXLOOKUPtrả về lỗi. DùngTRIMđể loại bỏ. - Kiểm Tra Dữ Liệu Trống:
""(chuỗi rỗng) vàNULL(ô trống) khác nhau. Khi dùng công thức, nên dùngIFERRORhoặcIF(ISBLANK(...), ...). - Sử Dụng
Ctrl + Shift + LĐể Lọc Dữ Liệu: Khi dữ liệu lớn, bật filter rồi nhập giá trị cần tìm vào ô filter sẽ nhanh hơn. - Tối Ưu Hóa
UsedRange: Các sheet có nhiều ô không dùng có thể làm tìm kiếm chậm. Xóa các hàng/ cột trống và lưu lại workbook để giảmUsedRange.
10. Xử Lý Khi Không Tìm Thấy Giá Trị
- Kiểm tra lỗi chính tả và ký tự ẩn: Đôi khi có ký tự không hiển thị (như ký tự Unicode 160 – non‑breaking space). Dùng
CLEANvàTRIMđể làm sạch. - Kiểm tra kiểu dữ liệu: Số được lưu dưới dạng văn bản sẽ không khớp với số thực. Dùng
VALUEđể chuyển đổi. - Kiểm tra phạm vi tìm kiếm: Đảm bảo không vô tình giới hạn phạm vi quá hẹp (ví dụ chỉ
A1:A100trong khi dữ liệu nằm ởA200).
11. Thực Hành: Bài Tập Tìm Kiếm Thực Tế
Bài 1: Tìm Tất Cả Các Đơn Hàng Có Giá Trị > 10.000
- Mở sheet “Orders”.
- Chọn
Home → Conditional Formatting → New Rule. - Nhập công thức:
=$C2>10000(giả sử cột C là giá trị đơn hàng). - Đặt màu nền xanh nhạt và nhấn OK. Các ô thỏa điều kiện sẽ được tô màu.
Bài 2: Lấy Giá Trị Đơn Giá Từ Mã Sản Phẩm
Giả sử cột A là “Mã SP”, cột B là “Tên SP”, cột C là “Đơn Giá”. Bạn muốn lấy đơn giá cho mã “P123”.
=XLOOKUP("P123", $A$2:$A$500, $C$2:$C$500, "Không tồn tại")
Bài 3: Ghi Danh Sách Các Khách Hàng “VIP” Vào Sheet “VIP”
Sub ExportVIPCustomers() Dim wsSrc As Worksheet, wsDest As Worksheet Dim rng As Range, cell As Range Dim destRow As Long Set wsSrc = ThisWorkbook.Worksheets("Customers") Set wsDest = ThisWorkbook.Worksheets("VIP") wsDest.Cells.Clear wsDest.Range("A1:C1").Value = Array("Mã KH", "Tên KH", "Loại KH") destRow = 2 Set rng = wsSrc.Range("A2:A" & wsSrc.Cells(wsSrc.Rows.Count, "A").End(xlUp).Row) For Each cell In rng If LCase(cell.Offset(0, 2).Value) = "vip" Then ' Giả sử cột C là Loại KH wsDest.Cells(destRow, 1).Value = cell.Value wsDest.Cells(destRow, 2).Value = cell.Offset(0, 1).Value wsDest.Cells(destRow, 3).Value = cell.Offset(0, 2).Value destRow = destRow + 1 End If Next cell wsDest.Columns.AutoFit MsgBox "Đã xuất " & destRow - 2 & " khách hàng VIP.", vbInformation
End Sub
12. Kết Luận
Việc tìm kiếm ô có giá trị trong Excel không còn là một thách thức khi bạn nắm vững các công cụ và kỹ thuật sau:
- Find & Replace cho tìm nhanh và di chuyển trên giao diện.
- Các hàm tìm kiếm (
VLOOKUP,HLOOKUP,INDEX+MATCH,XLOOKUP) để trả về giá trị hoặc vị trí trong công thức. FILTERvà công thức mảng để lấy danh sách các ô thỏa mãn nhiều điều kiện.- Conditional Formatting để trực quan hoá dữ liệu.
- VBA Macro để tự động hoá, xử lý đa sheet, ghi log và thực hiện hành động phức tạp.
Bạn hãy lựa chọn phương pháp phù hợp với yêu cầu và môi trường làm việc (phiên bản Excel, độ phức tạp, tần suất thực hiện). Khi kết hợp linh hoạt các công cụ trên, bạn sẽ nâng cao đáng kể hiệu suất làm việc, giảm thiểu lỗi và có thể xây dựng các mô hình dữ liệu chuyên nghiệp, tự động hoá hoàn toàn quy trình phân tích và báo cáo.
Hy vọng bài viết này đã cung cấp cho bạn một kho tàng kiến thức toàn diện về “excel find cell with value”. Hãy thực hành, thử nghiệm và tùy biến các giải pháp để phù hợp nhất với công việc thực tế của mình. 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ẻ.
