Cách Tạo Bộ Lọc (filter) Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao

Mở đầu: Tại sao nên sử dụng bộ lọc trong Excel?

Excel là một trong những công cụ xử lý dữ liệu mạnh mẽ và phổ biến nhất hiện nay. Khi làm việc với một bảng dữ liệu lớn, việc tìm kiếm, phân loại hay trích xuất thông tin một cách nhanh chóng là điều thiết yếu. Bộ lọc (Filter) chính là tính năng giúp bạn thực hiện những nhiệm vụ này một cách hiệu quả, giảm thiểu thời gian và tránh những sai sót khi phải lướt qua hàng ngàn dòng dữ liệu bằng mắt.

Trong bài viết này, chúng ta sẽ đi sâu vào cách tạo bộ lọc trong Excel, từ các thao tác cơ bản nhất cho người mới bắt đầu, tới những kỹ thuật nâng cao như lọc nâng cao (Advanced Filter), lọc bằng công thức, và thậm chí tự động hoá bộ lọc bằng VBA. Bài viết được chia thành các phần rõ ràng, kèm ví dụ thực tế và hình ảnh minh hoạ (miêu tả) để bạn có thể áp dụng ngay vào công việc của mình.

Lưu ý: Bài viết này tập trung vào Excel cho Windows (Office 365/2026/2026) và Excel cho Mac. Một số bước có thể hơi khác nhau trên phiên bản web (Excel Online) nhưng nguyên tắc chung vẫn giữ nguyên.

1. Chuẩn bị dữ liệu mẫu

Trước khi bắt đầu, hãy chuẩn bị một bảng dữ liệu mẫu để thực hành. Giả sử chúng ta có một bảng danh sách Nhân viên công ty với các cột sau:

ABCDE
Mã NVTênPhòng BanNgày vào làmLương (USD)
NV001Nguyễn Văn AKinh doanh01/03/20263,500
NV002Trần Thị BMarketing15/06/20263,200
NV003Lê Văn CKế toán20/09/20263,800
NV004Phạm Thị DNhân sự10/02/20263,100
NV005Hoàng Văn EKinh doanh05/11/20264,000
……………

Bạn có thể sao chép bảng trên vào một sheet mới, hoặc tạo dữ liệu tương tự với số lượng dòng lớn hơn (ví dụ: 500 – 1000 bản ghi) để cảm nhận rõ hơn hiệu quả của bộ lọc.

2. Tạo Bộ Lọc Cơ Bản (AutoFilter)

2.1. Bật tính năng AutoFilter

  1. Chọn toàn bộ vùng dữ liệu (có tiêu đề). Bạn có thể nhấn Ctrl + A trong bảng hoặc kéo chuột để chọn từ ô A1 tới ô E (hoặc tới cột cuối cùng chứa dữ liệu).
  2. Vào tab “Data” (Dữ liệu) trên Ribbon.
  3. Nhấn “Filter” (biểu tượng hình phễu). Khi bật, Excel sẽ tự động chèn mũi tên thả xuống ở ô tiêu đề của mỗi cột.

Mẹo: Nếu dữ liệu của bạn nằm trong một Table (Insert → Table), Excel sẽ tự động bật bộ lọc và cung cấp thêm tính năng sắp xếp, tổng hợp nhanh.

2.2. Sử dụng bộ lọc để chọn dữ liệu

  • Lọc theo giá trị cụ thể: Nhấp vào mũi tên ở cột “Phòng Ban”, bỏ chọn “Select All”, rồi tích vào “Kinh doanh”. Chỉ các bản ghi thuộc phòng Kinh doanh sẽ hiển thị.
  • Lọc theo điều kiện: Chọn “Number Filters” (Lọc số) trong cột “Lương”. Ví dụ: “Greater Than… → 3500” để chỉ hiển thị nhân viên có lương > 3500 USD.
  • Lọc theo ngày: Trong cột “Ngày vào làm”, chọn “Date Filters” → “Between… → 01/01/2026 và 31/12/2026”. Điều này giúp bạn xem nhân viên mới vào trong năm 2026.

2.3. Xóa bộ lọc

  • Để xóa một bộ lọc riêng lẻ, mở lại menu lọc và chọn “Clear Filter From …”.
  • Để tắt toàn bộ AutoFilter, vào Data → Filter lần nữa (biểu tượng phễu sẽ tắt). Dữ liệu sẽ trở lại hiển thị đầy đủ.

3. Lọc Nâng Cao (Advanced Filter)

