返回列表 上一主題 發帖

[發問] 有層次的銷售金額及退貨金額之公式,要如何設定

[發問] 有層次的銷售金額及退貨金額之公式,要如何設定

條件1:如果買進1至12個,1個1080元
條件2:如果再買進第13至40個,1個970元
條件3:如果再買進41個以上,1個700元
條件4:如果有退貨時,用後進先出法,計算退貨金額。

例如1:A客戶總共買進43個(A1),付出12*1080+(40-12)*970+(43-40)*700=42220元(B1)
例如2:A客戶後來退了5個(A2),退貨金額3*700+2*970=4040元(B2)
請問如何下銷售金額(B1)及退貨金額(B2)之公式
julie

本帖最後由 Hsieh 於 2013-2-26 16:30 編輯

回復 12# handmuch
級距表的方式來寫公式,本例售出總價可使用LOOKUP函數或許更容易理解
B1=IF(A1>0,SUMPRODUCT(LOOKUP(ROW(INDIRECT("A1:A"&A1)),{0,13,41},{1080,970,700})*1),"")
B2陣列公式
=IF((A2>0)*(A2<=A1),SUM(SMALL(LOOKUP(ROW(INDIRECT("A1:A"&A1)),{0,13,41},{1080,970,700}),ROW(INDIRECT("A1:A"&A2)))),"")
學海無涯_不恥下問

TOP

回復 1# julieh96590


   跟綜所稅的累進課稅有點像!  只是要另作參考表格!

TOP

本帖最後由 Bodhidharma 於 2013-2-25 23:04 編輯

回復 2# julieh96590

依你的邏輯,可以用choose配match來寫
=CHOOSE(MATCH(A1,{0,13,41}),A1*1080,(A1-12)*970+12960,(A1-40)*700+40120)

TOP

回復 9# julieh96590

銷貨金額(a1)=銷貨金額(a1-a2)+退貨金額
所以
退貨金額=銷貨金額(a1)-銷貨金額(a1-a2)=
SUMPRODUCT({1080,970,700},TRANSPOSE(FREQUENCY(ROW(INDIRECT("A1:A"&A1)),{12,40})))-SUMPRODUCT({1080,970,700},TRANSPOSE(FREQUENCY(ROW(INDIRECT("A1:A"&(A1-A2))),{12,40})))

TOP

謝謝版主,ok了,但函數我可能還要消化一下,才會懂,
julie

TOP

B2陣列公式
=SUM(SMALL(IF(ROW(INDIRECT("A1:A"&A1))<13,1080,IF((ROW(INDIRECT("A1:A"&A1))>12)*(ROW(INDIRECT("A1:A"&A1))<41),970,700)),ROW(INDIRECT("A1:A"&A2))))
學海無涯_不恥下問

TOP

再感謝樓上版主解答,但是如果銷售數量低於16、退貨金額為5個(4個*970+1個*1080=4960)時,答案就不適用了,可否再麻煩您。
julie

TOP

回復 5# julieh96590
B2=SUM(MAX(0,MIN(A2,(A1-40)))*700,MIN(28,(A2-MAX(0,MIN(A2,(A1-40)))))*970,MAX(0,12-(A1-A2))*1080)
學海無涯_不恥下問

TOP

補充說明:銷售數量低於40,只有退貨金額答案不適用了,銷售金額答案是ok
julie

TOP

        靜思自在 : 地上種了菜,就不易長草;心中有善,就不易生惡。
返回列表 上一主題