Nombres de rango dinámicos

Excel nos permite poner nombres a los rangos de celdas de manera que los podamos identificar adecuadamente al usarlos en nuestras fórmulas, pero en esta ocasión te mostraré cómo hacer que ese nombre se refiera a un grupo de celdas que va en aumento.

Al definir un nombre de rango comenzamos por seleccionar los datos y posteriormente asignarles un nombre. En la siguiente imagen puedes observar que he asignado el nombre MiTabla al rango de celdas A1:A3:

Definición de nombre de rango

Si agrego un nuevo dato por debajo del rango definido no se incluirá de manera automática:

Agregar datos a un nombre de rango

Sería necesario redefinir el nombre del rango para incluir la nueva celda. Sin embargo, podemos hacer que un nombre de rango esté definido por una fórmula y de esa manera actualizar automáticamente los datos que deben ser incluidos.

Rangos dinámicos con DESREF

Para lograr este objetivo utilizaremos la función DESREF que nos permite crear una referencia a un rango. Esta es la sintaxis de la función:

DESREF(ref, filas, columnas, [alto], [ancho])

La sintaxis de la función DESREF nos indica que el primer argumento debe ser la celda “inicial” sobre la cual se basará la referencia. En base a los datos del ejemplo anterior, colocaré como primer argumento la celda A1 que es la primera celda con datos. El segundo y tercer argumento de la función nos permiten especificar cuantas filas y columnas nos moveremos de la celda “inicial”. En nuestro ejemplo no queremos movernos de esa celda, así que estos parámetros serán siempre cero.

El cuarto y quinto argumento son el alto y ancho de la referencia que queremos crear y aquí es donde viene la parte interesante porque queremos decir a Excel que deseamos todas las celdas que tienen un contenido. Para lograr nuestro cometido debemos utilizar la función CONTARA, la cual nos ayuda a contar las celdas que no están vacías. Para contar las filas que no están vacías utilizo la siguiente función:

=CONTARA($A:$A)

Y para contar las columnas que no están vacías:

=CONTARA($1:$1)

Con los parámetros ya definidos podemos decir que utilizaremos la función DESREF de la siguiente manera suponiendo que los datos se encuentran en la Hoja1:

=DESREF(Hoja1!$A$1, 0, 0, CONTARA(Hoja1!$A:$A), CONTARA(Hoja1!$1:$1))

Esta fórmula siempre nos devolverá el rango que incluye las celdas que tienen un valor y que son adyacentes a la celda A1.

Editar el nombre de rango

Ahora solo resta modificar la definición del nombre de rango MiTabla para que utilice esta fórmula. Para ello debo ir a la ficha Fórmulas y oprimir el botón Administrador de nombres, se mostrará el nombre de rango previamente definido y en el cuadro de texto de la parte inferior se deberá reemplazar su definición por la fórmula anterior:

Cuadro de diálogo Administrador de nombres

Con esta nueva definición del rango MiTabla no importarán las filas que agreguemos ya que siempre serán consideradas en el rango. En el siguiente ejemplo, puedes observar cómo voy agregando nuevos valores en la columna A y son considerados automáticamente en la suma de la celda D5:

Ejemplo de nombres de rango dinámicos

Artículos relacionados
Asignar nombres a rangos