Cách sử dụng hàm Regexmatch trong hàm Averageif trên Google Sheets

Bạn đã biết đến hàm Averageif trên Google Sheets chưa? Đây là một công cụ hữu ích để tính trung bình của các giá trị trong một khoảng dựa trên điều kiện nhất định. Nhưng bạn có biết rằng chúng ta cũng có thể sử dụng hàm Regexmatch để áp dụng nhiều điều kiện văn bản trong cùng một cột trong hàm Averageif không? Vậy thì cùng tìm hiểu thêm về cách sử dụng hàm Regexmatch trong hàm Averageif trên Google Sheets nhé!

Tại sao chúng ta nên sử dụng hàm Regexmatch trong hàm Averageif trên Google Sheets?

Hàm Regexmatch giúp chúng ta áp dụng nhiều điều kiện văn bản trong cùng một cột trong hàm Averageif trên Google Sheets. Điều này cho phép chúng ta tùy chỉnh và xác định trung bình dựa trên nhiều điều kiện khác nhau. Đó là câu trả lời đơn giản của tôi với câu hỏi trên.

Có bất kỳ phương pháp thay thế nào không?

Đương nhiên, chúng ta có thể sử dụng nhiều phương pháp khác để thực hiện công việc tương tự trên Google Sheets. Một phương pháp thay thế là sử dụng hàm Query, vì hàm này cũng hỗ trợ tính trung bình và kết hợp với lệnh MATCHES trong biểu thức chính quy. Bạn cũng có thể kết hợp Average + Filter + Regexmatch hoặc sử dụng hàm database DAVERAGE để thực hiện công việc tương tự. Dưới đây là một số ví dụ để minh họa các phương pháp này.

Regexmatch trong hàm Averageif trên Google Sheets

Đầu tiên, hãy nhập dữ liệu sau vào ô A1:B9 trong một tệp Spreadsheet trên Google Sheets:
Sample Data

Để tìm trung bình của các giá trị (số lượng trong triệu tấn) trong cột B2:B9, chúng ta có thể sử dụng công thức Average sau đây:
=average(B2:B9)

Nhưng nếu bạn chỉ muốn tìm trung bình của các giá trị trong cột B2:B9 nếu các giá trị trong cột A2:A9 là “Australia”, “Russia” hoặc “China”, thì bạn có thể sử dụng hàm Regexmatch trong hàm Averageif trên Google Sheets. Dưới đây là công thức tương ứng:
=ArrayFormula( averageif( regexmatch(A2:A,"Australia|Russia|China"), TRUE, B2:B ) )

Công thức này sẽ trả về giá trị trung bình là 84, đó chính là trung bình của các giá trị tương ứng với các tên quốc gia đã nêu trên.

Regexmatch trong hàm Averageifs trên Google Sheets

Chúng ta cũng có thể sử dụng hàm Regexmatch trong hàm Averageifs trên Google Sheets theo cùng một logic như trên. Cú pháp của hàm Averageifs trên Google Sheets như sau:
=AVERAGEIFS( average_range, criteria_range1, criterion1, [criteria_range2, …], [criterion2, …] )

Trong đó, average_range là cột chứa các giá trị cần tính trung bình, criteria_range1 là công thức Regexmatch ở trên và criterion1 là TRUE. Dưới đây là công thức Averageifs tương ứng với giải thích trên:
=ArrayFormula( averageifs( B2:B, regexmatch(A2:A,"Australia|Russia|China"), TRUE ) )

Đúng vậy! Bạn chỉ cần thay đổi các đối số sử dụng trong công thức Averageif ở trên để sử dụng hàm Regexmatch trong hàm Averageifs.

Phương pháp thay thế bằng hàm Query và Match

Khi bạn muốn sử dụng Averageif hoặc Averageifs với nhiều điều kiện trong cùng một cột, bạn cũng có thể phụ thuộc vào hàm Query. Dưới đây là công thức tương ứng:
=query( A1:B, "Select avg(B) where A matches 'Australia|Russia|China' label avg(B)''",1 )

Công thức trên có ba mệnh đề Query và chúng là SELECT, WHERE và LABEL (mệnh đề cuối cùng là tùy chọn). Trong ba mệnh đề này, mệnh đề SELECT chọn cột (có thể coi là cột average_range) để tính trung bình. Trong mệnh đề WHERE, chúng ta sử dụng biểu thức chính quy MATCHES để so khớp nhiều tiêu chí trong cột A (có thể coi là criteria_range). Tôi sẽ không đi vào chi tiết nhiều vì công thức Query trên đã giải thích rõ nguyên tắc cách thức thay thế hàm Averageif với nhiều điều kiện trong cùng một cột bằng hàm Query.

Ngoài ra, còn hai phương pháp thay thế đơn giản khác để thực hiện công việc trên. Đầu tiên, bạn có thể sử dụng sự kết hợp của Average, Filter và Regexmatch. Khi bạn xem qua dữ liệu mẫu, bạn sẽ thấy rằng cột A chứa một số tên quốc gia và cột B chứa một số lượng sản xuất trong triệu tấn. Ở đây, bạn cần lọc các số lượng sản xuất cho các quốc gia “Australia”, “Russia” và “China”. Như đã giải thích trước đây trong một hướng dẫn Google Sheets của tôi với tiêu đề “Regexmatch trong tiêu chí Lọc trong Google Sheets”, bạn có thể sử dụng công thức sau để thực hiện việc lọc này:
=FILTER( B2:B, regexmatch(A2:A,"Australia|Russia|China") )

Sau đó, bạn chỉ cần bọc công thức này bằng hàm Average.
=average( filter( B2:B, regexmatch(A2:A,"Australia|Russia|China") ) )

Đây là phương pháp thứ hai. Nếu bạn có một dòng tiêu đề trong dữ liệu của mình tương tự như dòng số 1 (A1: B1) trong dải dữ liệu mẫu của tôi, thì tôi khuyên bạn nên sử dụng hàm DAVERAGE như sau:
=daverage( A1:B, 2, {"Countries";"Australia";"Russia";"China"} )

Đây là một phương pháp thay thế thanh lịch cho Averageif với nhiều điều kiện trong cùng một cột.

Hy vọng bạn đã tìm hiểu cách sử dụng hàm Regexmatch trong hàm Averageif trên Google Sheets và ba phương pháp thay thế hữu ích khác. Đó là tất cả. Chúc bạn thành công và vui vẻ!

Nguồn: Crawlan.com

Related posts