SUMPRODUCT và Công thức mảng - Phép tính có nhiều điều kiện

Liên hệ QC
Countif nhiều điều kiện

Nhờ các bạn hướng dẫn giùm mình vấn đề này:
Cột A: stt
Cột B: ngày ( có nhiều dòng cùng ngày )
Cột C: NV
Cột D, E ...: sản phẩm ( mỗi chủng loại sp là 1 hđ )
Mình muốn tạo công thức: đếm số hđ trong cùng 1 ngày - Số hđ từng NV theo từng ngày ( file đính kèm )
Thanks!
 

File đính kèm

Nhờ các bạn hướng dẫn giùm mình vấn đề này:
Cột A: stt
Cột B: ngày ( có nhiều dòng cùng ngày )
Cột C: NV
Cột D, E ...: sản phẩm ( mỗi chủng loại sp là 1 hđ )
Mình muốn tạo công thức: đếm số hđ trong cùng 1 ngày - Số hđ từng NV theo từng ngày ( file đính kèm )
Thanks!

Bạn xem file có đúng ý bạn không nhé
 

File đính kèm

Gủi Bạn!
Ý mình là đếm số lượng hoá đơn, dùng counta hoặc countif hoặc countifs.
Tks!!!
Bạn này cũng vui tính nhỉ! Bạn post bài vào topic SUMPRODUCT và Công thức mảng - Phép tính có nhiều điều kiện, người khác sử dụng SUMPRODUCT để giải bài toán cho bạn, bạn lại nói rằng dùng COUNTA, COUNTIF hoặc COUNTIFS. Như vậy là sao nhỉ?
Xin trả lời cho bạn rằng cả 3 hàm trên đều không giải quyết được bài toán của bạn, trừ trường hợp bạn muốn "dài dòng" thì bạn dùng 4 cái SUMIFS cộng lại, chẳng hạn, tính tổng số SP1 (cho hàng 2):
=SUMIFS('CHI TIET'!$D$2:$D$7,'CHI TIET'!$B$2:$B$7,B2,'CHI TIET'!$C$2:$C$7,C2)
 
Hỏi về lỗi trong cách sử dụng hàm Sumproduct

View attachment sinh vi.xls
mọi người điền nốt hộ em, vs xem hộ em kái công thức ô H32, h33 của em sai ở đâu vs ạ, thanks nhìu!
 

File đính kèm

Mọi người cho em hỏi em điền vào ô H32=SUMPRODUCT((C2:C11=$C$2)*(OR(D2:D11<5,E2:E11<5,F2:F11<5,G2:G11<5))) sao lại kết quả lại không đúng ạ, ai biết tại sao em sai, giải thích hộ em với ạ..
 
Mọi người cho em hỏi em điền vào ô H32=SUMPRODUCT((C2:C11=$C$2)*(OR(D2:D11<5,E2:E11<5,F2:F11<5,G2:G11<5))) sao lại kết quả lại không đúng ạ, ai biết tại sao em sai, giải thích hộ em với ạ..
Với SUMPRODUCT thì không "chơi" OR theo kiểu đó được ---> Nếu muốn AND thì dùng dấu NHÂN (*), muốn OR thì dùng dấu cộng (+)
Như vầy đây:
PHP:
=SUMPRODUCT((C2:C11=$C$2)*(((D2:D11<5)+(E2:E11<5)+(F2:F11<5)+(G2:G11<5))>0))
Cũng may, chỉ có 4 cột nên còn xài được, nếu cở vài chục cột thì không khả thi
 
Với SUMPRODUCT thì không "chơi" OR theo kiểu đó được ---> Nếu muốn AND thì dùng dấu NHÂN (*), muốn OR thì dùng dấu cộng (+)
Như vầy đây:
PHP:
=SUMPRODUCT((C2:C11=$C$2)*(((D2:D11<5)+(E2:E11<5)+(F2:F11<5)+(G2:G11<5))>0))
Cũng may, chỉ có 4 cột nên còn xài được, nếu cở vài chục cột thì không khả thi

Vậy muốn XOR thì thế nào ?thanks
 
Bạn cho mình hỏi chỗ >0 là sao thế bạn, bạn giải thích hộ mình vs, mình mới hc excel nên gà quá, giúp mình với nhá!!!
 
