Cómo aumentar el rango de celdas para la fórmula de Excel en lugar de aumentar uno por uno

La forma más fácil sería utilizar columnas auxiliares (Columnas B y C).
Cree celdas de encabezado en B1 y C1, active la función de filtro desde arriba en la cinta y luego ingrese esta fórmula en la celda B2:
= IF (MOD (FILAS ($ A $ 2: A2), 10) = 0, MEDIA (INDIRECTO (“A” & ROW () – 9): A2), “”)
y luego use el controlador de relleno para completar automáticamente la fórmula a lo largo del rango de su lista de datos en la columna B. Verá solo promedios de cada décima celda hacia abajo pero, por supuesto, todas las fórmulas todavía están allí en las celdas. Con todas esas celdas en la columna B aún resaltadas, cópielas y luego pegue Special-> Values ​​it in Column C para eliminar las fórmulas y dejar solo los valores. Use la función de Filtro en la Columna C para filtrar las celdas en blanco, luego copie los valores que aparecerán como una lista continua en la Columna C, vuelva a aplicar el filtro para incluir las celdas en blanco para ver todo nuevamente y pegue los valores nuevamente en su lista de lotes. Cada vez que ejecuta una nueva replicación y enumera los valores en la columna A, repetiría el proceso comenzando con el paso de Copiar-> Pegado especial los valores en B sobre C y luego Filtrar y pegar en sus columnas de Replicación.

Si no desea usar una columna auxiliar, puede usar esta fórmula para crear un promedio de lotes en vivo en su columna de Replicación:
= MEDIA (INDIRECTO (“A” Y FILAS ($ D $ 6: D6) * 10 + 1): INDIRECTO (“A” & (FILAS ($ D $ 6: D6) * 10-8)))
Cuando empiece a completar las columnas de replicación adicionales, tendrá que cambiar la D en la referencia a E, luego F, etc. Por supuesto, también podríamos automatizar eso …

Coloque cada fila en un lote (es decir, los primeros diez registros son el lote 1, los diez segundos son el lote 2 y así sucesivamente) y coloque el número de lote en cada registro de la columna B. Luego use AVERAGEIFS basado en el número de lote, con el rango de criterios en la columna SEGUNDO.

Método simple para el consumo personal.

Aquí hay una fórmula que usa la función de COMPENSACIÓN para elegir grupos sucesivos de 10 celdas. Como está escrito, la fórmula asume que desea promediar los datos en la columna A que comienza en la celda A2. La fórmula en sí está escrita en la celda C2 y copiada.

= MEDIO (DESPLAZAMIENTO (A $ 2,10 * (FILAS (C $ 2: C2) -1), 0,10))

Romper la fórmula aparte:

ROWS ($ C $ 2: C2) devuelve las series 1, 2, 3, etc. a medida que copia la fórmula.

10 * (ROWS (C $ 2: C2) -1) devuelve las series 0, 10, 20, etc. a medida que copia la fórmula.

OFFSET (A $ 2,10 * (FILAS (C $ 2: C2) -1), 0,10) devuelve un bloque de 10 celdas que se desplazan a intervalos de 10 celdas desde el punto de inicio.

Método más complicado para que otros lo revisen.

Cuando alguien más necesita revisar su libro de trabajo, desea que vean fácilmente cómo se está haciendo su promedio. Es decir, realmente desea utilizar fórmulas como = AVERAGE (A2: A11) y = AVERAGE (A12: A21). Puede construir fácilmente tales fórmulas en texto:

Suponga que A2 es el punto de partida para promediar y desea que las fórmulas resultantes en C2. Proceder de la siguiente:

1. Poner la siguiente fórmula en C2. Construye la fórmula deseada como texto.

= “= PROMEDIO (A” & ((FILAS (C $ 2: C2) -1) * 10 + FILA (A $ 2)) & “: A” & (FILAS (C $ 2: C2) * 10 + FILA (A $ 2 ) -1) y “)”

2. Copia esta fórmula. Verifique que el patrón sea correcto para los resultados de la fórmula.

3. Copia las celdas que contienen la fórmula.

4. Pegado especial … Valores para que las celdas ahora contengan las fórmulas deseadas como texto que no funciona.

5. Use el elemento de menú Inicio … Buscar y seleccionar para reemplazar el signo de igual por sí mismo. Este truco convierte las fórmulas de texto en funcionales.

Podrías usar VBA para llegar a la respuesta.

Aquí hay un ejemplo. Creé algunos valores aleatorios en un rango y luego creé el código VBA para que el rango encuentre el cierto valor promedio que intenta encontrar.

Sub every_ten_average ()

Dim i As Integer

Promedio tenue como doble

Dim LastRow tan largo

Dim sum_of_every_ten As Long

sum_of_every_ten = 0

Con ActiveSheet

LastRow = .Cells (.Rows.Count, “A”). End (xlUp) .Row

Terminar con

Para i = 1 a LastRow

Si i Mod 10 = 0 Entonces sum_of_every_ten = sum_of_every_ten + Cells (i, 1) .Value

Siguiente yo

Dim number_of_cells As Integer

number_of_cells = Application.WorksheetFunction.Round ((i / 10), 0)

average = sum_of_every_ten / number_of_cells

Células (1, 2). Valor = promedio

End Sub [/ code]

Puede ajustar esto a las necesidades de su hoja de cálculo.