AutoFilter rất tiện lợi, nhưng khi cần lọc theo nhiều tiêu chí phức tạp (ví dụ: “Phòng Ban = Kinh doanh” và “Lương > 3500” hoặc “Ngày vào làm > 01/01/2026”), chúng ta cần tới Advanced Filter.

3.1. Cấu trúc vùng tiêu chí (Criteria Range)

Advanced Filter yêu cầu một vùng tiêu chí riêng, gồm:

  • Tiêu đề cột giống hệt tiêu đề trong bảng dữ liệu.
  • Các điều kiện nằm ngay dưới tiêu đề, mỗi điều kiện trên một dòng.

Ví dụ, tạo một vùng tiêu chí tại ô G1:

GH
Phòng BanLương
Kinh doanh>3500
Marketing<3000

Trong ví dụ trên, chúng ta muốn lấy dữ liệu thỏa một trong hai nhóm điều kiện:
– Phòng Ban = Kinh doanh và Lương > 3500
– Hoặc Phòng Ban = Marketing và Lương < 3000

Lưu ý: Khi có nhiều tiêu đề ở cùng một hàng, Excel coi chúng là AND (và). Khi có tiêu đề trên các hàng khác nhau, Excel coi chúng là OR (hoặc).

3.2. Thực hiện Advanced Filter

  1. Chọn bảng dữ liệu (ví dụ A1:E1000).
  2. Vào Data → Advanced (nằm dưới nút Filter).
  3. Trong hộp thoại:
  4. List range: Đã tự động điền vùng dữ liệu.
  5. Criteria range: Nhập $G$1:$H$3 (vùng tiêu chí).
  6. Copy to: (tùy chọn) nếu muốn sao chép kết quả sang vị trí khác, ví dụ $J$1.
  7. Unique records only: Tick nếu muốn loại bỏ các bản ghi trùng lặp.
  8. Nhấn OK. Kết quả sẽ xuất hiện ở vị trí bạn chỉ định.

3.3. Các lưu ý khi dùng Advanced Filter

Lỗi thường gặpNguyên nhânCách khắc phục
“The criteria range must contain at least one column heading”Tiêu đề trong vùng tiêu chí không khớp với bảng dữ liệuĐảm bảo tiêu đề viết đúng, không có khoảng trắng thừa.
“No records match the criteria”Điều kiện quá nghiêm ngặt hoặc sai cú phápKiểm tra lại dấu >, <, =; dùng dấu ngoặc kép cho chuỗi văn bản (="Kinh doanh").
Kết quả trùng lặpKhông tick “Unique records only”Tick tùy chọn hoặc dùng Remove Duplicates.

4. Lọc Dùng Công Thức (Formula-Based Filter)

Đôi khi, bộ lọc tiêu chuẩn không đáp ứng được yêu cầu phức tạp như tìm các nhân viên có lương nằm trong top 10% hoặc các ngày vào làm cách ngày hiện tại ít hơn 30 ngày. Khi đó, chúng ta có thể tạo một cột trợ giúp dùng công thức, sau đó lọc dựa trên cột này.

4.1. Ví dụ 1: Lọc Top 10% Lương

  1. Thêm một cột mới “% Lương” (cột F).
  2. Ở ô F2 nhập công thức:

excel =PERCENTRANK.INC($E$2:$E$1000, E2)

Kéo công thức xuống hết danh sách. Cột này trả về giá trị từ 0‑1, cho biết vị trí phần trăm của mỗi lương.

How To Create Filter In Excel
How To Create Filter In Excel
  1. Bật AutoFilter và lọc cột “% Lương” → “Number Filters” → “Greater Than or Equal To…” → nhập 0.9.
    Kết quả sẽ hiển thị các nhân viên nằm trong 10% lương cao nhất.

4.2. Ví dụ 2: Lọc Nhân Viên Thâm Niên > 2 Năm

  1. Thêm cột “Thâm Niên (năm)” (cột G).
  2. Công thức (ô G2):

excel =DATEDIF(D2, TODAY(), "y")

Kéo xuống.

  1. Lọc cột G → “Number Filters” → “Greater Than…” → nhập 2.

4.3. Ví dụ 3: Lọc Dòng Chứa Nhiều Từ Khóa

Giả sử muốn lọc các nhân viên có trong “Tên” có chứa “Nguyễn” hoặc “Trần”.

  1. Thêm cột “Kiểm tra Tên” (cột H).
  2. Công thức (ô H2):

