Bài viết này sẽ hướng dẫn bạn cách tạo trường bộ lọc cho phép chúng ta gõ văn bản và hiển thị kết quả bộ lọc theo thời gian thực.
Các ô lọc dữ liệu theo thời gian thực.
Chúng ta sẽ có nhiều hơn 1 phương pháp để đạt được kết quả tương tự như ví dụ trên:
Để sử dụng hàm FILTER, bạn cần có phiên bản Excel 365. Bằng cách sử dụng các bảng có mã VBA, bạn không cần phiên bản Excel 365.
Làm cách nào để tạo một hàm lọc dữ liệu bằng cách sử dụng hàm FILTER trong Excel 365?
Trong phần này, chúng ta sẽ thực hiện những việc sau theo thứ tự: Thiết lập một hộp văn bản để nhập nội dung cần lọc. Thiết lập vùng chứa kết quả dữ liệu bộ lọc. Đặt chức năng FILTER để lọc dữ liệu.
Cách thiết lập hộp văn bản
Để có thể thiết lập hộp văn bản trong Excel, chúng ta cần mở tab Nhà phát triển. Để mở tab Nhà phát triển Bạn có thể tham khảo bài viết cách mở tab nhà phát triển.
Sau khi mở tab Nhà phát triển, cách đặt hộp văn bản như sau: Nhấp vào Nhà phát triển > trong nhóm lệnh điều khiển > Nhấn nút chèn > Địa phương Điều khiển ActiveX > Nhấn Hộp văn bản (điều khiển ActiveX)
Tạo hộp văn bản điều khiển activex
Tiếp theo, chúng ta sẽ kết nối Texbox này với 1 ô trên bảng tính Excel. Giả sử chúng ta sẽ kết nối với ô F1.
Chọn hộp văn bản trong khi vẫn chọn chế độ thiết kế. Nhấp chuột phải và chọn Thuộc tính. trong cửa sổ thuộc tính Chọn thuộc tính LinkedCell và nhập ô bạn muốn kết nối là ô F1. Nhấp vào bên ngoài hộp văn bản. sau đó tắt chế độ thiết kế Bấm vào bên trong hộp văn bản một lần nữa. và sau đó thử nhập dữ liệu để kiểm tra kết nối giữa hộp văn bản và ô cần kết nối (F1). Nếu không rõ ràng, có thể theo dõi hoạt ảnh sau.
Kết nối các hộp văn bản và các khu vực trên bảng tính.
Cách thiết lập vùng chứa kết quả lọc
Sau khi thiết lập và kết nối với Hộp văn bản, chúng tôi sẽ chuẩn bị một vùng chứa đầu ra bộ lọc và viết công thức cho vùng này:
Cách sử dụng chức năng bộ lọc để lọc dữ liệu
Công thức FILTER trong phiên bản Excel 365 như sau:
=FILTER(A9:D1008,ISNUMBER(SEARCH(F1,D9:D1008)),"Not found")
Khi chúng ta đặt công thức FILTER như trên, cột FILTER sẽ là cột D với email.
Trong trường hợp bạn muốn lọc và tìm các email bắt đầu bằng chuỗi mà chúng ta đã nhập trong Hộp văn bản, chúng ta cần sửa đổi công thức như sau.
=FILTER(A9:D1008,LEFT(D9:D1008,LEN(F1))=F1,"Not found")
Vì vậy, chúng ta có thể lọc dữ liệu ngay lập tức khi gõ vào hộp văn bản. Phương pháp này chỉ hoạt động đối với những người sử dụng phiên bản Excel 365 của Microsoft. Trong trường hợp bạn không sử dụng Office 365, phương pháp sau sử dụng VBA kết hợp với các hàm Bảng trong Excel sẽ cho bạn kết quả tương tự.
Cách tạo chức năng lọc dữ liệu bằng Lập trình bảng và VBA?
Bằng cách sử dụng mã bảng và VBA để tạo chức năng lọc nhanh. Bạn sẽ vẫn có thể thiết lập các hộp văn bản và kết nối với ô F1 như bình thường. Sau đó, bạn cần định dạng vùng dữ liệu sẽ được lọc dưới dạng bảng bằng cách:
Cách tạo bảng dữ liệu trong Excel
thì trong tab thiết kế bảng (Tab này chỉ xuất hiện khi bạn chọn một bảng.) Phần tên bảng Chúng tôi sẽ đổi tên bảng thành cơ sở dữ liệu (Bạn có thể chọn tên của riêng mình)
Bước tiếp theo chúng ta quay lại thẻ. Nhà phát triển sau đó nhấp vào chế độ thiết kếSau đó nhấp đúp vào hộp văn bản đã tạo. Trong cửa sổ trình soạn thảo VBA, hãy nhập chính xác mã sau.
Private Sub TextBox1_Change()
Application.ScreenUpdating = False
ActiveSheet.ListObjects("database").Range.AutoFilter Field:=4, Criteria1:="*" & ActiveSheet.Range("F1").Value & "*"
Application.ScreenUpdating = True
End Sub