Áp dụng hàm SUMPRODUCT để tính ĐG bình quân gia quyền liên hoàn Giả sử ta có 2 Sheet, một Sheet là DMMH có chứa mã MH và các số dư đầu kỳ.. Tại Sheet này ta đặt 3 tên : TonMaMH cho cột
Trang 1Áp dụng hàm SUMPRODUCT để tính
ĐG bình quân gia quyền liên hoàn
Giả sử ta có 2 Sheet, một Sheet là DMMH có chứa mã MH và các số dư đầu kỳ Tại Sheet này ta đặt 3 tên : TonMaMH cho cột chứa Mã MH, TonDauTG cho trị giá tồn đầu kỳ, TonDauSL cho số lượng tồn đầu kỳ
Sheet thứ 2 là Sheet NhapXuatHH, Sheet này dùng để nhập các dữ liệu về Nhập Xuất HH phát sinh trong tháng
Tại Sheet này ta có các cột sau : Cột K là Mã MH, cột M là Số Lượng Nhap, cột N
là TGNhap, cột O là SLXuat, cột Q là TGXuat
Tại Cell đầu tiên tính đơn giá vốn, giả sử là Cell K8, ta có công thức sau :
=IF(OR(K8="",SUMIF(TonMaMH,K8,TonDauSL)=0),0,SUMIF
(TonMaMH,K8,TonDauTG)/SUMIF(TonMaMH,K8,TonDauSL))
Bắt đầu Cell K9, công thức sẽ trở thành :
Trang 2=IF(K9="",0,(SUMIF(TonMaMH,K9,TonDauTG)+SUMPRODUCT
(($K$8:K8=K9)*($N$8:N8-$Q$8:Q8)))/(SUMIF(TonMaMH,K9,TonDauSL)+SUMPRODUCT(($K$8:K8=K
9 )*($M$8:M8-$O$8:O8))))
Một cách khác để rút gọn công thức là đặt tên cho từng đoạn công thức nhu sau :
Bạn đặt con trỏ ngay tại Cell đầu tiên áp dụng công thức, trong File gửi lên diễn đàn, tôi chọn Cell K8
Đặt tên cho các công thức sau :
SLDuDau = SUMPRODUCT((TonMaMH=NhapXuatHH!$K8)*TonDauSL) TGDuDau = SUMPRODUCT((TonMaMH=NhapXuatHH!$K8)*TonDauTG) Công thức trong Cell K8 sẽ trở thành :
=IF(OR(K8="",SLDuDau=0),0,TGDuDau/SLDuDau)
Bây giờ, ta đặt con trỏ tại Cell K9, và tiếp tục đặt tên cho công thức :
SLDuDau+SUMPRODUCT((NhapXuatHH!$K$8:K8=NhapXuatHH! K9 )*(NhapXuatHH!$M$8:M8-NhapXuatHH!$O$8:O8))
Trang 3TGDuCuoi = TGDuDau+SUMPRODUCT((NhapXuatHH!$K$8:K8=NhapXuatHH! K9 )*(NhapXuatHH!$N$8:N8-NhapXuatHH!$Q$8:Q8))
Công thức tại Cell K9 sẽ được viết thành :
=IF(OR(K9="",SLDuCuoi=0),0,TGDuCuoi/SLDuCuoi)