Bạn có biết ?
Theo
www.decisionmodels.com thì khi bạn tính tổng nhiều điều kiện :
1/ Sử dụng Conditional Sum Wizard : Đây là một add-in của Excel và là cách dễ dàng nhất : 744 giây trên máy laptop 500MHz
{=SUM(IF($A$4:$A$10003=$A4,IF($L$4:$L$10003="AA",$D$4:$D$10003),0))}
2/ Sử dụng công thức mảng :
{=SUM(($A$4:$A$10003=$A4)*($L$4:$L$10003="AA")*($D$4:$D$10003))}
Công thức này tốn khoảng 723 giây, vẫn còn quá chậm
3/Sử dụng hàm SUMPRODUCT :
=SUMPRODUCT(($A$4:$A$10003=$A4)*($L$4:$L$10003="AA")*($D$4:$D$10003))
Nhanh hơn công thức mảng, cần khoảng 711 giây
4/ Nếu bạn đặt dữ liệu tại một Sheet khác và thực hiện hàm SUMPRODUCT tại Sheet khác, kết quả tính toán sẽ giảm xuống còn 89 giây
=SUMPRODUCT((Data!$A$4:$A$10003=$A4)*(Data!$L$4:$L$10003="AA")*(Data!$D$4:$D$10003))
5/Sử dụng dãy động :
Bạn thử đặt tên cho các dãy Data!$A$4:$A$10003, Data!$L$4:$L$10003, Data!$D$4:$D$10003, và đây là các Dynamic Range, công thức tính toán sẽ giảm còn 0.673 giây.
Chẳng biết thế nào, vì tôi chưa kiểm chứng, bạn nào đã thử rồi xin cho biết, nhưng qua đây, chúng ta có một sự so sánh nhỏ cho các trường hợp để hiểu thêm vấn đề làm cách nào để Excel có thể tính toán nhanh hơn, phải không các bạn ?