Chào các bác, hôm nay em muốn chia sẻ một hàm mà em thấy rất mạnh mẽ nhưng ít được nhắc đến bằng SUMIFS/COUNTIFS, đó là SUMPRODUCT.
Nhiều lúc mình gặp các bài toán mà dữ liệu nó không chỉ đơn giản là cộng theo điều kiện, mà nó lồng ghép nhiều yếu tố, hoặc cần tính toán trên từng cặp phần tử của các mảng. Lúc đó SUMIFS có thể sẽ hơi rối hoặc không đáp ứng được hết.
Ví dụ, giả sử mình có 2 bảng:
- Bảng 1: Danh sách các đơn hàng, có cột Số lượng và cột Đơn giá.
- Bảng 2: Bảng quy đổi, ví dụ 1 cái áo có thể có nhiều mức giá tùy loại vải.
Nếu chỉ dùng SUMIFS, việc liên kết để lấy đúng đơn giá từ Bảng 2 vào Bảng 1 rồi nhân với Số lượng có thể sẽ phức tạp. Nhưng với SUMPRODUCT, nó có thể làm gọn lại:
=SUMPRODUCT((Mảng_Số_Lượng)*(Mảng_Đơn_Giá))Ở đây, Mảng_Số_Lượng và Mảng_Đơn_Giá có thể là kết quả của các phép toán hoặc các hàm khác để lấy ra đúng giá trị cần nhân.
Tất nhiên, SUMPRODUCT còn làm được nhiều hơn thế, ví dụ như đếm các giá trị thỏa mãn nhiều điều kiện mà không cần mảng tạm. Cách dùng cơ bản là:
=SUMPRODUCT(--(Điều_Kiện_1=Giá_Trị_1), --(Điều_Kiện_2=Giá_Trị_2), Mảng_Cần_Tính_Tổng)Dấu -- ở đây có tác dụng ép kiểu TRUE/FALSE thành 1/0 để thực hiện phép nhân.
Các bác đã dùng SUMPRODUCT bao giờ chưa? Có cao kiến gì hay ho hơn thì chia sẻ cho anh em học hỏi với ạ!