Làm cách nào để lọc dữ liệu từ lựa chọn danh sách thả xuống trong Excel?
Trong Excel, hầu hết chúng ta có thể lọc dữ liệu bằng cách sử dụng tính năng Bộ lọc. Tuy nhiên, bạn đã bao giờ cố gắng lọc dữ liệu từ danh sách thả xuống lựa chọn chưa? Ví dụ: khi tôi chọn một mục từ danh sách thả xuống, tôi muốn các hàng tương ứng của nó sẽ được lọc ra như ảnh chụp màn hình sau. Bài viết này, tôi sẽ nói về cách lọc dữ liệu bằng cách sử dụng danh sách thả xuống trong một hoặc hai trang tính.
Lọc dữ liệu từ lựa chọn danh sách thả xuống trong một trang tính với các công thức trợ giúp
Lọc dữ liệu từ lựa chọn danh sách thả xuống trong hai trang tính với mã VBA
Lọc dữ liệu từ lựa chọn danh sách thả xuống trong một trang tính với các công thức trợ giúp
Để lọc dữ liệu từ danh sách thả xuống, bạn có thể tạo một số cột công thức trợ giúp, vui lòng thực hiện lần lượt theo các bước sau:
1. Đầu tiên, hãy chèn danh sách thả xuống. Bấm vào ô mà bạn muốn chèn danh sách thả xuống, sau đó bấm Ngày > Xác nhận dữ liệu > Xác nhận dữ liệu, xem ảnh chụp màn hình:
2. Trong cửa sổ bật ra Xác nhận dữ liệu hộp thoại, bên dưới Cài đặt tab, chọn Danh sách từ Cho phép thả xuống, sau đó nhấp vào để chọn danh sách dữ liệu bạn muốn tạo danh sách thả xuống dựa trên, xem ảnh chụp màn hình:
3. Và sau đó nhấp vào OK , danh sách thả xuống được chèn cùng một lúc và chọn một mục từ danh sách thả xuống, sau đó nhập công thức này: = ROWS ($ A $ 2: A2) (A2 là ô đầu tiên trong cột chứa giá trị danh sách thả xuống) vào ô D2, sau đó kéo chốt điền xuống các ô để áp dụng công thức này, xem ảnh chụp màn hình:
4. Tiếp tục nhập công thức này: = IF (A2 = $ H $ 2, D2, "") vào ô E2, sau đó kéo chốt điền xuống để điền công thức này, xem ảnh chụp màn hình:
Chú thích: Trong công thức trên :A2 là ô đầu tiên trong cột chứa giá trị danh sách thả xuống ,H2 là ô nơi đặt danh sách thả xuống, D2 là công thức cột trợ giúp đầu tiên.
5. Và sau đó nhập công thức này: = IFERROR (NHỎ ($ E $ 2: $ E $ 17, D2), "") vào ô F2, sau đó kéo chốt điền xuống các ô để điền công thức này, xem ảnh chụp màn hình:
Chú thích: Trong công thức trên: E2: E17 là ô công thức trợ giúp thứ hai, D2 là ô đầu tiên trong cột công thức trợ giúp đầu tiên.
6. Sau khi chèn các cột công thức trợ giúp, bạn sẽ xuất kết quả đã lọc vào một vị trí khác, vui lòng áp dụng công thức này: =IFERROR(INDEX($A$2:$C$17,$F2,COLUMNS($J$2:J2)),"") vào ô J2, sau đó kéo chốt điền từ J2 sang L2 và bản ghi đầu tiên của dữ liệu dựa trên danh sách thả xuống đã được trích xuất, xem ảnh chụp màn hình:
Chú thích: Trong công thức trên: A2: C17 là dữ liệu ban đầu bạn muốn lọc, F2 là cột công thức trợ giúp thứ ba, J2 là ô mà bạn muốn xuất kết quả bộ lọc.
7. Và sau đó tiếp tục kéo chốt điều khiển điền xuống các ô để hiển thị tất cả các bản ghi đã lọc tương ứng, xem ảnh chụp màn hình:
8. Từ bây giờ, khi bạn chọn một mục từ danh sách thả xuống, tất cả các hàng dựa trên lựa chọn này sẽ được lọc cùng một lúc, xem ảnh chụp màn hình:
Lọc dữ liệu từ lựa chọn danh sách thả xuống trong hai trang tính với mã VBA
Nếu ô danh sách thả xuống của bạn trong Trang tính1 và dữ liệu được lọc trong Trang tính2, khi chọn một mục từ danh sách thả xuống, trang tính khác sẽ được lọc ra. Làm thế nào bạn có thể hoàn thành công việc này trong Excel?
Mã VBA sau có thể giúp bạn, vui lòng làm như sau:
1. Bấm chuột phải vào tab trang tính có chứa ô danh sách thả xuống, sau đó chọn Mã Chế độ xem từ menu ngữ cảnh, trong Microsoft Visual Basic cho các ứng dụng cửa sổ, sao chép và dán mã sau vào Mô-đun trống:
Mã VBA: Lọc dữ liệu từ lựa chọn danh sách thả xuống trong hai trang tính:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
On Error Resume Next
If Not Intersect(Range("A2"), Target) Is Nothing Then
Application.EnableEvents = False
If Range("A2").Value = "" Then
Worksheets("Sheet2").ShowAllData
Else
Worksheets("Sheet2").Range("A2").AutoFilter 1, Range("A2").Value
End If
Application.EnableEvents = True
End If
End Sub
Chú thích: Trong đoạn mã trên: A2 là ô chứa danh sách thả xuống và Sheet2 là trang tính chứa dữ liệu bạn muốn lọc. Con số 1 trong kịch bản: Tự động lọc 1 là số cột mà bạn muốn lọc dựa trên. Bạn có thể thay đổi chúng theo nhu cầu của bạn.
2. Từ bây giờ, khi bạn chọn một mục từ danh sách thả xuống trong Sheet1 và dữ liệu tương ứng sẽ được lọc ra trong Sheet2, hãy xem ảnh chụp màn hình:
Công cụ năng suất văn phòng tốt nhất
Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian. Bấm vào đây để có được tính năng bạn cần nhất...
Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều
- Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
- Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
- Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!