2016-04-29 152 views
-1

的百分比變化的年度銷售預期,我想知道是否可以使用Excel的公式來計算的:計算基於銷售月和上個月相比

A1是一月份的銷售價值。 A2是二月份與一月份相比的銷售百分比變化。 (例如:-2%,+ 23.5%) A3是3月份與2月份相比銷售額的變化。 A4爲4月份,12月份爲12月份。

在A13中,我們可以使用excel公式來計算年度預期銷售額嗎? 我不希望手動鍵入公式如= A1 + A1 *(1 + A2)+ A1 *(1 + A2)*(1 + A3)...

預先感謝

+0

是否允許使用列B? B2 = A1 * A2。然後B3 = B2 * A3並複製下來。 – dcromley

+0

是的謝謝,但我管理幾家商店和幾個商店的數據安排在一張桌子。要在每列右側添加列,然後複製+粘貼也很麻煩。所以我只想知道是否有捷徑。 –

+0

「金融」類別中有一些神祕的功能,例如fv,accrint,cumprinc,ispmt等等......但我根本無法觸及它們haha –

回答

1

該用戶定義函數會做什麼你問:

Function suminc(st As Double, rng As Range) As Double 
Application.Volatile 
Dim inc() As Variant 
Dim temp() As Double 
Dim i As Long 


If Not IsNumeric(st) Then 
    suminc = CVErr(xlErrValue) 
    Exit Function 
End If 
inc = rng.Value 
ReDim temp(1 To UBound(inc, 1) + 1) 

temp(1) = st 

For i = 2 To UBound(inc, 1) + 1 
    If IsNumeric(inc(i - 1, 1)) Then 
     temp(i) = temp(i - 1) * (1 + inc(i - 1, 1)) 
    Else 
     suminc = CVErr(xlErrValue) 
     Exit Function 
    End If 
Next i 
suminc = Application.WorksheetFunction.Sum(temp) 
End Function 

把它連接到工作簿中的模塊中,工作表的代碼或代碼的ThisWorkbook。

然後在表,你會這樣稱呼它:

=suminc(A1,A2:A12) 

首先是起始編號,包含以百分比的形式每月增加的第二範圍。

enter image description here

+1

你可以寫一個宏,這將做我的洗衣? – findwindow

+0

當您執行temp(1)= st'而不是範圍'a1'時,它如何知道使用'a1'的值?因爲你表示你正在傳球? – findwindow

+1

@findwindow魔法! Range對象是Variant,因此可以製作成適合多種類型。據我瞭解,如果一個數字沒有傳遞給UDF,它將失敗。 –