Xin hỏi cách sử dụng hàm sumproduct với điều kiện "*" "?"

Liên hệ QC

today100506

Thành viên chính thức
Tham gia
2/6/10
Bài viết
87
Được thích
41
Nghề nghiệp
IT
Xin chào,

Hàm Sumproduct: tính tổng các tích. hiện tại em đã viết được như thế này:

(1) =SUMPRODUCT((A2:A11= "a")*(B2:B11="b")*(C2:C11="c"),E2:E11)
Với A2:A11="a" thì ok.

(2) =SUMPRODUCT((A2:A11= "a*")*(B2:B11="b")*(C2:C11="c"),E2:E11)
Với A2:A11="a*" hoặc A2:A11="a?" thì nó không chịu

Vậy, em phải viết như thế nào nó mới chịu,
hay mình phải kết hợp thêm cái gì trong sumproduct mới đặt được điều kiện là "*", "?"
hay là hàm sumproduct chỉ làm được thế, ko có cách nào triển khai "*", "?" trong sumproduct ???
Xin mọi người nói cho em hiểu. Xin cảm ơn !
 

File đính kèm

Lần chỉnh sửa cuối:
Xin chào,

Hàm Sumproduct: tính tổng các tích. hiện tại em đã viết được như thế này:

(1) =SUMPRODUCT((A2:A11= "a")*(B2:B11="b")*(C2:C11="c"),E2:E11)
Với A2:A11="a" thì ok.

(2) =SUMPRODUCT((A2:A11= "a*")*(B2:B11="b")*(C2:C11="c"),E2:E11)
Với A2:A11="a*" hoặc A2:A11="a?" thì nó không chịu

Vậy, em phải viết như thế nào nó mới chịu,
nếu hàm sumproduct không cho sử dụng các ký tự này, thì mình sẽ dùng hàm nào để viết ct (2)

Xin cảm ơn !
Bạn thay điều kiện A2:A11= "a*" bởi điều kiện LEFT(A2:A11)= "a" là được.
 
trong khi chờ mọi người giải thích, bạn có thể thử với hàm SUMIFS :-=
=SUMIFS(E2:E11,A2:A11,"a*",B2:B11,"b",C2:C11,"c")

Em cảm ơn anh phucbugis đã quan tâm,
Vấn đề là em muốn tìm hiểu học hỏi thêm hàm sumproduct với điều kiện "*" , "?"
Vì em thấy sumif làm được mà sumproduct thì không được,
Mong được hiểu tường tận, xin cảm ơn !
 
Bạn thay điều kiện A2:A11= "a*" bởi điều kiện LEFT(A2:A11)= "a" là được.

Em xin cảm ơn !
Cũng là 1 cách giải quyết !
Nhưng cách này vẫn chưa linh hoạt:

nếu "a?" thì nó sẽ lộ ra chỗ không linh hoạt ngay???
aa, ab, ac, ad, ae =LEFT(A2:A11)= "a" --> đúng
aab, aaac =LEFT(A2:A11)= "a" --> sai

Anh chị có cách nào hay hơn nữa ko ta ^_^

Với cách của anh, sau khi test: nó vẫn trả về 0
=SUMPRODUCT((A2:A11=LEFT(A2:A11)="a")*E2:E11) 'trả về 0
=SUMPRODUCT((A2:A11=LEFT(A2:A11,1)="a")*E2:E11) 'vẫn trả về 0
 
Lần chỉnh sửa cuối:
Em xin cảm ơn !
Cũng là 1 cách giải quyết !
Nhưng cách này vẫn chưa linh hoạt:

nếu "a?" thì nó sẽ lộ ra chỗ không linh hoạt ngay???
aa, ab, ac, ad, ae =LEFT(A2:A11)= "a" --> đúng
aab, aaac =LEFT(A2:A11)= "a" --> sai

Anh chị có cách nào hay hơn nữa ko ta ^_^
Ý của bạn là xét trường hợp chuỗi chỉ có 2 ký tự và bắt đầu bởi chữ a đúng không? Vậy thì thêm 1 điều kiện nữa là LEN(A2:A11)= 2
 
