Lọc dữ liệu trong Excel từng là công việc tốn thời gian với tôi. Dùng bộ lọc thủ công, tôi phải nhấp vào từng tiêu đề cột, chọn điều kiện, rồi ẩn các hàng không cần thiết. Mỗi khi dữ liệu thay đổi, toàn bộ quá trình lại phải lặp lại từ đầu. Hàm FILTER trong Excel 2021 và Excel 365 giải quyết vấn đề này bằng một công thức duy nhất, tự động cập nhật mỗi khi dữ liệu nguồn thay đổi.

Cú pháp cơ bản của hàm FILTER
Hàm FILTER có cú pháp đơn giản với ba tham số. Cú pháp đầy đủ là: =FILTER(array, include, [if_empty]). Trong đó, array là vùng dữ liệu bạn muốn lọc, include là điều kiện lọc trả về các giá trị ĐÚNG hoặc SAI, và if_empty là giá trị hiển thị khi không có kết quả nào phù hợp.
Các tham số chi tiết:
array: Vùng dữ liệu cần lọc, bao gồm tất cả các cột bạn muốn hiển thị trong kết quảinclude: Biểu thức điều kiện so sánh với cột cụ thể trong array, trả về mảng ĐÚNG/SAI[if_empty]: Tham số tùy chọn để tránh lỗi nếu không tìm thấy kết quả
Hàm FILTER chỉ hoạt động trên Excel 365 và Excel 2021 trở lên. Các phiên bản cũ hơn như Excel 2019, 2016, 2013 không hỗ trợ hàm này. Kết quả trả về dưới dạng mảng động, tự động mở rộng theo số hàng và cột phù hợp với dữ liệu lọc được.
Lọc theo một điều kiện đơn giản
Ví dụ đầu tiên là lọc danh sách học sinh theo giới tính. Giả sử bạn có bảng dữ liệu từ ô A1 đến D20 với các cột: Họ Tên, Giới Tính, Điểm Thi, Xếp Loại. Cột Giới Tính nằm ở cột B. Để lọc ra tất cả học sinh nam, sử dụng công thức: =FILTER(A2:D20, B2:B20="Nam", "").
Trong công thức này, A2:D20 là toàn bộ vùng dữ liệu cần lọc. Điều kiện B2:B20=”Nam” so sánh mỗi giá trị trong cột Giới Tính với chuỗi “Nam”, trả về ĐÚNG cho các hàng khớp điều kiện. Tham số cuối là hai dấu ngoặc kép liền nhau, nghĩa là hiển thị ô trống nếu không tìm thấy học sinh nam nào.
Kết quả xuất hiện tự động dưới dạng bảng mới, bao gồm tất cả các cột từ A đến D nhưng chỉ có các hàng thỏa mãn điều kiện. Không cần copy paste, không cần ẩn hàng thủ công. Tôi tiết kiệm được 5 phút mỗi khi cần lọc dữ liệu theo một tiêu chí.
Lưu ý quan trọng: Vùng kết quả phải hoàn toàn trống. Nếu có bất kỳ dữ liệu nào trong vùng mà kết quả cần hiển thị, Excel sẽ báo lỗi tràn dữ liệu.
Lọc với nhiều điều kiện kết hợp
Để lọc dữ liệu theo nhiều điều kiện cùng lúc, sử dụng phép nhân giữa các điều kiện. Ví dụ, lọc học sinh nam có điểm thi lớn hơn hoặc bằng 8. Công thức là: =FILTER(A2:D20, (B2:B20="Nam")*(D2:D20>=8), "Không tìm thấy").
Phép nhân giữa hai điều kiện tương đương với toán tử VÀ trong logic. Cả hai điều kiện phải cùng đúng thì hàng đó mới được chọn. Điều kiện đầu tiên B2:B20=”Nam” lọc giới tính, điều kiện thứ hai D2:D20>=8 lọc điểm số. Chỉ các hàng thỏa mãn cả hai mới xuất hiện trong kết quả.
Nếu không có học sinh nào đáp ứng cả hai tiêu chí, thay vì báo lỗi, Excel hiển thị thông báo “Không tìm thấy”. Điều này giúp người xem biết ngay rằng không có dữ liệu phù hợp, thay vì nhìn thấy mã lỗi khó hiểu.
Bạn có thể kết hợp nhiều hơn hai điều kiện bằng cách nhân thêm các biểu thức. Ví dụ: (A2:A20="Lớp 9A")*(B2:B20="Nam")*(D2:D20>=8) lọc học sinh lớp 9A, giới tính nam, điểm từ 8 trở lên. Mỗi điều kiện thêm vào đều phải được bao trong ngoặc đơn riêng biệt.
Lọc với điều kiện hoặc
Trái ngược với điều kiện VÀ, điều kiện HOẶC chỉ cần một trong các tiêu chí đúng. Để lọc học sinh có điểm lớn hơn hoặc bằng 9 HOẶC xếp loại giỏi, sử dụng phép cộng: =FILTER(A2:D20, (D2:D20>=9)+(E2:E20="Giỏi"), "").
Phép cộng giữa hai điều kiện hoạt động như toán tử HOẶC. Nếu ít nhất một điều kiện trả về ĐÚNG, hàng đó được chọn. Trong ví dụ này, học sinh có điểm 9 trở lên sẽ xuất hiện trong kết quả, kể cả khi xếp loại không phải giỏi. Tương tự, học sinh xếp loại giỏi cũng xuất hiện, ngay cả khi điểm thấp hơn 9.
Lưu ý rằng kết quả có thể chứa các hàng trùng lặp nếu cả hai điều kiện đều đúng. Ví dụ, học sinh có điểm 9.5 và xếp loại giỏi vẫn chỉ xuất hiện một lần, không phải hai lần. Excel tự động loại bỏ trùng lặp trong trường hợp này.
Bạn có thể kết hợp cả phép nhân và phép cộng để tạo điều kiện phức tạp. Ví dụ: ((B2:B20="Nam")*(D2:D20>=8))+((B2:B20="Nữ")*(D2:D20>=9)) lọc học sinh nam có điểm từ 8 trở lên HOẶC học sinh nữ có điểm từ 9 trở lên. Các ngoặc đơn rất quan trọng để đảm bảo thứ tự tính toán đúng.
Kết hợp FILTER với hàm SORT
Hàm FILTER có thể làm việc cùng các hàm khác để tạo kết quả mạnh mẽ hơn. Một trong những kết hợp phổ biến nhất là với hàm SORT để sắp xếp kết quả lọc theo thứ tự mong muốn. Ví dụ, lọc học sinh nữ có điểm từ 8 trở lên, sau đó sắp xếp theo điểm giảm dần.
Công thức kết hợp là: =SORT(FILTER(A2:D20, (B2:B20="Nữ")*(D2:D20>=8), ""), 4, -1). Hàm FILTER thực hiện trước, trả về các hàng thỏa mãn điều kiện. Kết quả này trở thành tham số đầu vào cho hàm SORT. Tham số 4 trong SORT chỉ định cột thứ 4 (cột D – Điểm Thi) làm cột sắp xếp. Tham số -1 có nghĩa là sắp xếp giảm dần.
Thứ tự các hàm rất quan trọng. Luôn đặt FILTER bên trong SORT, không phải ngược lại. Nếu viết =FILTER(SORT(...), ...), Excel sẽ sắp xếp toàn bộ dữ liệu trước, sau đó mới lọc, dẫn đến kết quả không như mong muốn.
Bạn có thể thêm hàm UNIQUE vào để loại bỏ các hàng trùng lặp: =UNIQUE(SORT(FILTER(...))). Điều này hữu ích khi dữ liệu nguồn có thể chứa bản ghi trùng nhau. Tuy nhiên, với dữ liệu học sinh, mỗi học sinh thường là duy nhất nên UNIQUE không thực sự cần thiết.
Xử lý lỗi phổ biến với FILTER
Ba lỗi phổ biến nhất khi sử dụng hàm FILTER là lỗi tràn dữ liệu, lỗi tính toán không xác định, và lỗi tham chiếu. Hiểu rõ từng lỗi giúp bạn khắc phục nhanh chóng.
Lỗi tràn dữ liệu xuất hiện dưới dạng mã lỗi này: Lỗi này xảy ra khi vùng kết quả đã có dữ liệu khác. Giả sử bạn đặt công thức FILTER ở ô F2, nhưng ô F3 đã chứa một giá trị nào đó. Khi kết quả lọc cần hiển thị nhiều hàng, Excel không thể ghi đè lên F3, dẫn đến lỗi tràn. Giải pháp là xóa sạch toàn bộ vùng bên dưới và bên phải ô chứa công thức FILTER.
Lỗi tính toán không xác định: Lỗi này xuất hiện khi không có hàng nào thỏa mãn điều kiện lọc và bạn không cung cấp tham số thứ ba. Ví dụ, công thức =FILTER(A2:D20, B2:B20="Khác") sẽ báo lỗi nếu không có giá trị “Khác” trong cột B. Để tránh lỗi này, luôn thêm tham số thứ ba: =FILTER(A2:D20, B2:B20="Khác", "") hoặc =FILTER(A2:D20, B2:B20="Khác", "Không tìm thấy dữ liệu").
Lỗi tham chiếu: Lỗi này xảy ra khi dữ liệu nguồn nằm trong một tệp Excel khác và tệp đó bị đóng. Hàm FILTER cần tệp nguồn phải mở để hoạt động. Nếu bạn lọc dữ liệu từ Sheet2 trong cùng một tệp, lỗi này không xảy ra. Nhưng nếu nguồn dữ liệu ở tệp khác như [TapTinKhac.xlsx]Sheet1!A1:D20, tệp TapTinKhac.xlsx phải được mở trong Excel.
Một lỗi ít phổ biến hơn là lỗi giá trị, xuất hiện khi điều kiện lọc chứa giá trị lỗi hoặc không thể chuyển đổi thành ĐÚNG/SAI. Ví dụ, nếu cột dùng để so sánh chứa một số lỗi tính toán khác, lỗi đó sẽ lan sang FILTER.
Tại sao FILTER nhanh hơn các phương pháp khác
So với bộ lọc thủ công trong Excel, hàm FILTER nhanh hơn rất nhiều khi dữ liệu thay đổi. Bộ lọc thủ công yêu cầu bạn nhấp vào biểu tượng phễu ở tiêu đề cột, chọn các giá trị cần hiển thị, rồi nhấp OK. Mỗi khi dữ liệu nguồn thay đổi, bạn phải xóa bộ lọc cũ và thiết lập lại từ đầu. Với bảng dữ liệu 1000 hàng, quá trình này mất từ 2 đến 3 phút.
Hàm FILTER tự động cập nhật ngay lập tức. Khi một hàng mới được thêm vào dữ liệu nguồn và hàng đó thỏa mãn điều kiện, nó xuất hiện trong kết quả lọc mà không cần thao tác nào thêm. Tôi đã thử với bảng 5000 hàng: bộ lọc thủ công mất 45 giây để áp dụng lại sau mỗi lần thay đổi, trong khi FILTER cập nhật trong vòng 1 giây.
So với hàm VLOOKUP, FILTER linh hoạt hơn vì trả về toàn bộ các cột, không chỉ một cột duy nhất. VLOOKUP yêu cầu bạn chỉ định số thứ tự cột cần lấy giá trị, và chỉ trả về một giá trị mỗi lần. Nếu cần nhiều cột, bạn phải viết nhiều công thức VLOOKUP riêng biệt. FILTER giải quyết tất cả trong một công thức duy nhất.
Bộ lọc nâng cao trong Excel yêu cầu thiết lập vùng tiêu chí riêng biệt, thường ở phía trên hoặc bên cạnh bảng dữ liệu. Bạn phải nhập điều kiện vào các ô trong vùng tiêu chí, sau đó chạy công cụ bộ lọc nâng cao. Quá trình này phức tạp và khó nhớ đối với người mới. FILTER đơn giản hóa mọi thứ thành một công thức ngắn gọn ngay trong ô kết quả.
Áp dụng ngay vào công việc
Hàm FILTER hoạt động tốt nhất với dữ liệu có cấu trúc rõ ràng, mỗi cột đại diện cho một loại thông tin cụ thể. Nếu bảng dữ liệu của bạn có các ô trộn lẫn nhiều loại thông tin, hãy cấu trúc lại trước khi sử dụng FILTER. Đảm bảo không có hàng trống giữa các bản ghi, vì điều này có thể gây ra kết quả không chính xác.
Tham số thứ ba trong FILTER rất hữu ích cho các báo cáo. Thay vì để ô trống hoặc hiển thị lỗi, bạn có thể đặt thông báo có ý nghĩa như “Không có dữ liệu khớp với điều kiện” hoặc “Vui lòng kiểm tra lại bộ lọc”. Điều này giúp người xem báo cáo hiểu ngay tại sao không có kết quả, thay vì nghĩ rằng công thức bị lỗi.
Khi kết hợp FILTER với các hàm khác, luôn kiểm tra kỹ thứ tự các hàm. Hàm nào thực hiện trước sẽ được đặt bên trong. Ví dụ, SORT(FILTER(...)) nghĩa là lọc trước, sau đó sắp xếp kết quả lọc. Ngược lại, FILTER(SORT(...)) sẽ sắp xếp toàn bộ dữ liệu trước, rồi mới lọc kết quả đã sắp xếp.
Hàm FILTER chỉ khả dụng trong Excel 365 và Excel 2021. Nếu bạn chia sẻ tệp Excel với người dùng phiên bản cũ hơn, họ sẽ không thấy kết quả lọc, chỉ thấy mã lỗi hoặc giá trị trống. Trong trường hợp này, hãy cung cấp thêm một bản sao dữ liệu đã lọc sẵn dưới dạng giá trị tĩnh để đảm bảo khả năng tương thích.
