Hướng dẫn filter object python
In this tutorial, we will learn about the Python filter() function with the help of examples. Show
Nội dung chính
The Example
filter() SyntaxIts syntax is: filter(function, iterable) filter() ArgumentsThe
filter() Return ValueThe Note: You can easily convert iterators to sequences like lists, tuples, strings etc. Example 1: Working of filter()
Output ('a', 'e', 'i', 'o') Here,
the
Note: It's also possible to filter lists using a loop, however, using the Example 2: Using Lambda Function Inside filter()
Output [2, 4, 6] Here, we have directly passed a lambda function inside Our lambda function returns Example 3: Using None as a Function Inside filter()
Output [1, 'a', True, '0'] When Nếu như trước đây khi muốn lọc dữ liệu và kết xuất dữ liệu ra một vị trí khác thì chúng ta thường sử dụng các công cụ như Filter, Advanced Filter, công thức mảng. Tuy nhiên những công việc này khiến chúng ta tốn nhiều thao tác, nhiều thời gian và đôi khi khó để thực hiện. Có phải bạn mong muốn có 1 hàm trong Excel giúp làm việc này thật đơn giản, thật dễ dàng? Tin vui là Office 365 đã cung cấp cho chúng ta hàm Filter để làm điều này. Vậy hàm này có gì đặc biệt và cách dùng nó như thế nào? Hãy cùng Học Excel Online khám phá nào.
Cấu trúc hàm Filter (Filter function)Hàm này có tác dụng lọc dữ liệu đồng thời kết xuất dữ liệu lọc được sang 1 vị trí khác (ô khác, sheet khác, workbook khác). Dưới đây là một ứng dụng của hàm Filter – ham loc giúp lọc ra các mặt hàng có tên là Táo: Cấu trúc của hàm:=FILTER(array,include,[if_empty])
Những chú ý về đặc điểm của hàm:Sau đây là những chú ý về chức năng filter trong excel:
Những trường hợp xảy ra lỗiTrường hợp 1: Không có kết quả lọc theo điều kiện nêu ra Nếu không có kết quả phù hợp và không quy định tại if_empty, hàm sẽ trả về lỗi #CALC! (không tính toán được) Trong trường hợp này, chúng ta sẽ cần xác định giá trị tại tham số if_empty là rỗng (hai dấu nháy kép liền nhau) để không thể hiện lỗi, hoặc thông báo về việc không tìm thấy kết quả. Trường hợp 2: Có xen lẫn các giá trị khác trong vùng kết quả Vì kết quả của hàm Filter trả về dạng mảng, nên khi có lẫn các giá trị khác trong vùng này (do người dùng tự nhập vào) thì sẽ báo lỗi #SPILL! (kết quả sẽ tràn lên dữ liệu đã có) Do đó khi sử dụng hàm này cần đảm bảo khoảng trống cho vùng kết quả, không có dữ liệu nào nằm lẫn vào vùng này. Hàm FILTER – các ví dụLọc theo 1 điều kiệnTrong ảnh ví dụ ở đầu bài viết, công thức trong ô G5 là
Chúng ta có thể diễn giải công thức này ra một cách dễ hiểu là: lọc trong vùng B5:D13 những dòng mà cột D có giá trị là Red. Chúng ta có thể viết công thức trên như sau (viết điều kiện trực tiếp vào công thức)
Tuy nhiên việc viết điều kiện trực tiếp vào công thức này là không nên, bởi vì khi điều kiện thay đổi, chúng ta phải vào trong công thức để chỉnh sửa. Do vậy, việc để điều kiện ở 1 ô bên ngoài công thức, sau đó tham chiếu tới ô đó sẽ giúp chúng ta có công thức linh hoạt hơn. Lọc theo nhiều điều kiệnChúng ta có thể sử dụng nhiều điều kiện phức tạp để lọc dữ liệu với hàm FILTER. Giả sử, trong vùng dữ liệu B5:D13, chúng ta muốn giữ lại những dòng dữ liệu thoả mãn 2 tiêu chí sau đây cùng lúc:
Công thức chúng ta có thể sử dụng trong trường hợp này là:
Cách viết và hiểu đoạn Hàm Filter có gì đặc biệtPhải nói là rất đặc biệt, rất tuyệt vời. Nếu như bạn đã từng vất vả với công thức mảng, tốn thời gian với ham loc Filter, khó chịu với kết quả của Advanced Filter thì khi sử dụng hàm Filter sẽ thấy được sự khác biệt rất lớn. So với AutoFilter: giảm thời gian thao tácNếu như bạn chưa biết các sử dụng Filter hay các tính năng của Filter thì có thể tham khảo bài viết: Cách lọc dữ liệu trong Excel Như vậy chúng ta thấy để có thể đưa ra được kết quả cho báo cáo chi tiết, các thao tác thường dùng là:
Rất nhiều thao tác và tốn thời gian phải không nào. Để khắc phục nhược điểm tốn thời gian và nhiều thao tác này, chúng ta có thêm AdvancedFilter, có công thức mảng hỗ trợ. Tuy nhiên những công cụ này vẫn có những nhược điểm. So với Advanced Filter: tự động hoàn toàn không cần VBA và hơn thế nữaAdvanced Filter là một công cụ khá tốt để trích lọc dữ liệu theo nhiều điều kiện. Lý do nó chỉ “khá tốt” là:
Các bạn có thể tham khảo một số bài viết sau để thấy tính ứng dụng của Advanced Filter: Tự động lọc danh sách không trùng với Advanced Filter VBA cực kỳ đơn giản Hướng dẫn cách lập báo cáo chi tiết NXT kho bằng Advanced Filter trong Excel Hướng dẫn cách lọc dữ liệu sang sheet khác bằng Advanced Filter trong Excel Do đó khi sử dụng hàm Filter, chúng ta sẽ thấy không cần tạo vùng điều kiện, không cần có VBA, kết quả định dạng theo ý muốn. So với công thức mảng: Đơn giản hơn rất nhiềuChúng ta từng biết tới việc sử dụng công thức dạng mảng như OFFSET để làm báo cáo chi tiết như với bài sau: Hướng dẫn cách viết công thức lập báo cáo chi tiết tự động trong Excel Có thể thấy công thức rất dài và khó. Bởi vì chúng ta phải thực hiện 2 yêu cầu đồng thời trong 1 câu lệnh:
Với những hàm trước đây, để làm được công việc trên cần dùng nhiều hàm, phân tích logic khá phức tạp. Nhưng nay với hàm Filter, việc này trở nên dễ dàng hơn bao giờ hết. Đó là những hướng dẫn sơ qua về cách sử dụng filter trong Excel. Trong các bài viết tiếp theo, Học Excel Online sẽ giúp các bạn hiểu rõ hơn cách sử dụng hàm Filter với nhiều điều kiện để làm báo cáo chi tiết. Các bạn chú ý đón xem nhé. |