Ý của bạn là xét trường hợp chuỗi chỉ có 2 ký tự và bắt đầu bởi chữ a đúng không? Vậy thì thêm 1 điều kiện nữa là LEN(A2:A11)= 2

Xin chào,

Hàm Sumproduct: tính tổng các tích. hiện tại em đã viết được như thế này:

(1) =SUMPRODUCT((A2:A11= "a")*(B2:B11="b")*(C2:C11="c"),E2:E11)
Với A2:A11="a" thì ok.

(2) =SUMPRODUCT((A2:A11= "a*")*(B2:B11="b")*(C2:C11="c"),E2:E11)
Với A2:A11="a*" hoặc A2:A11="a?" thì nó không chịu

Vậy, em phải viết như thế nào nó mới chịu,
hay mình phải kết hợp thêm cái gì trong sumproduct mới đặt được điều kiện là "*", "?"
hay là hàm sumproduct chỉ làm được thế, ko có cách nào triển khai "*", "?" trong sumproduct ???
Xin mọi người nói cho em hiểu. Xin cảm ơn ! Tập tin đính kèm sumproduct.xlsx (10.1 KB, 0 lần tải) Hiệu chỉnh lần cuối bởi today100506; 27-04-14 lúc 11:39 PM

Ý của em là, em muốn nghiêm cứu cách sử dụng hàm SUMPRODUCT với điều kiện là "*" hoặc "?" ấy mà
vì em test thử hàm sumif thì được, còn hàm sumproduct thì ko được !
nên em thắc mắc, xin giải thích cho em được hiểu thêm ạ !
còn điều kiện em đưa ra là điều kiện mô phỏng thôi !
 
Lần chỉnh sửa cuối:
Em xin cảm ơn !
Cũng là 1 cách giải quyết !
Nhưng cách này vẫn chưa linh hoạt:

nếu "a?" thì nó sẽ lộ ra chỗ không linh hoạt ngay???
aa, ab, ac, ad, ae =LEFT(A2:A11)= "a" --> đúng
aab, aaac =LEFT(A2:A11)= "a" --> sai

Anh chị có cách nào hay hơn nữa ko ta ^_^

Với cách của anh, sau khi test: nó vẫn trả về 0
=SUMPRODUCT((A2:A11=LEFT(A2:A11)="a")*E2:E11) 'trả về 0
=SUMPRODUCT((A2:A11=LEFT(A2:A11,1)="a")*E2:E11) 'vẫn trả về 0
Bạn xem lại các điều kiện!
 
Đây là file mẫu, anh test giúp em !
công thức bạn điền sai mà:
=SUMPRODUCT((LEFT(A2:A11)="a")*(B2:B11="b")*(C2:C11="c");E2:E11)

'---
khi nào ko thể sử dụng Sumifs thì mới nhờ đến Sumproduct chứ, vì khi tính toán với số liệu lớn => ông Sumifs có lẽ sẽ tính toán nhanh hơn.
 

Cảm ơn anh chị phucbugis, nghiaphuc, susu16b... !

Em đã biết 1 cách giải quyết của anh nghiaphuc,

Nhưng em vẫn chưa nhận được cái cuối cùng em muốn biết ...hjxhjx !! Lại phiền anh chị rồi...
Xin chào,

Hàm Sumproduct: tính tổng các tích. hiện tại em đã viết được như thế này:

(1) =SUMPRODUCT((A2:A11= "a")*(B2:B11="b")*(C2:C11="c"),E2:E11)
Với A2:A11="a" thì ok.

(2) =SUMPRODUCT((A2:A11= "a*")*(B2:B11="b")*(C2:C11="c"),E2:E11)
Với A2:A11="a*" hoặc A2:A11="a?" thì nó không chịu

Vậy, em phải viết như thế nào nó mới chịu,
hay mình phải kết hợp thêm cái gì trong sumproduct mới đặt được điều kiện là "*", "?"
hay là hàm sumproduct chỉ làm được thế, ko có cách nào triển khai "*", "?" trong sumproduct ???
Xin mọi người nói cho em hiểu. Xin cảm ơn ! Tập tin đính kèm sumproduct.xlsx (10.1 KB, 0 lần tải) Hiệu chỉnh lần cuối bởi today100506; 27-04-14 lúc 11:39 PM

