Đây là một mẹo Filter thú vị. Bạn sẽ học cách lọc dữ liệu dựa trên danh sách trong một Tab khác trong Google Sheets.
Bạn có thể làm cho công thức Filter của mình gọn gàng và dễ đọc bằng cách tuân thủ những mẹo dưới đây của tôi và bạn sẽ học được cách sử dụng tiên tiến hơn với chức năng Filter.
Bạn có biết cách lọc tập dữ liệu bằng các tiêu chí từ một phạm vi cột không?
Ý tôi là, tôi muốn sử dụng các tiêu chí trong một công thức Filter từ phạm vi cột có thể ở cùng một tab hoặc tab khác.
Xin vui lòng xem hình ảnh bên dưới. Danh sách tiêu chí nằm trong cột E và phạm vi cần lọc là cột A và B.
Không dễ dàng để nhập tất cả các tiêu chí vào công thức vì có tổng cộng 10 tiêu chí, cũng như không khuyến khích vì nó có thể làm công thức của bạn dùng chìm.
Nếu bạn có 3-4 tiêu chí, bạn có thể dễ dàng bao gồm chúng trong hàm. Ý tôi là bạn có thể tùy ý cứng và cứng như sau:
=filter(A1:B,regexmatch(A1:A,"plum|cherry|papaya"))
Nhưng khi số lượng tiêu chí rất lớn, giải pháp tốt hơn là nhập tiêu chí vào một cột và tham chiếu cột đó làm tiêu chí. Điều này có thể thực hiện được không?
Đúng vậy! Với sự trợ giúp của chức năng REGEXMATCH, chúng ta có thể làm điều đó một cách dễ dàng.
Tương tự: Regexmatch trong Tiêu chí Filter trong Google Sheets [Ví dụ]
Lọc dữ liệu dựa trên một danh sách trong Tab khác trong Google Sheets
Công thức Filter chính:
=filter(A1:B,regexmatch(A1:A,join("|",E1:E10)))
Trong ví dụ của tôi ở trên, tập dữ liệu (A1:B) và danh sách tiêu chí (E1:E10) nằm trên cùng một tab. Nếu danh sách tiêu chí nằm trên một tab khác, hãy bao gồm tên Tab cùng với phạm vi như thông thường.
Ví dụ:
Tab2!E1:E10
Ở công thức Filter chính của chúng tôi, phạm vi là A1:B và tiêu chí là công thức Regexmatch.
Công thức Regexmatch này có tác dụng gì?
Để hiểu điều đó, hãy xem một ví dụ đơn giản. Giả sử giá trị trong ô A1 là “Inspired”. Công thức REGEXMATCH sau sẽ trả về TRUE nếu bất kỳ từ “Info” hoặc “Inspired” nào xuất hiện trong ô A1.
=regexmatch(A1,"Info|Inspired")
Trong ví dụ chính của chúng tôi (công thức Filter chính), danh sách tiêu chí nằm trong phạm vi E1:E10. Hàm Join kết hợp tất cả các tiêu chí lại với nhau và chúng cách nhau bằng ký hiệu dấu “|”.
=join("|",E1:E10)
Kết quả:
“apple|apricot|banana|blackberry|blackcurrant|blueberry|cherry|coconut|fig|grape”
Hàm REGEXMATCH trả về TRUE cho tất cả các kết hợp phù hợp và FALSE cho các kết hợp không phù hợp.
Hàm Filter lọc các giá trị TRUE. Điều đó có nghĩa là tất cả các giá trị trong phạm vi A1:B sẽ được lọc bất kỳ khi nào có phù hợp trong E1:E10.
Một số mẹo bổ sung
Một vấn đề chưa được giải quyết trong công thức trên là việc khớp chính xác.
Ví dụ, công thức Regexmatch được sử dụng ở trên không thể phân biệt được từ “pineapple” và “apple”. Nó xem xét cả hai như nhau.
Nếu bạn muốn có một bộ lọc chính xác với nhiều tiêu chí như trên, hãy thay đổi công thức như sau.
=filter(A1:B,regexmatch(A1:A,join("|",("^"&E1:E10&"$"))))
Ở đây, tôi đã đặt ký hiệu Caret ^ ở đầu mỗi tiêu chí và ký hiệu Dollar $ ở cuối. Đó là:
^apple$|^cherry$
Vậy là xong. Hy vọng bạn đã thích hướng dẫn này. Cảm ơn bạn đã đọc!
Liên quan:
- Loại bỏ các từ khóa phù hợp trong Google Sheets – Khớp một phần hoặc toàn bộ.
- Thay thế cho toán tử IN trong SQL trong Truy vấn Google Sheets (Không phải IN)
- Cách sử dụng AND, OR với chức năng Filter trong Google Sheets – Sử dụng NÂNG CAO.
- Cách sử dụng Tiêu chí Ngày trong chức năng Filter trong Google Sheets.
- Tự động thêm Tổng cộng vào dữ liệu đã lọc trong Google Sheets.
- Sử dụng chức năng Truy vấn làm phương thức thay thế cho chức năng Filter trong Google Sheets.