excel =OR(ISNUMBER(SEARCH("Nguyễn", B2)), ISNUMBER(SEARCH("Trần", B2)))

Kéo xuống. Kết quả trả về TRUE/FALSE.

  1. Lọc cột H → chọn “TRUE”.

5. Lọc Dữ Liệu Trong Table và PivotTable

5.1. Table (Bảng Định Dạng)

Khi bạn chuyển dữ liệu thành Table (Insert → Table), Excel tự động bật bộ lọc và cung cấp một số tính năng hữu ích:

  • Sắp xếp nhanh: Chỉ cần nhấp vào mũi tên trong tiêu đề.
  • Thêm dòng mới: Khi nhập dữ liệu dưới cùng, Table sẽ tự động mở rộng, bao gồm cả bộ lọc.
  • Tính năng Total Row: Cho phép tính tổng, trung bình, đếm nhanh.

5.2. PivotTable

PivotTable là công cụ mạnh mẽ để tổng hợp và phân tích dữ liệu. Mặc dù không phải là “bộ lọc” truyền thống, nhưng nó cho phép lọc dữ liệu bằng các Slicer và Report Filter.

Cách tạo Slicer:

  1. Chọn bất kỳ ô nào trong PivotTable.
  2. Vào PivotTable Analyze → Insert Slicer.
  3. Chọn các trường muốn tạo slicer (ví dụ “Phòng Ban”, “Ngày vào làm”).
  4. Slicer hiển thị dưới dạng nút nhấn, cho phép lọc nhanh, thậm chí chọn nhiều giá trị cùng lúc.

Slicer còn hỗ trợ kết nối (Report Connections) để đồng thời lọc nhiều PivotTable hoặc Table liên quan.

6. Lọc Tự Động Bằng VBA (Macro)

Đối với những quy trình lặp lại, VBA giúp tự động hoá việc bật, thiết lập và xóa bộ lọc. Dưới đây là một số macro mẫu.

6.1. Macro 1: Lọc Nhân Viên Kinh Doanh Lương > 3500

Sub FilterKinhDoanh() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Sheet1") With ws ' Xóa bộ lọc cũ nếu có If .AutoFilterMode Then .AutoFilter.ShowAllData ' Áp dụng bộ lọc .Range("A1").AutoFilter Field:=3, Criteria1:="Kinh doanh" .Range("A1").AutoFilter Field:=5, Criteria1:=">3500" End With
End Sub

6.2. Macro 2: Advanced Filter và Sao Chép Kết Quả

Sub AdvancedFilterExample() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Sheet1") Dim listRng As Range, critRng As Range, copyToRng As Range Set listRng = ws.Range("A1:E1000") ' Dữ liệu gốc Set critRng = ws.Range("G1:H3") ' Vùng tiêu chí Set copyToRng = ws.Range("J1") ' Nơi sao chép kết quả ws.Range("J1").CurrentRegion.Clear ' Xóa kết quả cũ nếu có listRng.AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=critRng, _ CopyToRange:=copyToRng, _ Unique:=True
End Sub

6.3. Macro 3: Tự Động Lọc Dựa Trên Ô Người Dùng Nhập

Sub FilterByUserInput() Dim ws As Worksheet Dim dept As String, minSalary As Double Set ws = ThisWorkbook.Sheets("Sheet1") dept = InputBox("Nhập tên phòng ban cần lọc:", "Bộ lọc phòng ban") minSalary = InputBox("Nhập mức lương tối thiểu:", "Bộ lọc lương") With ws If .AutoFilterMode Then .AutoFilter.ShowAllData .Range("A1").AutoFilter Field:=3, Criteria1:=dept .Range("A1").AutoFilter Field:=5, Criteria1:=">" & minSalary End With
End Sub

Bạn có thể gán macro này vào nút (Insert → Shapes → Assign Macro) để người dùng chỉ cần nhấn một nút là có ngay bộ lọc mong muốn.

7. Thủ Thuật Và Mẹo Nhanh Khi Dùng Filter