Ý của em là, em muốn nghiêm cứu cách sử dụng hàm SUMPRODUCT với điều kiện là "*" hoặc "?" ấy mà
vì em test thử hàm sumif thì được, còn hàm sumproduct thì ko được !
nên em thắc mắc, xin giải thích cho em được hiểu thêm ạ !
còn điều kiện em đưa ra là điều kiện mô phỏng thôi !
 
Lần chỉnh sửa cuối:
Ý của em là, em muốn nghiêm cứu cách sử dụng hàm SUMPRODUCT với điều kiện là "*" hoặc "?" ấy mà
vì em test thử hàm sumif thì được, còn hàm sumproduct thì ko được !
nên em thắc mắc, xin giải thích cho em được hiểu thêm ạ !
còn điều kiện em đưa ra là điều kiện mô phỏng thôi !
Vậy thì trả lời luôn để bạn khỏi mất công: Ông SUMPRODUCT này không chơi với mấy cái ký tự đại diện kia.
Còn nguyên nhân của việc trả về 0 thì bạn đã biết rồi, tôi cũng nói thêm một chút là do bạn không đọc kỹ bài trả lời đầu tiên của tôi:
Bạn thay điều kiện A2:A11= "a*" bởi điều kiện LEFT(A2:A11)= "a" là được.
Tôi hướng dẫn bạn thay cái này bởi cái kia, bạn lại thêm cái này vào cái kia nên nó mới như vậy chứ sao.
 
Em xin cảm ơn !
Giờ em đã hiểu thêm 1 tí rồi...!

Vậy thì trả lời luôn để bạn khỏi mất công: Ông SUMPRODUCT này không chơi với mấy cái ký tự đại diện kia.
Còn nguyên nhân của việc trả về 0 thì bạn đã biết rồi, tôi cũng nói thêm một chút là do bạn không đọc kỹ bài trả lời đầu tiên của tôi:

Tôi hướng dẫn bạn thay cái này bởi cái kia, bạn lại thêm cái này vào cái kia nên nó mới như vậy chứ sao.
 
Lần chỉnh sửa cuối:
Vậy thì trả lời luôn để bạn khỏi mất công: Ông SUMPRODUCT này không chơi với mấy cái ký tự đại diện kia.
Còn nguyên nhân của việc trả về 0 thì bạn đã biết rồi, tôi cũng nói thêm một chút là do bạn không đọc kỹ bài trả lời đầu tiên của tôi:

Tôi hướng dẫn bạn thay cái này bởi cái kia, bạn lại thêm cái này vào cái kia nên nó mới như vậy chứ sao.

Hong phải, sumproduct vẫn làm việc với điều kiện *, nhưng nó có vấn đề j đó nên mới đánh ko ra kết quả. Còn nếu thay Left.... cho *.... vẫn ko ra kết quả đâu
 
Lần chỉnh sửa cuối:
Vừa định lập một topic để hỏi thì đọc được bài này, nhờ mọi người chỉ giúp.
Sumifs thì nó sẽ không hiểu điều kiện L1&"*", còn sumproduct thì không biết lồng L1 vào "" như thế nào.
 

File đính kèm

Vừa định lập một topic để hỏi thì đọc được bài này, nhờ mọi người chỉ giúp.
Sumifs thì nó sẽ không hiểu điều kiện L1&"*", còn sumproduct thì không biết lồng L1 vào "" như thế nào.

SUMPRODUCT thế này:
Mã:
=SUMPRODUCT((I3:I41)*(C3:C41<L3)*(LEFT(H3:H41,3)=[COLOR=#ff0000]TEXT(L1,"@")[/COLOR]))
Hoặc:
Mã:
=SUMPRODUCT((I3:I41)*(C3:C41<L3)*(LEFT(H3:H41,3)=[COLOR=#ff0000]""&L1[/COLOR]))
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom