返回列表 上一主題 發帖

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

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

條件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

以下是我對銷售金額所下的公式,請問有更簡潔的公式嗎?
銷售金額(B1)=IF(A1>40,(A1-40)*700+40120,IF(AND(41>A1,A1>12),(A1-12)*970+12960,IF(A1<13,A1*1080,0)))
但退貨金額(B2)之公式,仍未想出,請先進幫幫忙
julie

TOP

回復 1# julieh96590

B1=SUMPRODUCT({1080,970,700},TRANSPOSE(FREQUENCY(ROW(INDIRECT("A1:A"&A1)),{12,40})))
B2=SUM(MIN(A2,(A1-40))*700,MIN(28,(A2-MIN(A2,(A1-40))))*970,MAX(0,12-(A1-A2))*1080)
學海無涯_不恥下問

TOP

感謝樓上版主解答,但是如果銷售數量低於40,答案就不適用了,可否再麻煩您。
julie

TOP

補充說明:銷售數量低於40,只有退貨金額答案不適用了,銷售金額答案是ok
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

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

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

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

        靜思自在 : 多做多得。少做多失。
返回列表 上一主題