Hàm Sum có điều kiện!

leonguyenz

Thành viên mới
Tham gia ngày
2 Tháng tám 2010
Bài viết
4,185
Được thích
7,394
Điểm
560
Nơi ở
#REF
Em file excel đính kèm, muốn tính tổng có điều kiện. em không hình dung ra được tìm điều kiện theo mảng. mong mị người giúp em với!
Nếu cứ tính tổng 2 Size, công thức ở F17
Mã:
=IF(C17="","",SUMPRODUCT(($A$4:$A$10=C17)*OFFSET($A$4:$A$10,,MATCH(--TRIM(LEFT(SUBSTITUTE(E17,"-",REPT(" ",LEN(E17))),2)),$B$3:$V$3,0),,2)))
 

File đính kèm

Tham gia ngày
10 Tháng mười 2017
Bài viết
2,553
Được thích
6,935
Điểm
360
Nơi ở
Sài Gòn
Em file excel đính kèm, muốn tính tổng có điều kiện. em không hình dung ra được tìm điều kiện theo mảng. mong mị người giúp em với!
Góp thêm công thức tính cho nhiều size 1 lúc:
Hoặc:
Mã:
F17=IFERROR(SUM(SUMIF($D$3:$V$3,(FIND("-"&$D$3:$V$3&"-","-"&E17&"-")>0)*$D$3:$V$3,OFFSET($D$3,MATCH(C17,$A$4:$A$10,),))),"")
Kết thúc bằng Ctrl+Shift+Enter.

Hoặc:
Mã:
F17=IFERROR(SUMPRODUCT(SUMIF($D$3:$V$3,(FIND("-"&$D$3:$V$3&"-","-"&E17&"-")>0)*$D$3:$V$3,OFFSET($D$3,MATCH(C17,$A$4:$A$10,),))),"")
Chỉ Enter.

Thân
 

File đính kèm

Lần chỉnh sửa cuối:

nguyenquang28

Thành viên mới
Tham gia ngày
10 Tháng tám 2016
Bài viết
7
Được thích
4
Điểm
165
Tuổi
26
Nếu cứ tính tổng 2 Size, công thức ở F17
Mã:
=IF(C17="","",SUMPRODUCT(($A$4:$A$10=C17)*OFFSET($A$4:$A$10,,MATCH(--TRIM(LEFT(SUBSTITUTE(E17,"-",REPT(" ",LEN(E17))),2)),$B$3:$V$3,0),,2)))
Cám ơn anh nhiều ạ! :):)
Bài đã được tự động gộp:

Góp thêm công thức tính cho nhiều size 1 lúc:
Hoặc:
Mã:
F17=IFERROR(SUM(SUMIF($D$3:$V$3,(FIND("-"&$D$3:$V$3&"-","-"&E17&"-")>0)*$D$3:$V$3,OFFSET($D$3,MATCH(C17,$A$4:$A$10,),))),"")
Kết thúc bằng Ctrl+Shift+Enter.

Hoặc:
Mã:
F17=IFERROR(SUMPRODUCT(SUMIF($D$3:$V$3,(FIND("-"&$D$3:$V$3&"-","-"&E17&"-")>0)*$D$3:$V$3,OFFSET($D$3,MATCH(C17,$A$4:$A$10,),))),"")
Chỉ Enter.

Thân
Cám ơn anh nhiều nha! :)
Bài đã được tự động gộp:

Sao không tách thành 2 cột rồi dùng SUMIF cho khỏe?
Hai cột là 3 với 3.5 riêng phải không anh?
 
Lần chỉnh sửa cuối:

nguyenquang28

Thành viên mới
Tham gia ngày
10 Tháng tám 2016
Bài viết
7
Được thích
4
Điểm
165
Tuổi
26
Góp thêm công thức tính cho nhiều size 1 lúc:
Hoặc:
Mã:
F17=IFERROR(SUM(SUMIF($D$3:$V$3,(FIND("-"&$D$3:$V$3&"-","-"&E17&"-")>0)*$D$3:$V$3,OFFSET($D$3,MATCH(C17,$A$4:$A$10,),))),"")
Kết thúc bằng Ctrl+Shift+Enter.

