Hàm SumIFs và Sumproduct

Liên hệ QC

zztantaibazz

Thành viên chính thức
Tham gia
19/8/13
Bài viết
96
Được thích
46
Nghề nghiệp
M&A Specialist - RM Assitant
Hi mọi người.

Mình thử làm công thức SUMPRODUCT và SUMIF
Mã:
=SUMIFS('Data 113A'!$L$7:$L$20000,'Data 113A'!$P$7:$P$20000,'Theo ĐV'!$D$3,'Data 113A'!$B$7:$B$20000,'Theo ĐV'!$B7,'Data 113A'!$R$7:$R$20000,"<>NORM",'Data 113A'!$R$7:$R$20000,"<>OD01")
Mã:
=SUMPRODUCT('Data 113A'!$L$7:$L$20000*('Data 113A'!$P$7:$P$20000='Theo ĐV'!$M$3)*('Data 113A'!$B$7:$B$20000='Theo ĐV'!$B7)*('Data 113A'!$R$7:$R$20000<>"NORM")*('Data 113A'!$R$7:$R$20000<>"OD01"))

Công thức này dc sử dụng cho 300 Rows.

Mã:
=SUMIFS('Data 113A'!$M$7:$M$20000,'Data 113A'!$P$7:$P$20000,'QH KH'!$F$2,'Data 113A'!$D$7:$D$20000,'QH KH'!$D8)+ SUMIFS('Data 113A'!$N$7:$N$20000,'Data 113A'!$P$7:$P$20000,'QH KH'!$F$2,'Data 113A'!$D$7:$D$20000,'QH KH'!$D8)
Mã:
=SUMPRODUCT('Data 113A'!$M$7:$N$20000*('Data 113A'!$P$7:$P$20000='QH KH'!$F$2)*('Data 113A'!$D$7:$D$20000='QH KH'!$D53))

Công thức này sử dụng cho 3000 Rows.

Với nhiều điều kiện như thế này thì tốc độ 2 hàm hình như là bằng nhau.
Mọi người cho em ý kiến với.
 
Với nhiều điều kiện như thế này thì tốc độ 2 hàm hình như là bằng nhau.
Mọi người cho em ý kiến với.

Chắc chắn với bạn rằng: SUMIF hoặc SUMIFS luôn nhanh hơn SUMPRODUCT, nhất là khi ta tính tổng với nhiều điều kiện và với dữ liệu lớn
Vậy cứ yên tâm mà dùng SUMIF hoặc SUMIFS nhé (tội tình gì phải chơi với SUMPRODUCT, trừ trường hợp đặc biệt nào đó)
 
Như vậy hàm sumproduct là hơi thừa Anh Tuấn nhỉ?
 
Như vậy hàm sumproduct là hơi thừa Anh Tuấn nhỉ?

Sao lại thừa? Tuy rằng cả 2 hàm đều có thể giải quyết được cùng 1 bài toán (trong một số trường hợp) nhưng bản chất 2 hàm này là hoàn toàn khác nhau
Lấy ví dụ bài toán này:

Capture.JPG






























Tính tổng của "A" tại các cột có giá trị = "Thg2"
Tôi không biết bạn sẽ SUMIF ra sao nhưng nếu tôi dùng SUMPRODUCT thì thế này:
Mã:
=SUMPRODUCT(($A$2:$A$20="A")*($B$1:$M$1="Thg 2")*($B$2:$M$20))
 
Một điều nữa là sumproduct sử dụng được linh hoặc các loại hàm để xử lý từng ô riêng lẻ trong mảng, còn sumifs thì hơi hạn chế.

Ví dụ, mình làm được thế này với sumproduct:
=SUMPRODUCT((Month(A1:A10)=1)*(B1:B10))
Chứ với sumif/sumifs thì khó hơn nhiều.
 
Dạ, em đã biết sử dụng thêm một trường hợp của Sumproduct.

Cám ơn nhiều ạ
 
Web KT
Back
Top Bottom