Tengo números en el rango D7: D y hay momentos en que algunas celdas están vacías. Quiero el promedio de los últimos 7 números, pero omitir espacios en blanco. Entonces, si en los últimos 7 solo hay 3 que están llenos, quiero que retroceda más y encuentre 7 en total y los promedie.
google-sheets
formulas
google-sheets-query
google-sheets-arrayformula
filter
Bob Esponja Pantalones Cuadrados
fuente
fuente
TL; DR
Ejemplo
Explicación
=COUNT(A:A)
. Las celdas que contienen texto no se contarán. Nuestro ejemplo nos daría9
=COUNT(A:A)-7
. Esto nos dará un2
.Ahora usamos la función de desplazamiento para obtener un rango de una columna completa pero con un desplazamiento de 2 celdas, lo que significa que solo nos queda una parte de una columna con exactamente 7 valores restantes
Imagine una columna sin celdas en blanco antes de la primera celda con valores. Entonces podría verse un ejemplo simplificado
=OFFSET(A:A; COUNT(A:A)-7 ;0)
. Pero esto no funcionará tan pronto como la columna comience con celdas en blanco como se muestra en la imagen de arribaAhora necesitamos extender nuestro desplazamiento por el número de celdas en blanco. Eso no significa que contamos todos los valores en blanco en una fila. Solo los que están antes de la primera celda no vacía.
Puede contar con ellos
=MATCH(TRUE;INDEX(A:A<>0);0)-1
y obtener6
como resultado o nuestro ejemploAhora modificamos nuestra función de desplazamiento y agregamos este conteo para obtener el rango correcto que contiene solo 7 valores
OFFSET(A:A; COUNT(A:A)-7 + MATCH(TRUE;INDEX(A:A<>0);0)-1 ;0)
Como último paso calculamos el promedio de este rango. Nuestro ejemplo nos daría 4 como resultado ya que el promedio de 1,2,3,4,5,6,7 es 4.
=AVERAGE(OFFSET(A:A;COUNT(A:A)-7 + MATCH(TRUE;INDEX(A:A<>0);0)-1;0))
fuente
Otra forma más:
Explantación
EDITAR: Perdón por malentendidos. Lo anterior promedia los 7 valores MÁS GRANDES, no los últimos 7 valores en una columna. Para promediar los últimos 7 valores, la solución de Normal Human es excelente. Una forma alternativa con menos funciones sería usar QUERY ()
Suponiendo los datos numéricos en la columna A, intente:
fuente
fuente