

Mình nhờ các bạn giúp công thức của hàm Sumproduct. Mình có đính kèm theo file ở đây.
Cảm ơn các bạn nhiều
=SUM(($D$1:$O$1=$B18)*(IF($F$16="All",1,$A$2:$A$13=$F$16))*(TEXT($C$2:$C$13,"m/yyyy")=TEXT($F$15,"m/yyyy"))*($D$2:$O$13))


mình làm dựa vào dữ liệu của bạn. cái hàm
OFFSET(($D$2:$D$13),,RIGHT(B19,2)-1)
là nó dơi đi, khi bạn đến SP002, thì hàm right trả về 002 trừ đi 1 tức bằng 1. vậy D213 bị dời đi 1 tức là E2:E13.
còn không thì, mỗi ô gõ một công th71c cho chắc ăn.
ví dụ
E19=SUMPRODUCT(($A$2:$A$13=$F$16)*($C$2:$C$13=$F$15)*($E$2:$E$13)).
cứ như vậy tăng lên
=SUMPRODUCT((TEXT($C$2:$C$13,"MMYYYY")=TEXT($F$15,"MMYYYY"))*(IF($F$16="All",1,$A$2:$A$13=$F$16))*OFFSET($C$2:$C$13,0,MATCH($B18,$D$1:$O$1,0)))
=SUM((TEXT($C$2:$C$13,"MMYYYY")=TEXT($F$15,"MMYYYY"))*(IF($F$16="All",1,$A$2:$A$13=$F$16))*OFFSET($C$2:$C$13,0,MATCH($B18,$D$1:$O$1,0)))
Bạn dùng công thức này tại cell C18 nhé:
Công thức mảng, gõ xong phải bấm tổ hợp Ctrl + Shift + EnterMã:=SUM(($D$1:$O$1=$B18)*(IF($F$16="All",1,$A$2:$A$13=$F$16))*(TEXT($C$2:$C$13,"m/yyyy")=TEXT($F$15,"m/yyyy"))*($D$2:$O$13))
(dùng có dùng SUMPRODUCT thì cũng vẫn phải Ctrl + Shift + Enter thôi)
Nhân tiện topic này, xin được hỏi anh ndu và các bạn:
Nếu tôi sử dụng công thức như sau thì không được:
Nhưng nếu sử dụng công thức mảng sau thì lại được (tham số bên trong dấu ngoặc của 2 hàm SUMPRODUCT và SUM này hoàn toàn giống nhau):Mã:=SUMPRODUCT((TEXT($C$2:$C$13,"MMYYYY")=TEXT($F$15,"MMYYYY"))*(IF($F$16="All",1,$A$2:$A$13=$F$16))*OFFSET($C$2:$C$13,0,MATCH($B18,$D$1:$O$1,0)))
Mã:=SUM((TEXT($C$2:$C$13,"MMYYYY")=TEXT($F$15,"MMYYYY"))*(IF($F$16="All",1,$A$2:$A$13=$F$16))*OFFSET($C$2:$C$13,0,MATCH($B18,$D$1:$O$1,0)))
Nãy giờ em lòng vòng với cái SUMPRODUCT này đau cả đầu, phân tích từng mảng, nhấn F9, thấy chẳng có vấn đề gì cả, vậy mà nó cứ báo #VALUE! Cứ nghĩ SUMPRODUCT đã là hàm mảng rồi nên chẳng thử nhấn Ctrl+Shift+Enter làm chi, hóa ra nhấn Ctrl+Shift+Enter lại được. Hic...Cái nào cũng được cả nhưng tất cả đều phải Ctrl + Shift + Enter mới có tác dụng
Nguyên nhân có thể nằm ở đoạn IF($F$16="All",1,$A$2:$A$13=$F$16)
(tôi cũng chả biết cái gì trong trái ổi của anh Bill nữa. Để lát gọi dt thử xem)