Para calcular un promedio móvil o, en general, cualquier cálculo que involucre un rango variable se necesitan dos pasos:
* Identificar el rango.
* Aplicar la función correspondiente.
Vamos a lo primero. Supongamos que los datos están en la columna [A], a partir de [A1], uno debajo del otro y sin celdas en blanco intermedias. En estas condiciones, la función =CONTARA(A:A) nos dice cuál es la fila de última celda de la lista. Supongamos que calculamos esa fila en la celda [B1].
Con esta información armamos el rango ocupado por los últimos cinco datos de la lista: =”A”&B1-4&”:A”&B1. Esta fórmula concatena cuatro términos:
* Una letra A
* El número de fila que está cuatro celdas más arriba que el último dato.
* Dos puntos, seguidos de otra letra A.
* El número de fila del último dato.
Por ejemplo si la función CONTARA nos dice que la lista llega hasta la fila 12, la expresión anterior concatenaría A, 8, :A y 12. El resultado sería “A8:A12”, rango de los valores a promediar. Supongamos que hacemos esta concatenación en la celda [B2].
Ahora solamente resta aplicar a este rango la función PROMEDIO. Pero no podemos hacer =PROMEDIO(B2). No queremos promediar el valor de la celda [B2] sin los valores del rango indicado en [B2]. Para eso tenemos que aplicar previamente la función INDIRECTO: =PROMEDIO(INDIRECTO(B2)).
Como su nombre lo indica, la función INDIRECTO hace una evaluación indirecta: evalúa el argumento que, en este caso es un rango, y luego le pasa ese rango como argumento a la siguiente función. El resultado será calcular el promedio de los cinco últimos datos de la lista.
Estas fórmulas requieren que la lista tenga, por lo menos, cinco datos para no obtener un rango con coordenadas negativas. Podríamos asegurar el cumplimiento de esta condición con una función SI. Pero lo dejamos para otra ocasión.