SumProduct theo điều kiện (1 người xem)

  • Thread starter Thread starter vnproc
  • Ngày gửi Ngày gửi

Người dùng đang xem chủ đề này

vnproc

Thành viên hoạt động
Tham gia
1/2/11
Bài viết
150
Được thích
6
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
 

File đính kèm

Bạn thử công thức này
C18=SUMPRODUCT(($A$2:$A$13=$F$16)*($C$2:$C$13=$F$15)*OFFSET(($D$2:$D$13),,RIGHT(B19,2)-1))
kéo xuống
còn cái vụ dịnh dạng ngày ở F15 và cột C nó không hiểu lẫn nhau thì bạn tự giải quyết nha
sorry nha, thêm số 2 vào hàm right nha bạn
 

File đính kèm

Lần chỉnh sửa cuối:
Cái này nếu thay đổi mã sản phẩm thì hình như không được.
 
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

Bạn dùng công thức này tại cell C18 nhé:
Mã:
=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))
Công thức mảng, gõ xong phải bấm tổ hợp Ctrl + Shift + Enter
(dùng có dùng SUMPRODUCT thì cũng vẫn phải Ctrl + Shift + Enter thôi)
 

File đính kèm

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 D2:D13 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
 
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 D2:D13 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

Thiếu trường hợp Code = "All" đồng chí à!
 
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:
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)))
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ã:
=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é:
Mã:
=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))
Công thức mảng, gõ xong phải bấm tổ hợp Ctrl + Shift + Enter
(dùng có dùng SUMPRODUCT thì cũng vẫn phải Ctrl + Shift + Enter thôi)

Cảm ơn Anh rất nhiều.
 
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:
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)))
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ã:
=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)))

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)
 
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)
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...

(Nhân tiện gọi cho bác Bill, anh hỏi thêm về cái vụ sai số Epsilon và SUMIF bị lỗi bữa trước luôn anh nhé)
 

Bài viết mới nhất

Back
Top Bottom