Archivo de la etiqueta: DESREF

DESREF para trasponer en Excel varias columnas

Hoy han planteado una duda en el blog que me ha parecido interesante porque es un buen ejemplo de uso de la función DESREF de Excel para trasponer filas en columnas con cierto criterio. La idea que planteaba es realizar una trasposición de 3 en 3 elementos como indica en la figura:

ejemplo_trasponer_desref

Para entender como funciona la función DESREF lo mejor es pensar en lo siguiente: fijado un punto nos movemos x-filas ; x-columnas. En el ejemplo concreto el punto inicial está en la celda $A$1;0;0 si nos desplazamos a la derecha haremos $A$1;1;0 es decir, nos movemos a la derecha +1 y siempre mantenemos la columna porque estamos trasponiendo filas en columnas. Las coordenadas de la fila para la trasposición en nuestro ejemplo quedarían:

+0 +1 +2
+3 +4 +5
+6 +7 +8
+9 +10 +11

 

En este caso se ha hecho:

ejemplo_trasponer_desref_2

La fórmula lee un dato que va de 3 en 3 a la izquierda y suma +1 o +2 si es el primer o el segundo elemento que deseamos en columna. Evidentemente esta fórmula es mejorable pero es un buen ejemplo de  DESREF en Excel. Saludos.

Trucos Excel. Repetir filas con DESREF

desref repetir filas excel

En respuesta a una cuestión planteada por una lectora en una entrada muy parecida a esta podemos usar la función de Excel DESREF para repetir registros el número de veces que deseemos. Como sabemos DESREF parte desde una celda referenciada y nos movemos FILAS y COLUMNAS en función de los parámetros. La sintaxis es DESREF(CELDA DE REFERENCIA; FILA; COLUMNA) de modo que si ponemos DESREF(A1;0;1) haremos referencia a la celda B1 o bien si ponemos DESREF(A1;1;0) hará refrencia a la celda A2. Para repetir lo que haremos será algo de este estilo:

=DESREF(A$2;REDONDEAR.MENOS((FILA(A3)-2)/4;0);0)

Fijada la celda de referencia nos movemos por las filas y dividimos por el número de veces que deseamos repetir (ene el ejemplo 4), hacemos un redondear menos para que tengamos valores enteros de la fila y de este modo repetirá 4 veces cada fila. De todos modos tenéis en este enlace el ejemplo utilizado para que os sirva de referencia: ejemplo-de-uso-desref-2

Trucos Excel. Transponer con la función DESREF

Este blog ya contó como trasponer filas a columnas con la función INDIRECTO. Recientemente tuve que explicar ese proceso a una persona y parece que le costó, sin embargo entendió a la perfección el uso de la función DESREF (a la que ya hicimos mención en una entrada reciente) y por ello me he animado a crear esta entrada. En este enlace podéis descargar un excel 2007 que contiene el siguiente ejemplo:

transponer-con-desref.png

Con DESREF el primer parámetro que pasamos es una celda de referencia y a partir de ella nos movemos por filas (segundo parámetro) y columnas (tercer parámetro). En el ejemplo fijamos la celda B5 y nos movemos filas de uno en uno permaneciendo en la misma columna. La fórmula que yo he empleado para hacer esto es: =DESREF($B$5;COLUMNA(E2)-COLUMNA($E$2);0). Fijo B5; columna en la cual estoy menos la columna donde empiezo a trasponer, así creamos un autonumérico desde el 0; un 0 ya que no me muevo de columna.

Esta fórmula parece entenderse mejor que la utilizada con INDIRECTO. En cualquier caso disponéis de otro ejemplo que puede ayudaros en vuestro trabajo diario. Saludos.

Trucos Excel. Repetir filas o columnas con la función DESREF

La función DESREF va a ser la protagonista de 2 trucos de Excel. Vamos a repetir filas o columnas con esta función. En nuestro caso la función va a devolver el valor de una celda referenciada del modo DESREF(<Celda inicial anclada>;<Filas por debajo de la referenciada>;<Columnas a la derecha de la fila referenciada>). Para nuestro caso el funcionamiento de la función DESREF será:

ejemplo-de-uso-desref-2.png

Repito, en este caso la función DESREF lo que hace es referenciar celdas en función de una celda inicial, de modo que el primer parámetro que le pasamos a la función es la referencia, el segundo parámetro es el número de celdas que nos movemos hacia abajo y el tercer parámetro el número de celdas que nos movemos a la derecha.  En nuestro caso fijamos la celda B3 como referencia y si deseamos repetir columnas (menos habitual) sólo hacemos DESREF(B3;0;0). Si lo que queremos es repetir filas lo primero que tenemos que hacer es crear el valor incremental sobre nuestra referencia. En el ejemplo deseamos repetir el número en 3 ocasiones y que después cambie, bien el autonumérico irá del 0 al 11, del 0 al 4x3 - 1. Hacemos una función REDONDEAR.MENOS donde dividimos nuestro autonumérico entre el número de veces que queremos repetir, en este caso 3. Y esa será la forma en la que se incrementará nuestra referencia.

Creo que he sido bastante claro con la exposición, pero si alguien tiene alguna duda en este link tiene el ejemplo utilizado para entenderlo mejor. En breve vuelvo con esta función.