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

Liên hệ QC
Chào ACE,

Mình có CT như file đính kèm, nhờ các cao thủ chỉ giáo làm sao để ra kết quả ở D10. Vì CT ở C10 ra không đúng ý mình.
Nếu theo công thức bạn viết ở ô D10 thì tôi hiểu rằng bạn không cần điều kiện ở ô A9, A10.
Như vậy thì có thể không xét điều kiện tại A9, A10 và dùng Sumif
PHP:
C9=SUM(SUMIF($B$2:$B$7,IF($F$2:$F$4=B9,$G$2:$G$4),$C$2:$C$7))
Ctrl + Shift + Enter, Fill xuống
 
Thử sửa công thức tại C9:
Mã:
=SUMPRODUCT(SUMIFS($C$2:$C$7,$B$2:$B$7,TRANSPOSE(OFFSET($G$1,MATCH($B9,$F$2:$F$4,0),,COUNTIF($F$2:$F$4,B9))),$A$2:$A$7,$A$9:$A$10))
Ctrl+Shift+Enter, kéo xuống C10.

Thêm cách nữa:
Mã:
C9=SUM(SUMIFS($C$2:$C$7,$A$2:$A$7,TRANSPOSE($A$9:$A$10),$B$2:$B$7,IF(B9=$F$2:$F$4,$G$2:$G$4)))
Kết thúc bằng Ctrl+Shift+Enter, fill xuống 1 dòng.

Thân

Em được bạn bày thêm cách này:
Mã:
C9=SUMPRODUCT(--(LOOKUP($B$2:$B$7,$G$2:$G$4,$F$2:$F$4)=$B9),$C$2:$C$7)
 
Nếu theo công thức bạn viết ở ô D10 thì tôi hiểu rằng bạn không cần điều kiện ở ô A9, A10.
Như vậy thì có thể không xét điều kiện tại A9, A10 và dùng Sumif
PHP:
C9=SUM(SUMIF($B$2:$B$7,IF($F$2:$F$4=B9,$G$2:$G$4),$C$2:$C$7))
Ctrl + Shift + Enter, Fill xuống
Do em sơ xuất đấy bác, thực ra e muốn có xét cột A nhưng lúc đưa file lên em lại quên tính đến cột A. Nhưng vô tình em lại học được cách sumifs kết hợp transpose. Cách của bác @Phan Thế Hiệp giúp em tận dụng được cả 2 phương án.

Khi cần xét thêm cột A thì em thay hàm transpose là xong

Em rất cám ơn các bác ạ.

213877
 
Do em sơ xuất đấy bác, thực ra e muốn có xét cột A nhưng lúc đưa file lên em lại quên tính đến cột A. Nhưng vô tình em lại học được cách sumifs kết hợp transpose. Cách của bác @Phan Thế Hiệp giúp em tận dụng được cả 2 phương án.

Khi cần xét thêm cột A thì em thay hàm transpose là xong

Em rất cám ơn các bác ạ.

View attachment 213877
Tôi lại hiểu có xét và không xét Vùng A9:A10 như trong file kèm chứ! :)

Thân
 

File đính kèm

  • Sumproduct & sumifs.xlsx
    9.1 KB · Đọc: 13
Tôi lại hiểu có xét và không xét Vùng A9:A10 như trong file kèm chứ! :)

Thân
CT của bác em hiểu là sum(sumifs của A9,Sumifs của A10)=190, bác bỏ sum ra thì là 100 ấy, và nếu xét thì 100 mới đúng bác ạ

Mã:
 C9=SUMIFS($C$2:$C$7,$A$2:$A$7,TRANSPOSE($A$9:$A$10),$B$2:$B$7,IF(B9=$F$2:$F$4,$G$2:$G$4))

213881
 
các anh cho em hỏi có các nào cộng tổng với tình huống thế này:



a​

b​

1​

01/02/2013​

8T3→001

2​

02/02/2013​

8T3→001

3​

03/02/2013​

8T3→001

4​

04/02/2013​

8T3→004



tổng​


nếu cộng thủ công thì tổng là 7.
Cách của em làm là em phải làm ra thêm 1 cột nữa để lấy số sau đó mới cộng lại. Vậy em muốn hỏi là có công thức nào cộng mà không cần phải thêm cột ko ạ.
thanks
 
các anh cho em hỏi có các nào cộng tổng với tình huống thế này:




a​



b​



1​



01/02/2013​


8T3→001


2​



02/02/2013​


8T3→001


3​



03/02/2013​


8T3→001


4​



04/02/2013​


8T3→004




tổng​



nếu cộng thủ công thì tổng là 7.


Cách của em làm là em phải làm ra thêm 1 cột nữa để lấy số sau đó mới cộng lại. Vậy em muốn hỏi là có công thức nào cộng mà không cần phải thêm cột ko ạ.
Cảm ơn
Không cần thêm cột gì ráo, chỉ cần:

