Excel: promediar las celdas posteriores utilizando la primera celda no utilizada en la columna

Excel: promediar las celdas posteriores utilizando la primera celda no utilizada en la columna

Buen día,

Necesito que este resultado esté en una hoja separada, pero esencialmente el problema que estoy tratando de resolver se puede explicar de la siguiente manera.

Estoy tratando de descubrir cómo promediar las celdas en una columna con el siguiente formato:

En B2la Hoja2, me gustaría average(Sheet1!a2:a5), en B3,, average(Sheet1!a6:a9)en B4, (Hoja1!a10:a13), etc.

Puede que haya hecho esto mucho más complicado de lo necesario, pero mi idea era utilizar la función Desplazamiento de la siguiente manera:

=AVERAGE(OFFSET(Sheet1!$a$2, 4*(ROW()-ROW(Sheet1!$a$2)), 0, 4, 1))

¡Lo cual funcionó! Sin embargo, luego necesito otra columna para mostrar datos diferentes, como se muestra a continuación:

=AVERAGE(OFFSET(Sheet1!$a$118, 4*(ROW()-ROW(Sheet1!$a$118)), 0, 4, 1))

Lo que me da un error de referencia. ¿Alguien puede ayudarme a entender por qué esto no funciona? Se agradecería una solución fácil, ¡pero una explicación de por qué sería especialmente buena!

Respuesta1

Bien, usaremos una fórmula diferente para la primera:

=AVERAGE(INDEX(A:A,1+4*(ROW()-ROW($B$1))):INDEX(A:A,4*(ROW()-ROW($B$1)+1)))

Lo que esto hace es crear una matriz para que trabaje el promedio. Para ello, encuentra la fila actual, resta la fila de referencia, suma uno y multiplica 4, para cada lado del rango. Utilice la fórmula de evaluación para verlo en acción.

Digamos que quieres hacer esto de nuevo, pero empezando por la A118, que es lo que creo que estás preguntando.

=AVERAGE(INDEX(A118:A999,1+4*(ROW()-ROW($B$118))):INDEX(A118:A999,4*(ROW()-ROW($B$118)+1)))

Ahora, esto requiere que hagas tu trabajo en la fila 118, pero digamos que simplemente quieres comenzar una nueva columna en la fila 1.

=AVERAGE(INDEX(A118:A999,1+4*(ROW()-ROW($B$1))):INDEX(A118:A999,4*(ROW()-ROW($B$1)+1)))

Igual que el primero.

información relacionada