Em làm sai hàm sumproduct ở chỗ nào?

  • Thread starter Thread starter LikeIt
  • Ngày gửi Ngày gửi
Liên hệ QC

LikeIt

Thành viên tiêu biểu
Tham gia
16/6/06
Bài viết
415
Được thích
254
Nghề nghiệp
Others
KG các anh chị, em ít dùng hàng sumproduct, em có một VD và biết VD này sử dụng hàm sumproduct thì tốt hơn. Nhưng trong quá trình làm em chưa hiểu hết bản chất của hàm, mong các anh chị giải thích giùm.

Ngoài ra với dạng bài toán này mình có sủ dụng đc sumif không ạ?

tks
NHT
 

File đính kèm

Công thức của bạn không sai, mà là do bạn chưa cố định dòng cột phù hợp nên khi copy công thức xuống dưới và sang phải thì công thức bị nhảy ô. Bạn sửa lại như sau:
B2 = SUMPRODUCT(($F$9:$F$26)*($B$9:$B$26=$A2)*($C$9:$C$26=B$1))
Sau đó copy công thức xuống dưới và sang phải thử xem.

Bài này có thể dùng Pivotable thay cho công thức!
 
Tại ô B2, bạn dùng công thức sau rồi copy cho các ô khác
=SUMPRODUCT(($F$9:$F$26)*($B$9:$B$26=$A2)*($C$9:$C$26=B$1))
Bạn lưu ý cách dùng địa chỉ tương đối và tuyệt đối để cố định hàng/cột khi copy công thức

TDN
 
Cảm ơn các Anh, với bài này mình có cách giải khác vd dùng đc sumif không anh? Còn privot table em cũng làm nhưng số liệu của nó khoảng hơn 3000row, nên tổng hợp các sếp khó nhìn quá.
 
Cảm ơn các Anh, với bài này mình có cách giải khác vd dùng đc sumif không anh? Còn privot table em cũng làm nhưng số liệu của nó khoảng hơn 3000row, nên tổng hợp các sếp khó nhìn quá.

Tại B2 bạn vào công thức:
PHP:
=SUM(IF($B$9:$B$26=$A2,1,0)*IF($C$9:$C$26=B$1,1,0)*(F9:F26))
Nhấn CTRL + SHIFT + ENTER thay vì nhấn enter.

Dùng Pivot Table sẽ nhanh hơn.
Thân mến!
 

File đính kèm

Tại B2 bạn vào công thức:
PHP:
=SUM(IF($B$9:$B$26=$A2,1,0)*IF($C$9:$C$26=B$1,1,0)*(F9:F26))
Nhấn CTRL + SHIFT + ENTER thay vì nhấn enter.

Dùng Pivot Table sẽ nhanh hơn.
Thân mến!
Ái chà... Người ta hỏi SUMIF chứ có phải cái công thức mãng SUM.. rồi IF như bạn vừa làm đâu ---> Thế chả khác gì SUMPRODUCT cả
Vầy nè:
1> Đặt con trỏ chuột tại dòng 2, vào menu Insert\Name\Define và tạo 1 name:
PHP:
Mov =OFFSET($C$8,MATCH($A2,$B$9:$B$100,0),,COUNTIF($B$9:$B$100,$A2),)
2> Công thức tại cell B2:
PHP:
=SUMIF(Mov,B$1,OFFSET(Mov,,3))
Kéo fill sang phải và xuống dưới
Thế mới đúng là SUMIF đấy
-------------
Yêu cầu duy nhất và bắt buộc phải có: Vùng dử liệu gốc phải được Sort theo cột Month
Cách làm này tuy mất công 1 chút nhưng bảo đảm cho tốc độ tính toán nhanh gấp nhiều lần so với tất cả các kiểu công thức mãng (SUM(IF hoặc SUMPRODUCT...)
 

File đính kèm

Thực sự là một chuyên gia,không cái gì là không thể, đúng là tính với số lượng dòng lớn rất nhanh anh ạ. Em đang học offset nhưng chưa hiểu nó lắm, qua VD này học và hiểu sâu hơn được hàm sumproduct. Hy vọng sau này sẽ lắm bắt được hàm offset của Anh. Cảm ơn các anh, bạn.
NHT
 
em cũng có bài này, hok tìm ra lỗi sai nè, ai chỉ hộ em với, em cảm ơn mọi người
( file gửi kèm)
 

File đính kèm

Chào các ACE
E cũng đang làm tới phần tính Tổng... thì bị kẹt chỗ sumproduct, mong các anh chị chỉ giáo.
Với - SP* quần áo thể thao
- JKT* jacket
Thanks
 

File đính kèm

chào các ace
e cũng đang làm tới phần tính tổng... Thì bị kẹt chỗ sumproduct, mong các anh chị chỉ giáo.
Với - sp* quần áo thể thao
- jkt* jacket
thanks
j10=sumproduct((left(c3:c9;2)="sp")*(j3:j9))
j11=sumproduct((left(c3:c9;3)="jkt")*(j3:j9))
 
Cảm ơn sư huynh nhiều.
Đặt trường hợp e có một số biến mà cần lọc có dấu * hoặc thì ? như bài tập trên thì làm sao ạ?
 
Bạn có thể dùng hàm sumif:
Theo vd trên nhé:
J10=SUMIF(C3:C9;"sp*";J3:J9)
J11=SUMIF(C3:C9;"jkt*";J3:J9)
 
Có thể dùng được SUMPRODUCT vậy ko sư huynh?
 
Mình xem công thức của bạn rồi: hàm này bạn sai ở chỗ ($B$9:$B$26=$A$2) ô A2 không cần lấy tuyệt đối, bạn cần lấy tuyệt đối ô B1 như sau->($C$9:$C$26=$B$1). bạn sửa 2 chỗ này là công thức sẽ đúng
 
Web KT

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

Back
Top Bottom