Thủ thuậtMô tảPhím tắt
Bật/tắt AutoFilter nhanhChỉ cần nhấn Ctrl + Shift + L.Ctrl + Shift + L
Lọc theo màuNếu đã tô màu ô, có thể lọc theo màu nền hoặc màu chữ.Trong menu lọc → “Filter by Color”.
Lọc bằng biểu tượngDùng Slicers cho Table (Insert → Slicer). Dễ dàng chọn nhiều giá trị.–
Lọc đa tiêu chí trong một cộtTrong menu lọc → “Text Filters” → “Custom Filter…”, chọn “Or”.–
Xóa tất cả bộ lọcNhấp chuột phải vào bất kỳ tiêu đề cột nào → “Clear Filter”.–
Xem số dòng ẩnKhi bộ lọc đang áp dụng, thanh trạng thái (status bar) sẽ hiển thị “xx of yy records found”.–
Sao chép dữ liệu đã lọcChọn toàn bộ vùng lọc → Alt + ; (chọn các ô hiển thị) → Ctrl + C.Alt + ;

8. Khi Nào Nên Dùng Advanced Filter Thay AutoFilter?

Tình huốngAutoFilterAdvanced Filter
Lọc đơn giản (1‑2 tiêu chí)✅❌
Lọc điều kiện OR (ví dụ: “Phòng = Kinh doanh HOẶC Marketing”)✅ (bằng Custom Filter)✅ (bằng cách đặt tiêu đề trên các hàng khác nhau)
Lọc điều kiện phức tạp (kết hợp AND/OR, hoặc so sánh với giá trị trong ô khác)Hạn chế✅ (có thể dùng công thức trong vùng tiêu chí)
Cần sao chép dữ liệu lọc sang vị trí khácKhông trực tiếp (phải copy‑paste)✅ (tùy chọn “Copy to”)
Cần loại bỏ trùng lặp khi lọcPhải dùng “Remove Duplicates” sau khi lọcCó tùy chọn “Unique records only” ngay trong hộp thoại

9. Lọc Dữ Liệu Khi Dữ Liệu Được Kết Nối Từ Nguồn Ngoài (Power Query)

Trong môi trường Power Query (Get & Transform Data), việc lọc dữ liệu thường được thực hiện trước khi tải vào Excel, giúp giảm khối lượng dữ liệu và tăng tốc độ làm việc.

9.1. Thực hiện lọc trong Power Query

  1. Vào Data → Get Data → From File → From Workbook (hoặc từ nguồn khác).
  2. Khi mở Power Query Editor, chọn cột muốn lọc, nhấn “Filter” (biểu tượng phễu) và thiết lập điều kiện (text, number, date).
  3. Đối với nhiều tiêu chí, nhấn “Advanced” trong menu filter để nhập công thức M (Power Query language) hoặc sử dụng “Add Column → Conditional Column” để tạo cột điều kiện, sau đó lọc cột mới này.
  4. Khi đã hoàn tất, nhấn “Close & Load” để đưa dữ liệu đã lọc vào sheet.

9.2. Ưu điểm của Power Query

  • Xử lý dữ liệu lớn: Không tải toàn bộ dữ liệu vào bộ nhớ Excel.
  • Tự động hoá: Mỗi khi nguồn dữ liệu thay đổi, chỉ cần refresh.
  • Lọc phức tạp: Sử dụng ngôn ngữ M để viết công thức tùy chỉnh.

10. Tổng Kết

Bộ lọc trong Excel không chỉ là một công cụ tiện lợi mà còn là cầu nối giữa việc quản lý dữ liệu thô và việc khai thác thông tin có giá trị. Trong bài viết, chúng ta đã:

  1. Bật và sử dụng AutoFilter – nhanh, dễ, phù hợp cho hầu hết các nhu cầu.
  2. Áp dụng Advanced Filter – cho các tiêu chí phức tạp, lọc OR/AND, sao chép kết quả.
  3. Tạo cột trợ giúp bằng công thức để lọc dựa trên tính toán động (top % lương, thâm niên, tìm từ khóa…).
  4. Khai thác Table và PivotTable cùng Slicer để lọc trực quan, đa dạng.
  5. Tự động hoá bằng VBA – giảm công sức cho các công việc lặp lại.
  6. Sử dụng Power Query để lọc dữ liệu ngay khi nhập, tối ưu hiệu suất.

Hãy thử áp dụng từng kỹ thuật vào dự án thực tế của bạn: bảng doanh thu, danh sách khách hàng, hồ sơ nhân sự, hay bất kỳ tập dữ liệu nào. Khi đã thành thạo, bạn sẽ nhận ra rằng việc lọc dữ liệu không còn là một công việc tẻ nhạt mà trở thành một công cụ chiến lược, giúp bạn đưa ra quyết định nhanh chóng và chính xác.

Chúc bạn thành công trong việc khai thác sức mạnh của bộ lọc 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