Hoặc:
Mã:
F17=IFERROR(SUMPRODUCT(SUMIF($D$3:$V$3,(FIND("-"&$D$3:$V$3&"-","-"&E17&"-")>0)*$D$3:$V$3,OFFSET($D$3,MATCH(C17,$A$4:$A$10,),))),"")
Chỉ Enter.

Thân
"(FIND("-"&$D$3:$V$3&"-","-"&E17&"-")>0)*$D$3:$V$3" Anh có thể giải thích giúp em đoạn này với không anh!
 
Tham gia ngày
10 Tháng mười 2017
Bài viết
2,553
Được thích
6,935
Điểm
360
Nơi ở
Sài Gòn
"(FIND("-"&$D$3:$V$3&"-","-"&E17&"-")>0)*$D$3:$V$3" Anh có thể giải thích giúp em đoạn này với không anh!
Đây là đoạn công thức:
Vừa cải tạo lại các size để tương thích:
Untitled1.png
Vừa truy lục so khớp để tạo ra 1 mảng là các size như bạn yêu cầu (được liệt kê tại vùng E17: E33) để cộng.
Untitled2.png

Thường thì ta làm là cắt trực tiếp theo "size" yêu cầu tại E17: E33, ví dụ: E17= "3-3.5-4-7.5-10", ta phải dùng hàm để cắt ra thành 1 mảng {3, 3.5, 4, 7.5, 10}, nhưng công thức sẽ dài hoặc phức tạp hơn tùy thuộc vào loại size liệt kê trong cùng 1 ô nhiều hay ít.

Công thức bạn hỏi thì "mục đích" cũng tạo ra được mảng {3, 3.5, 4, 7.5, 10} (hoặc nhiều hơn nữa) nhưng gọn gàng hơn và không sợ liệt kê loại size nhiều ít.

Trong file kèm tôi lấy công thức tại ô F17 làm ví dụ, và dẫn ra kết quả của từng phần hành chi tiết trong công thức.
Bạn xem chầm chậm các công thức từ trên xuống Vùng H13: H27 sẽ hiểu.

Thân
 

File đính kèm

nguyenquang28

Thành viên mới
Tham gia ngày
10 Tháng tám 2016
Bài viết
7
Được thích
4
Điểm
165
Tuổi
26
Đây là đoạn công thức:
Vừa cải tạo lại các size để tương thích:
View attachment 221434
Vừa truy lục so khớp để tạo ra 1 mảng là các size như bạn yêu cầu (được liệt kê tại vùng E17: E33) để cộng.
View attachment 221436

Thường thì ta làm là cắt trực tiếp theo "size" yêu cầu tại E17: E33, ví dụ: E17= "3-3.5-4-7.5-10", ta phải dùng hàm để cắt ra thành 1 mảng {3, 3.5, 4, 7.5, 10}, nhưng công thức sẽ dài hoặc phức tạp hơn tùy thuộc vào loại size liệt kê trong cùng 1 ô nhiều hay ít.

Công thức bạn hỏi thì "mục đích" cũng tạo ra được mảng {3, 3.5, 4, 7.5, 10} (hoặc nhiều hơn nữa) nhưng gọn gàng hơn và không sợ liệt kê loại size nhiều ít.

Trong file kèm tôi lấy công thức tại ô F17 làm ví dụ, và dẫn ra kết quả của từng phần hành chi tiết trong công thức.
Bạn xem chầm chậm các công thức từ trên xuống Vùng H13: H27 sẽ hiểu.

Thân
Anh giải thích rất chi tiết. Cám ơn anh một lần nữa ạ! Chúc anh và mọi người buổi tối vui vẻ!
 
Top Bottom