lunes, 3 de junio de 2024

Uso de Rangos Dinámicos en Microsoft Excel

 Vamos a ver el uso de rangos dinámicos en Microsoft Excel, para ello utilizaremos diversas funciones.

Primero tenemos un rango con productos y cantidades.


A este rango le vamos a dar un nombre, en este caso le he puesto miTabla.

Pero, hasta el momento es un rango estático, si añadimos un nuevo producto con la cantidad no cogerá el nombre lo nuevo.


Para ello debemos hacer que dicho rango estático convertirlo en dinámico, y para ello utilizaremos  la función desref y contara. 

Primero vamos a explicar lo que nos hace la función Desref:

Esta función que ya hemos explicado en otra vez, lo que nos devuelve es una referencia a un rango .

- Tiene los siguientes argumentos
    - Las filas de desplazamiento.
    - Las Columnas de desplazamientos
    - Alto que no es obligatorio
    - Ancho que no es obligatorio.

Si ponemos como ejemplo en una celda la expresión:

=DESREF(B2:C6;0;0;0;0)

Nos devolverá nuestro rango especificado

Pero si añadimos algún producto nuevo no nos lo cogerá.

Para ello podemos utilizar nuestra función Contara que lo que nos hace es de un rango dado nos cuenta el número de celdas no vacías.

Si la anterior expresión la modificamos:

=DESREF(B2;0;0;CONTARA(B:B))

Entonces si añadimos una nueva fila con productos nos la mostraría nuestro nombre dado, pero en este caso, pero si añadimos una nueva columna no la añadiría.

Para que también nos añada las columnas nuevas tendríamos que modificarla de la siguiente forma:

=DESREF(B2;0;0;CONTARA(B:B);CONTARA(2:2))

Entonces, si tenemos esta tabla modificada:



Si en cualquier celda ponemos la expresión: 

==DESREF(Hoja2!B2;0;0;CONTARA(Hoja2!B:B);CONTARA(Hoja2!2:2))

Nos mostrará nuestro rango, y si añadimos tanto filas como columnas nos dará todos los valores que vayamos incluyendo tanto en filas como en columnas. Y si en nuestra nombre ponemos dicha expresión nos lo asignará.

Pero que sucedería si nuestro rango posee un titulo por ejemplo de productos, cantidad, tipo y no queremos que en el nombre del rango aparezca, pues con la expresión establecida nos saldría.

En este segundo ejemplo tenemos que nuestros datos poseen unos títulos y además, no se encuentra en la primera fila, ya que hemos puesto que la primera fila donde se encuentran los títulos del rango empiezan en la celda B4.



Como se observa los títulos empiezan en la fila 4.

La expresión utilizada es la siguiente:

=DESREF(B1;4;0;CONTARA(B:B)-1;CONTARA(4:4))

Primero empieza a contar en la Celda B1, desplazamos cuatro Filas, en columnas 0. Luego establecemos que el número de filas nos cuenta la columna B, y para establecer el alto le restamos uno para que no nos salgan los títulos, y en cuanto al ancho nos contara la fila 4.

Y el resultado es el siguiente:



Lo mostrado puede ser utilizado para utilizar la matriz en expresiones de búsqueda, en gráficos y seguramente en muchos otros casos.


No hay comentarios:

Publicar un comentario

Gracias por participar en esta página.