=SUM(A1:A5) =10, lận! sao bằng 7?

Thân
 
Bác cho em hỏi -- có nghĩa gì ạ? em rất hay thấy mà ko hiểu
Dựa vào toán học:
  • -(-a) = --a = a
  • Vd:
    • =-TEXT(125,"0")=-125
    • =--TEXT(125,"0")=125
Vận dụng điều này để "ép" a đang là dạng "chuỗi số" (Vd: chuỗi '12345) về thành số tính toán (12,345).
Có nhiều cách đưa "chuỗi số" về dạng số, gồm:
  1. VALUE( "chuỗi số" a )
  2. "chuỗi số" a nhân hay chia 1 (*1 ; /1), hoặc cộng hay trừ (+0 ; -0)
  3. "chuỗi số" a cộng/trừ/nhân/chia/căn/lũy thừa với một "chuỗi số" khác.
    • Vd: =TEXT(10,"0")^TEXT(3,"0")=1000

Thân
 
Chào các bạn. Tôi cần tính tổng theo nhiều điều kiện như file đính kèm, cũng đã sử dụng công thức mảng nhưng không ra được kết quả như mong muốn. Rất mong anh em giúp đỡ. Xin cảm ơn trước. Nội dung cần trợ giúp đã ghi rõ trong file.
 

File đính kèm

  • Vi du.xlsx
    17.1 KB · Đọc: 6
Chào các bạn. Tôi cần tính tổng theo nhiều điều kiện như file đính kèm, cũng đã sử dụng công thức mảng nhưng không ra được kết quả như mong muốn. Rất mong anh em giúp đỡ. Xin cảm ơn trước. Nội dung cần trợ giúp đã ghi rõ trong file.
Bạn giải thích cách tính toán chi tiết thêm:
  1. Ngày 08/04/19 tại sao là 3
  2. Ngày 22/04/19 tại sao là 8
  3. Ngày 06/05/19 tại sao là 10
  4. Ngày 29/07/19 tại sao là 7
Thân
 
Bạn giải thích cách tính toán chi tiết thêm:
  1. Ngày 08/04/19 tại sao là 3 -->Em cần 3 người làm trong 47 ngày cho đầu mục công việc số 1.(cột số ngày LV) bắt đầu từ ngày 8/4 đến ngày 31/5. Do đó tất cả các ngày làm việc trong khoảng thời gian này đều bố trí 3 người. Các đầu việc khác không bố trí cùng thời gian này nên kết quả là 3.
  2. Ngày 22/04/19 tại sao là 8 -- Em cộng tất cả các đầu việc lại, tương tự cho các ngày khác.
  3. Ngày 06/05/19 tại sao là 10
  4. Ngày 29/07/19 tại sao là 7
Thân
 
Ngày 08/04/19 tại sao là 3 -->Em cần 3 người làm trong 47 ngày (cột số ngày LV) bắt đầu từ ngày 8/4 đến ngày 31/5. Do đó tất cả các ngày làm việc trong khoảng thời gian này đều bố trí 3 người.
  1. Ngày 22/04/19 tại sao là 8 -- Em cộng tất cả các đầu việc lại, tương tự cho các ngày khác.
  2. Ngày 06/05/19 tại sao là 10
  3. Ngày 29/07/19 tại sao là 7
À! tôi hiểu ý bạn rồi, phải xem cả bảng thời gian "bắt đầu - kết thúc" và vì nó không sắp thứ tự theo ngày nên ban đầu tôi nhầm chút.
Thử công thức sau:
Mã:
H19=SUMPRODUCT((MMULT(COUNTIF(H$18,">="&$E$3:$F$8+{0,1}),{1;1})=1)*INDEX($B$3:$D$8,,MATCH($G19,$B$2:$D$2,)))
Enter, fill qua phải, rồi copy cả dòng xuống

Thân
 

File đính kèm

  • Vi du.xlsx
    16.8 KB · Đọc: 15
Lần chỉnh sửa cuối:
Bạn trả lời chung chung quá đi!
Ví dụ: Ngày 22/04/19: tôi lấy B3=3 (từ ngày 08/04 đến mốc này), cộng B4=3 (từ ngày 20/04 đến mốc này) chỉ bằng 6 thôi mà???? sao bạn lại tính 8. ---> Em tính nháp cho phần Nhân công 1 trong phần bên trên đó ạ. Ngày 22/4 cần 8 người cho các đầu việc sau: Mục 1 =3 (ô i3), Mục 2 = 3 (ô i4) Mục 4 bằng 2 (ô i6) như vậy sum lại ngày đó là cần 8 người214945.

Giải thích càng chi tiết thì người giải mới biết bạn muốn tính như thế nào là đúng chứ!?

Thân
 
Web KT
Back
Top Bottom