Chào các bác, dạo này em hay phải làm báo cáo với nhiều điều kiện lồng nhau, mà cứ dùng IF lồng IF mãi thấy nó rối mắt và dễ sai quá. Hôm qua mày mò em mới phát hiện ra sức mạnh của hàm SUMPRODUCT trong trường hợp này. Chia sẻ với mọi người xem sao ạ.
Thông thường, nếu có 2-3 điều kiện, mọi người hay dùng SUMIFS hoặc kết hợp SUM với IF. Nhưng với 4-5 điều kiện trở lên thì đúng là ác mộng.
Với SUMPRODUCT, mình có thể làm gọn lại rất nhiều. Ví dụ, giả sử mình muốn tính tổng cột 'Doanh thu' (Cột D) dựa trên 3 điều kiện: 'Sản phẩm' là 'A' (Cột A), 'Khu vực' là 'Miền Bắc' (Cột B), và 'Tháng' là '1' (Cột C).
Công thức SUMIFS sẽ là:
=SUMIFS(D:D, A:A, "A", B:B, "Miền Bắc", C:C, 1)
Nhưng với SUMPRODUCT, mình có thể viết như sau:
=SUMPRODUCT((A:A="A")*(B:B="Miền Bắc")*(C:C=1)*(D:D))
Cách này nhìn có vẻ hơi lạ lúc đầu, nhưng nó hoạt động dựa trên nguyên tắc là Excel sẽ chuyển các điều kiện đúng/sai (TRUE/FALSE) thành 1/0, sau đó nhân chúng lại với nhau và nhân với giá trị trong cột cần tính tổng. Điều kiện nào sai (0) thì cả tích sẽ bằng 0, chỉ khi tất cả các điều kiện đều đúng (1) thì tích mới bằng 1, và giá trị tương ứng ở cột D mới được cộng vào.
Ưu điểm của SUMPRODUCT là:
- Dễ dàng thêm bớt điều kiện mà không cần thay đổi cấu trúc hàm quá nhiều.
- Có thể xử lý các phép toán phức tạp hơn nếu cần.
Nhược điểm là nếu dùng cho cả cột lớn (như A:A) thì hơi chậm một chút so với SUMIFS. Tuy nhiên, với các file Excel thông thường thì tốc độ vẫn chấp nhận được.
Không biết có cao thủ nào có cách dùng SUMPRODUCT hay hơn hoặc có lưu ý gì khi dùng hàm này không, chia sẻ thêm cho anh em học hỏi với ạ!