Cách dùng hàm SUMPRODUCT

Liên hệ QC

chairmaine.sheh

Thành viên mới
Tham gia
10/7/08
Bài viết
10
Được thích
0
Các anh ơi, cho em hỏi một điều về công thức SUMPRODUCT. Em có file cần sum theo hai điều kiện, em dùng hàm sumproduct như sau:

=SUMPRODUCT((All!$V$9:$V$493='By Sale office'!$M$3)*(All!$S$9:$S$493='By Sale office'!I4)*(All!$K$9:$K$493))

Trong đó, có một vướng mắc ở cột K (Dùng để cộng lại), cột này chứa cả giá trị là Number và Text, chính vì vậy, hàm cho kết quả là #Value!.

Vậy trong trường hợp này, em phải định nghĩa như thế nào để nó có thể hiểu được, bỏ qua không cộng text vào.

Em rất cám ơn các anh.+-+-+-+
 
Dùng sum(if thôi bạn ơi cái món sumproduct này chưa ai nghĩ ra cả
=SUM(IF(A3:A6="A",IF(B3:B6="B",C3:C6,0)))

Ctrl+shift+enter.

Thân.
 
cam ơn anh rất nhiều, em dùng được rồi, nhưng không hiểu sao như vậy lại dùng được, mà cách em thì không dùng được. Anh có thể trả lời giúp em không?
 
Hàm SUMPRODUCT() là tính tổng sản phẩm, sao có dấu nhân vậy ta?

Hàm SUM nữa có cả IF là thế
sao em thử không thấy được?
các anh giải thich đi
 
cam ơn anh rất nhiều, em dùng được rồi, nhưng không hiểu sao như vậy lại dùng được, mà cách em thì không dùng được. Anh có thể trả lời giúp em không?
Có 3 anh mà +-+-+-+, nếu cái cách của anh Dosnet ok thì anh xin giải thích qua YM nhé : minhtuanhp2003

Thân !
 

File đính kèm

Lần chỉnh sửa cuối:
=SUMPRODUCT(--(All!$V$9:$V$493='By Sale office'!$M$3),--(All!$S$9:$S$493='By Sale office'!I4),(All!$K$9:$K$493))
Kết quả =VALUE DOSNET ah?

SUMPRODUCT((All!$V$9:$V$493='By Sale office'!$M$3),(All!$S$9:$S$493='By Sale office'!I4),if(ISTEXT((All!$K$9:$K$493)),0,(All!$K $9:$K$493)))

không được ALOAN ah, kết quả =0 ???

mà em thử cũng không hỉu?
 
=SUMPRODUCT(--(All!$V$9:$V$493='By Sale office'!$M$3),--(All!$S$9:$S$493='By Sale office'!I4),(All!$K$9:$K$493))
Kết quả =VALUE DOSNET ah?

SUMPRODUCT((All!$V$9:$V$493='By Sale office'!$M$3),(All!$S$9:$S$493='By Sale office'!I4),if(ISTEXT((All!$K$9:$K$493)),0,(All!$K $9:$K$493)))

không được ALOAN ah, kết quả =0 ???

mà em thử cũng không hỉu?

Em gái test bằng cái gì thế ??? Hình như e chưa hiểu cách dùng đúng ko !
Anh test thử hộ e nhé !
 

File đính kèm

trong file khác
SUMPRODUCT((All!$V$9:$V$493='By Sale office'!$M$3),(All!$S$9:$S$493='By Sale office'!I4),if(ISTEXT((All!$K$9:$K$493)),0,(All!$K $9:$K$493)))

thành có dấu *
SUMPRODUCT((All!$V$9:$V$493='By Sale office'!$M$3)*(All!$S$9:$S$493='By Sale office'!I4)*if(ISTEXT((All!$K$9:$K$493)),0,(All!$K $9:$K$493)))

cám ơn chị
còn a DOSNET ah, file down về hỏng không được, tiếc quá...
 
Lần chỉnh sửa cuối:
Mình thì thường hay viết như thế này:

=SUMPRODUCT((<Điều kiện 1>)*(<Điều kiện 2>)[*(<Điều kiện 30>)],<Vùng tính tổng>)

nghĩa là trước <Vùng tính tổng> ta dùng dấu phẩy (, hoặc ;) thay vì dấu *
 
Bạn dùng thử cách này xem, Thân!

anh DOSNET, em không hiểu tại sao lại phải dùng như thế này mới được kết quả đúng, không bị trả về giá trị #value!, ý nghĩa của việc dùng 2 dầu -- liên tục mới đạt được kết quả như ý muốn, Cám ơn anh nhiều.
 
anh DOSNET, em không hiểu tại sao lại phải dùng như thế này mới được kết quả đúng, không bị trả về giá trị #value!, ý nghĩa của việc dùng 2 dầu -- liên tục mới đạt được kết quả như ý muốn, Cám ơn anh nhiều.

Hiểu đơn giản thế này :

--{true,false,true,true,false} <=> -1*-1*{true,false,true,true,false}
<=> 1*{true,false,true,true,false} <=> {1*true,1*false,1*true,1*true,1*false} <=>{1,0,1,1,0}

=> Sumproduct(--{true,false,true,true,false}) <=> Sumproduct({1,0,1,1,0})=3

Thế tại sao không dùng "+" cho gọn :
Vì -*true = -1, -*false = 0 còn +*true = true, +*false = false

=> +{true,false,true,true,false} <=> {+true,+false,+true,+true,+false}
<=> {true,false,true,true,false}

Và tại sao ta không dùng luôn 1* cho gọn mà phải là -1*-1
Vì --{...} thì máy đã có thể tự hiểu được , còn 1*{...} thì máy phải tính, vì vậy --{..} sẽ nhanh và gọn hơn 1*{...}

Và --{true,false,true,true,false} <=> {true,false,true,true,false}+0
 
Lần chỉnh sửa cuối:
Hiểu đơn giản thế này :

--{true,false,true,true,false} <=> -1*-1*{true,false,true,true,false}
<=> 1*{true,false,true,true,false} <=> {1*true,1*false,1*true,1*true,1*false} <=>{1,0,1,1,0}

=> Sumproduct(--{true,false,true,true,false}) <=> Sumproduct({1,0,1,1,0})=3

Thế tại sao không dùng "+" cho gọn :
Vì -*true = -1, -*false = 0 còn +*true = true, +*false = false

=> +{true,false,true,true,false} <=> {+true,+false,+true,+true,+false}
<=> {true,false,true,true,false}

Và tại sao ta không dùng luôn 1* cho gọn mà phải là -1*-1
Vì --{...} thì máy đã có thể tự hiểu được , còn 1*{...} thì máy phải tính, vì vậy --{..} sẽ nhanh và gọn hơn 1*{...}

Và --{true,false,true,true,false} <=> {true,false,true,true,false}+0

Oh, khó hiểu hơn,

Sao lại có true false thế bạn, sao không viết tiếng việt dễ hiểu hơn? và dấy {} là gì vậy?
.
 
Oh, khó hiểu hơn,

Sao lại có true false thế bạn, sao không viết tiếng việt dễ hiểu hơn? và dấy {} là gì vậy?
.

1. Do Sumproduct có dùng điều kiện để lọc nên các điều điện này sau khi thực thi sẽ trả về các giá trị luận lý True và False.
2. Dấu {} để chỉ các đối số trong hàm Sumproduct là các mảng dữ liệu.

TP.
 
Web KT

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

Back
Top Bottom