MMULT Thay thế SUMIF trong Google Sheets để có Kết quả Mảng

Trong bài viết này, tôi sẽ giới thiệu cách sử dụng công thức MMULT thay thế công thức SUMIF trong Google Sheets. Chúng ta đã cùng tìm hiểu về cách sử dụng tiêu chí trong MMULT và cách trả về kết quả dưới dạng mảng trong bài viết trước đó. Lần này, bạn sẽ học cách sử dụng MMULT thay thế SUMIF trong Google Sheets một cách đơn giản và hiệu quả.

Cách sử dụng MMULT thay thế SUMIF trong Google Sheets

Đầu tiên, hãy làm quen với cách sử dụng SUMIF trong Google Sheets, mặc dù nó không có quan hệ gì với công thức MMULT mà chúng ta sẽ tìm hiểu sau này.

Ví dụ:
mmult as sumif example 1

Với ví dụ này, bạn sẽ biết cách sử dụng MMULT thay thế SUMIF trong Google Sheets để có Kết quả Mảng.

Đầu tiên, hãy dùng công thức SUMIF cơ bản để tính tổng số lượng của trái cây “Peer” trong cột A.

=SUMIF($A$5:$A$10,"Peer",C5:C10)

Công thức này sẽ tính tổng cột C nếu giá trị trong cột A là “Peer”. Tuy nhiên, công thức này có một hạn chế là gì?

Nếu bạn muốn tính tổng cột D, bạn phải sử dụng công thức SUMIF bổ sung. Để hiểu điều này, hãy xem ảnh chụp màn hình dưới đây.

normal sumif drawback compared to mmult

Để tính tổng cột D cho “Peer”, bạn phải sao chép công thức từ C21 đến D21 và tiếp tục cho các cột khác. Nhưng với công thức MMULT, bạn chỉ cần áp dụng công thức trong ô C21 và nó sẽ tự mở rộng đến ô H21. Làm thế nào? Đầu tiên, hãy xem công thức MMULT để trả về kết quả mảng như một phương án thay thế cho SUMIF.

=mmult(transpose(ArrayFormula(row(B5:B10)^0)),ARRAYFORMULA((A5:A10="Peer")*C5:H10))

Bây giờ chúng ta sẽ phân tích công thức trên. Có hai ma trận trong công thức này và đó là tiêu chuẩn trong MMULT. Ma trận 1 và ma trận 2 lần lượt là gì?

Ma trận 1:

=transpose(ArrayFormula(row(B5:B10)^0))

Khi bạn sử dụng hàm ROW với mảng trong một khoảng như trên, nó sẽ trả về các số hàng tương ứng.

Ở đây, các số hàng tương ứng sẽ là số hàng 5, 6, 7, 8, 9 và 10 theo cột. Bạn không thể sử dụng cột này trong MMULT vì nó sẽ trả về lỗi kích thước ma trận không tương thích.

Hãy nhớ tiêu chuẩn của MMULT:

“Số cột trong ma trận 1 phải bằng số hàng trong ma trận 2.”

Vì vậy, chúng ta phải sử dụng hàm transpose để sắp xếp ma trận theo đúng thứ tự. Ngoài ra, nếu chúng ta sử dụng số hàng trên, chúng ta sẽ có kết quả sai do phép nhân liên quan đến nó.

Vì vậy, tôi đã sử dụng ký hiệu ^ để đưa giá trị lên mũ 0. Điều này có nghĩa là số hàng sẽ được chuyển đổi thành 1 theo ảnh chụp màn hình trên.

Ma trận 2:

=ARRAYFORMULA((A5:A10="Peer")*C5:H10)

Công thức này cho đến phần nhân trả về một mảng kết quả TRUE hoặc FALSE. Nếu tên trái cây trong A5: A10 là “Peer”, nó sẽ trả về TRUE trong hàng tương ứng, ngược lại sẽ trả về FALSE. Ở đây, hàng 5 và 9 thỏa mãn điều kiện này.

Một lần nữa, khi bạn nhân kết quả này với C5: C10, nó sẽ trả về giá trị (Số lượng) từ khoảng ban đầu mỗi khi TRUE xuất hiện vì TRUE được coi là 1 và FALSE được coi là 0 trong phép nhân.

Hai ma trận trên trong MMULT sẽ trả về một kết quả tương tự như SUMIF. Đó là tất cả. Hy vọng bạn đã thích những mẹo trên. Điều này dễ hiểu hơn nếu bạn áp dụng các công thức trên vào Bảng tính của riêng mình.

Related posts