Quien está habituado a trabajar con Excel, habrá podido comprobar lo útiles que resultan los nombres de rango como ya comentamos en el post anterior.
No obstante, cuando trabajamos con tablas o listas que, normalmente, van creciendo puede parecer que el uso de nombres de rango no es adecuado. Sin embargo, sí que es posible, combinando esta característica con funciones. Así que veámoslo!
Proceso
Vamos a utilizar un ejemplo sencillo que nos permite detectar cómo el nombre de rango se expande automáticamente. Para ello, empezamos escribiendo distintas cantidades numéricas en una hoja de cálculo. Por ejemplo:
Si en cualquier celda escribimos =SUMA(A1:C3) el resultado será 107. El rango a utilizar también puede ser obtenido a través de la función DESREF, que nos permite hacer referencia a un rango a partir de una determinada celda; en consecuencia la función =SUMA(DESREF(A1;0;0;3;3)) da el mismo resultado
Ten en cuenta que tras la celda de referencia (en este caso A1), indicamos 0,0 para que no se mueva, y a continuación especificamos que el rango a obtener, debe tener 3 filas de alto y 3 columnas de ancho.
Pues bien, si combinamos DESREF con una función que nos permita contar cuántas filas y/o columnas con contenido existen desde la celda de referencia, ya tendremos la solución. Como no sabemos qué tipo de contenido podemos encontrarnos utilizaremos CONTARA, por lo que la función para obtener el rango ocupado quedará como:
SUMA(DESREF(A1;0;0;CONTARA(A:A);CONTARA(1:1)))
Si en este momento escribimos =SUMA(DESREF(A1;0;0;CONTARA(A:A);CONTARA(1:1))) verás que el resultado sigue siendo el mismo, 107. Pero si añadimos los valores 10, 15 y 32 en la fila 4, verás como esta última fórmula se actualiza automáticamente a 164, mientras que las otras permanecen igual.
Llegados a este punto, sólo nos queda aplicar lo que acabamos de exponer. Entonces, para crear un nombre de rango dinámico, que se ajuste en todo momento al contenido real, vamos a la cinta Fórmulas, y en el Administrador de nombres, hacemos clic en Nuevo. Tras asignar el nombre y el ámbito de aplicación, escribimos la función DESREF correspondiente, de la siguiente forma:
Y ya podrás utilizar el nombre creado en fórmulas con lenguaje natural. Es decir, si ahora escribimos =SUMA(numeros) el resultado que aparece, como no podía ser de otra manera, es 164. Por supuesto, si fuera necesario, sería ideal FIJAR tanto la celda A1, como las referencias a la columna A y la fila 1, todo dependerá de tus necesidades.