小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

先進先出算成本的Excel VBA自定義函數(shù)

 yuxinrong 2024-12-16

        在進銷存管理中,先進先出法計算銷售成本復(fù)雜。VBA編寫的自定義函數(shù)完美解決難題,考慮入庫表所有批次價格和銷售表已賣數(shù)量。代碼可插入Excel模塊,另存為啟用宏的excel工作簿類型即可使用。

        在進銷存管理中,最難、最復(fù)雜的一個工作就是根據(jù)銷售數(shù)量,用先進先出法計算銷售成本。

如下圖所示在銷售表中根據(jù)出庫數(shù)量計算成本金額。

先跟一起了解先進先出的計算原理。

先進先出:就是先入庫的產(chǎn)品先出庫,計算成本價時優(yōu)先。

【例】如下圖所示,A產(chǎn)品先后入庫3個批次,每次的價格都不同。

情形一,A產(chǎn)品第一次銷售20個,因為A的第1批進了50個,所以可以全部按該批次的價格算成本,成本應(yīng)為:

=20*2=40

情形二,A產(chǎn)品第一次銷售51個,那么第一批進的不夠用,所以要從第二批拿出一個算成本。成本總額為:

50*2+1*5=104

情形三:A產(chǎn)品第一次銷售70個,前兩批都不夠用,所以得從第三批中拿出10個算成本。

=50*2+10*4+10*9=230

情形4:A產(chǎn)品后續(xù)又銷售了5個,因為前面已把前2批貨賣完了,所以直接從第3批(價格為9)中拿貨并計算成本。

=5*9=45

以后再銷售以此類推。

如果你沒從事過會計,估計看的有點暈了。這個公式不但要考慮入庫表的所有批次價格,而且還要考慮銷售表已賣的數(shù)量。所以你可以想象用Excel公式來設(shè)置有多么的難。如果都用手工,一個幾百行的小表也會花費你一天的時間。

為了解決這個,用VBA編寫了一個自定義函數(shù)。完美解決了先進先出算成本的難題。

=成本(H2,H$1:H2,I$1:I2,J$1:J1,B$2:B$18,C$2:C$18,D$2:D$18)

語法:

成本商品名稱,商品區(qū)域,銷量區(qū)域,已計算成本區(qū)域,入庫表商品名稱,入庫表數(shù)量區(qū)域,入庫表單價區(qū)域)

參數(shù)說明:

  • 商品名稱:引用單元格中的商品名稱
  • 商品區(qū)域銷售表中截止本行之前的商品列2行區(qū)域,鎖定開始行,如H$1:H2
  • 銷量區(qū)域:銷售表中截止本行之前的銷量2行區(qū)域
  • 已計算成本區(qū)域輸入公式位置的上一個單元格,要用區(qū)域的形式錄入,如:J$1:J1,
  • 入庫表商品名稱:入庫表中商品名稱或商品編號區(qū)域(商品的唯一標(biāo)識)
  • 入庫表入庫數(shù)量區(qū)域:入庫表中商品入庫數(shù)量所在列區(qū)域
  • 入庫表單價區(qū)域:入庫表中商品單價所在列區(qū)域(商品的唯一標(biāo)識)
如果你也想在自已的excel中使用這個函數(shù),就跟蘭色一起操作吧。
第1步 復(fù)制下面代碼
Function 成本(商品, 已銷商品rg As Range, 已銷售數(shù)量rg As Range, 已成本rg, 商品rg As Range, 入庫數(shù)量rg As Range, 單價rg As Range)
Dim 入總, 總數(shù)量, 總成本, 銷售數(shù)量 As Integer, 已計算銷售成本arr1 = 商品rgarr2 = 入庫數(shù)量rgarr3 = 單價rgarr4 = 已銷商品rgarr5 = 已銷售數(shù)量rgarr6 = 已成本rg
For M = 1 To UBound(arr4)If arr4(M, 1) = 商品 Then銷售數(shù)量 = 銷售數(shù)量 + arr5(M, 1)If M < UBound(arr4) Then 已計算銷售成本 = 已計算銷售成本 + arr6(M, 1)End IfNext M
For x = 1 To UBound(arr1)If 商品 = arr1(x, 1) Then'入總 = 入總 + arr2(x, 1)If 總數(shù)量 < 銷售數(shù)量 ThenIf 總數(shù)量 + arr2(x, 1) < 銷售數(shù)量 Then總成本 = 總成本 + arr2(x, 1) * arr3(x, 1)Else總成本 = 總成本 + (銷售數(shù)量 - 總數(shù)量) * arr3(x, 1)End IfEnd If總數(shù)量 = 總數(shù)量 + arr2(x, 1)End IfNext xIf 總數(shù)量 < 銷售數(shù)量 Then成本 = "銷量大于庫存數(shù)量,請核查"Else成本 = 總成本 - 已計算銷售成本End IfEnd Function
第2步 打開你的Excel表格,然后通過開發(fā)工具-Visual basic打開編輯器,再插入 -模塊,然后把代碼粘到右側(cè)的窗口里。最后把文件另存為:啟用宏的excel工作簿類型。

以后,在這個excel文件里就可以直接使用“成本”函數(shù)了。
解決先進先出公式是蘭色很多年的愿望,但一直手懶沒去編寫。這次要做進銷存管理系統(tǒng)繞不過去了,嘿嘿,只能耐下心搞定它了。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多