Can you use a user defined function?
Option Explicit
'Usage - =MyAverage(A:A)
' need to use whole column to force recalc
Function MyAverage(r As Range) As Variant
Dim r1 As Range, r2 As Range
On Error GoTo ErrorExit
Application.Volatile
Set r1 = r.Cells(1, 1).EntireColumn.Cells(1, 1).End(xlDown)
Set r2 = r.Cells(1, 1).EntireColumn.Cells(r.Parent.Rows.Count, 1).End(xlUp).Offset(1, 0)
MyAverage = Application.WorksheetFunction.Average(Range(r1, r2))
Exit Function
ErrorExit:
MyAverage = CVErr(xlErrNum)
End Function