Bạn cho mình hỏi chỗ >0 là sao thế bạn, bạn giải thích hộ mình vs, mình mới hc excel nên gà quá, giúp mình với nhá!!!
Thí nghiệm đi ---> Bỏ chổ >0 xem thử kết quả ra cái gì?
Thông thường với 1 công thức dài mà ta chưa hiểu, ta có thể tách ra từng phần để nghiên cứu, chẳng hạn với công thức:
PHP:
=SUMPRODUCT((C2:C11=$C$2)*(((D2:D11<5)+(E2:E11<5)+(F2:F11<5)+(G2:G11<5))>0))
Bạn hãy bôi đên đoạn ((D2:D11<5)+(E2:E11<5)+(F2:F11<5)+(G2:G11<5)) trên thanh công thức rồi bấm F9 xem nó hiện ra cái gì, suy ngẫm và tự rút ra kết luận vì sao lại phải có thêm đoạn >0
Nói thêm: Đây là các kiến thức về MẢNG, nếu bạn mới tiếp cận với Excel thì sẽ cảm thấy khó hiểu đấy
 
hiểu rồi, may quá, thanks bạn nhìu!!!
 
Sao tôi làm công thức tính tổng theo một mảng cho trước nhưng không liên tục lại không ra kết quả.Mong mọi người giúp đỡ
 

File đính kèm

Sao tôi làm công thức tính tổng theo một mảng cho trước nhưng không liên tục lại không ra kết quả.Mong mọi người giúp đỡ
Đại ca ơi, với số liệu đó, dùng công thức đó, theo ý muội thì ra kết quả đúng theo công thức rồi mà?

Cả 2 công thức đều tính tổng có điều kiện, và điều kiện ở 2 công thức này là so sánh hàng ngang như thế này:

Mã số​
|So sánh|
Mã số​
|Số được cộng|
1​
|<>|
10​
|
0​
|
2​
|<>|
8​
|
0​
|
3​
|<>|
2​
|
0​
|
4​
|=|
4​
|
9.800​
|
5​
|<>| |
0​
|
6​
|<>| |
0​
|
7​
|<>| |
0​
|
8​
|<>| |
0​
|
9​
|<>| |
0​
|
10​
|<>| |
0​
|

Kết quả 9.800


Kể cả khi thay bên cột A bằng thứ tự không liên tục như bảng sau, nó cũng tính theo cách đó:

Mã số​
|So sánh|
Mã số​
|Số được cộng|
1​
|<>|
10​
|
0​
|
8​
|=|
8​
|
1.067.000​
|
7​
|<>|
2​
|
0​
|
4​
|=|
4​
|
9.800​
|
3​
|<>| |
0​
|
9​
|<>| |
0​
|
5​
|<>| |
0​
|
2​
|<>| |
0​
|
6​
|<>| |
0​
|
10​
|<>| |
0​
|

Kết quả: 1.076.800

Nếu đại ca muốn tính ra kết quả khác, phải dùng công thức khác thôi!
 
Sao tôi làm công thức tính tổng theo một mảng cho trước nhưng không liên tục lại không ra kết quả.Mong mọi người giúp đỡ
Công thức mà bạn dùng sai hoàn toàn. Theo như tôi hiểu thì bạn muốn: So sánh từng phần tử ở cột A với từng phần tử ở cột E, nếu trùng thì lấy giá trị cột B
Thế thì phải dùng cái này:
PHP:
=SUM((A2:A11=TRANSPOSE(E2:E11))*(B2:B11))
Công thức mảng ---> Ctrl + Shift + Enter
Hoặc công thức này:
PHP:
=SUMPRODUCT((COUNTIF($E$2:$E$11,$A$2:$A$11))*($B$2:$B$11))
Khi dùng SUMPRODUCT với các điều kiện phức tạp thì khuyên bạn nên dùng dấu nhân để nối các điều kiện
 
Công thức mà bạn dùng sai hoàn toàn.

Theo tôi nhận xét thì yeudoi dùng sai công thức, chứ không phải công thức sai.
Và yeudoi thực sự muốn tính cái gì thì chưa biết. Chỉ biết rằng nếu muốn ra kết quả khác, phải dùng công thức khác.
 
Web KT

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

Back
Top Bottom