Giúp mình với hàm Sumproduct, index và match

Liên hệ QC

springrain836

Thành viên mới
Tham gia
2/8/08
Bài viết
38
Được thích
26
Kính gửi các anh em GPE,

Mình có bài toán tính tiền thế này

Mặt hàng - Giá tiền đơn vị (đ)
MH1 - 10000
MH2 - 40000
MH3 - 70000
MH4 - 20000

Khi bán hàng số lượng

MH3 - 4
MH1 - 2
MH4 - 10

Bây giờ mình muốn tính xem bán được 3 mặt hàng tổng số tiền là bao nhiêu, kết quả kiểu như 70000*4 + 10000*2 + 20000*10 = 500000 (đ)

Mình loay hoay với sumproduct, index và match vẫn chưa ra, nhờ anh em GPE giúp.
Xin cảm ơn.
 

File đính kèm

Theo mình thì cách đơn giản nhất là bạn thêm một cột tính tiền của từng mặt hàng (chỉ đơn giản là sử dụng VLOOKUP), sau đó cộng các kết quả trên cột này lại (cũng chỉ đơn giản là hàm SUM) sẽ tính được tổng tiền.
 
Đúng là trường hợp thêm 1 cột thì đơn giản, nhưng mình nghĩ có cách dùng hàm kết hợp 3 hàm trên sẽ tốt hơn nhiều. Nếu nhiều khách hàng thì dữ liệu sẽ lưu ở nhiều dòng, việc sinh thêm dòng hoặc cột phụ tính cũng làm phức tạp thêm.
 
đúng là trường hợp thêm 1 cột thì đơn giản, nhưng mình nghĩ có cách dùng hàm kết hợp 3 hàm trên sẽ tốt hơn nhiều. Nếu nhiều khách hàng thì dữ liệu sẽ lưu ở nhiều dòng, việc sinh thêm dòng hoặc cột phụ tính cũng làm phức tạp thêm.
thực ra rất đơn giản trong trường hợp này
PHP:
=sumproduct(lookup($c$15:$c$17,$a$3:$a$6,$b$3:$b$6),$d$15:$d$17)
 
Lần chỉnh sửa cuối:
Cảm ơn bạn Lê Duy Thương,
Trường hợp mà các mã hàng theo bảng giá đơn vị không theo quy luật dạng MH1, MH2, MH3, MH4, MH5, MH6 mà ở dạng MH1, H1, VP1, MH2, VP2, H2 thì có thể giải quyết bằng công thức gì hả bạn?
 
Cảm ơn bạn Lê Duy Thương,
Trường hợp mà các mã hàng theo bảng giá đơn vị không theo quy luật dạng MH1, MH2, MH3, MH4, MH5, MH6 mà ở dạng MH1, H1, VP1, MH2, VP2, H2 thì có thể giải quyết bằng công thức gì hả bạn?
thì thêm như thế này thôi(kết thúc bằng CTRL+shifl+enter)
PHP:
=SUMPRODUCT(--IF(ISERROR(MATCH($C$15:$C$17,$A:$A,0)),0,LOOKUP($C$15:$C$17,$A$3:$A$7,$B$3:$B$7)),$D$15:$D$17)
không biết ai có cách khác không
 
Trường hợp này thì kết quả đúng, nhưng hơi bất tiện 1 tý vì nhiều khách hàng. Mình nghĩ có thể có 1 cách tính tự động nào đấy
 
Theo mình hiểu thì kết quả liền nhau thì vẫn xử lý được 1 lần bằng Ctrl+Shift+Enter, trường hợp bố trí kết quả tính tổng tiền theo khách hàng ở dạng rời rạc không biết có áp dụng được như thế không.
Mình thử lại công thức của bạn thêm 1 lần nữa với danh mục của bảng giá đơn vịMH1,MH2,VP1,MH3,VP2,H1,VP3,H2,MH4
với danh mục bán hàng VP3,MH1,H2 thì không ra kết quảView attachment Vidubanhang(1).xls
 
Theo mình hiểu thì kết quả liền nhau thì vẫn xử lý được 1 lần bằng Ctrl+Shift+Enter, trường hợp bố trí kết quả tính tổng tiền theo khách hàng ở dạng rời rạc không biết có áp dụng được như thế không.
Mình thử lại công thức của bạn thêm 1 lần nữa với danh mục của bảng giá đơn vịMH1,MH2,VP1,MH3,VP2,H1,VP3,H2,MH4
với danh mục bán hàng VP3,MH1,H2 thì không ra kết quảView attachment 58142
dữ liệu cần sort theo từ a--z thì kq đúng ngay
bạn nghiên cứa thêm hàm lookup nhé
 
Đúng là mình sơ ý không nhìn kỹ lại công thức.
Trường hợp bảng giá đơn vị nhập theo ngày nên cố định ở dạng như vậy vì liên quan đến quản lý, việc nhập mã hàng theo từng loại hàng MH, VP, H tăng lên theo ngày nhập nhưng thứ tự của chúng thì ko ở dạng sort. Có cách giải quyết không bạn?
 
Cảm ơn mọi người, tôi đã hỏi và làm được rồi,

Công thức cũng đơn giản: =SUMPRODUCT(SUMIF(A2:A10,D2:D4,B2:B10),E2:E4)

Trong đó D2:D4 và E2:E4 là mã hàng và số lượng bán cho khách,
 
Đúng là mình sơ ý không nhìn kỹ lại công thức.
Trường hợp bảng giá đơn vị nhập theo ngày nên cố định ở dạng như vậy vì liên quan đến quản lý, việc nhập mã hàng theo từng loại hàng MH, VP, H tăng lên theo ngày nhập nhưng thứ tự của chúng thì ko ở dạng sort. Có cách giải quyết không bạn?
như tôi đã nơi hàm lookup dữ liệu cần được xếp theo trình tự từ bé đến lớn và từ a--z
thì mới giải quyết được
 
Web KT

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

Back
Top Bottom