Estoy usando la siguiente fórmula para entrar en una celdade VBA y funciona bien hasta que tengo una fórmula en las celdas que cuento, que dejo en blanco hasta que se ingresen otros datos. ¿Cómo puedo obtener esta fórmula para promediar las últimas 15 celdas e ignorar las celdas en blanco que contienen una fórmula?
=AVERAGE(OFFSET(AE8,COUNTA(AE:AE)-16,0,16,1))
Respuestas
2 para la respuesta № 1Id escribir un UDF y referenciarlo en la hoja,esto muestra un mensaje si no puede encontrar 15 números para promediar, puede ajustarlo tomando el promedio de todos los números que encuentre hasta un máximo de 15, o algo así
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
en la hoja la formula seria
=AVERAGE15(A:A)