2015-11-04 149 views
1

我使用下面的公式從VBA進入單元格,它工作正常,直到我在計算單元格中有一個公式爲止,直到輸入其他數據爲止。我怎樣才能得到這個公式來平均最後15個單元格,並忽略包含公式的空白單元格?Excel VBA平均最後15個非空白單元格

=AVERAGE(OFFSET(AE8,COUNTA(AE:AE)-16,0,16,1)) 

回答

2

編號寫一個UDF,並在表中引用它,這將顯示一條消息,如果找不到15號至平均水平,你可以調整它把所有的數字平均發現最多的最大值15,或類似的東西

Function Average15(rng As Range) 'take entire column as argument 
ColumnNumber = rng.Column 
rownumber = Cells(65536, ColumnNumber).End(xlUp).Row 
If rownumber < 15 Then 
    Average15 = "Not Enough Cells" 
    Exit Function 
End If 
Counter = 0 
While Counter < 15 
    If rownumber = 1 Then 'assumes no header row(s), change this to the first row with data in it 
     Average15 = "Not enough values" 
     Exit Function 
    End If 
    If Cells(rownumber, ColumnNumber).Value <> "" Then 
     Counter = Counter + 1 
     Totals = Totals + Cells(rownumber, ColumnNumber).Value 
    End If 
    rownumber = rownumber - 1 
Wend 
Average15 = Totals/15 
End Function 
在片

的公式將是

=AVERAGE15(A:A) 
+0

正是我需要的......似乎完美地工作。謝謝你的幫助。 – Noob2Java

相關問題