Mmaresma/ agosto 3, 2016/ Como se hace en Excel, Funciones Excel

La función DESREF en Excel nos devuelve una referencia a un rango de celdas que ha sido desplazado respecto a otra referencia que hemos especificado.

Aunque suena complicado no lo es,  es más complicado explicarlo.

La función DESREF y el juego del tesoro pirata escondido.

Para que lo podáis entender mejor, la función DESREF se asemeja al juego del tesoro escondido. Como ya sabéis el juego consiste en encontrar un tesoro escondido siguiendo unas instrucciones dadas en un mapa, por ejemplo:

  1. Colócate en la piedra azul, debajo del árbol de color amarillo.
  2. Camina 5 pasos hacia en Sur
  3. Camina 15 pasos al Este
  4. El tesoro está debajo de una losa.

Si seguimos las instrucciones correctamente entonces encontramos el tesoro escondido en la ubicación indicada. Pero ¿qué tienen que ver éste juego con la función DESREF?

Imagina que a Excel le decimos algo semejante:

  1. Colócate en la celda A1
  2. Muévete 5 filas hacia abajo (Sur)
  3. Muévete 15 columnas a la derecha (Este)
  4. Dime que hay en la celda donde te encuentres

Plasmar esto en la función DESREF sería con la siguiente fórmula:

=DESREF(A1; 5; 15)

Con esta fórmula, Excel nos devolverá el contenido de la celda P6 ya que a partir de la celda A1 se moverá 5 filas hacia abajo y 15 columnas a la derecha.

DESREF_1

Sintaxis de la función DESREF

Con el ejemplo previamente explicado será más sencillo el detalle de la función DESREF en Excel y su sintaxis.

DESREF_2

 

  • Ref (obligatorio): La referencia a la celda o rango donde se iniciará el desplazamiento, es decir, el punto de partida.
  • Filas (obligatorio): El número de filas a moverse. Si el valor es positivo se moverá hacia abajo (Sur) y si es negativo se moverá hacia arriba (Norte).
  • Columnas (obligatorio): El número de columnas a moverse. Si el valor es positivo se moverá hacia la derecha (Este) y si es negativo se moverá a la izquierda (Oeste).
  • Alto (opcional): El número de filas que deseamos que nos devuelva como resultado.
  • Ancho (opcional): El número de columnas que deseamos que nos devuelva como resultado.

Notas sobre la función DESREF

Algo muy importante que hay que tener en cuenta sobre la función DESREF es que si el primer argumento de la función es una referencia a una sola celda entonces la función nos devolverá de manera la referencia a una sola celda. Observa la siguiente imagen:

DESREF_3

 

Ya que la función DESREF nos devuelve la referencia a la celda H4 es posible mostrar su valor en la celda I8.

Ahora habría que considerar lo siguiente, si en lugar de especificar una sola celda como el primer argumento de la función proporcionamos un rango, entonces nos daremos cuenta que la función DESREF devuelve una referencia a un rango y no podremos mostrar su resultado sino que obtendremos un error:

DESREF_4

 

El error no está en la función DESREF sino al intentar desplegar su resultado en la celda I7 cuando en realidad nos está devolviendo una referencia a un rango.

Para este ejemplo específico la función DESREF devuelve la referencia F2:H4 y se puede demostrar utilizando la función SUMA sobre el resultado:

DESREF_5

 

Observa que la función DESREF no ha cambiado sino que solamente se ha añadido la función SUMA al rango de celdas devuelto por la función.

En este ejemplo la función SUMA hace la operación SUMA(F2:H4) que es precisamente el resultado mostrado en la celda I7. Por esta razón es que frecuentemente verás que la función DESREF es utilizada  junto con otras funciones.

Ejemplos

Ya he explicado varios ejemplos de la función DESREF, así que solo mostraré algunos ejemplos adicionales para dejar más claro el uso de la función. En el siguiente ejemplo coloco en el segundo argumento de la función un número negativo que hará un desplazamiento de filas hacia arriba:

DESREF_6

 

Ahora  otro ejemplo pero utilizando el cuarto y quinto argumento de la función DESREF. Ya sabemos que al indicar una referencia a una sola celda en el primer argumento de la función DESREF obtendremos como resultado la referencia a una sola celda.

Este comportamiento lo puedes modificar si utilizas el cuarto y quinto argumento de la función. En la siguiente fórmula estoy indicando a la función DESREF iniciar en la celda A4 y desplazarse hacia arriba y a la derecha.

=SUMA(DESREF(A4; -2; 2; 3; 2))

Aunque se ha especificado una sola celda de inicio (no un rango) también se está indicando a la función que a partir de la celda destino encontrada (…A4;-2;2…) me devuelva en total 3 filas y dos columnas (…3 ; 2…). En la siguiente imagen puedes observar el rango devuelto con un fondo de color marrón:

DESREF_7

 

Usos prácticos de la función DESREF

  • Crear un rango dinámico. Excel nos permite asignar un nombre a un rango de celdas para después hacer referencia a ellas. Sin embargo, si necesitamos aumentar o disminuir el tamaño de dicho rango necesitamos editar continuamente el nombre y su rango asociado.
  • Actualizar una lista desplegable. Las listas desplegables, que forman parte de la validación de datos en Excel, se basan en un rango de datos. Si creamos un rango dinámico sobre el cual se base la lista desplegable, entonces lograremos que la lista se actualice automáticamente.
  • Actualizar listas dependientes. Si tenemos dos listas y deseamos que las opciones de una dependan de la selección de otra entonces podemos utilizar la función DESREF para crear dicha dependencia.

Así como algunas otras funciones de Excel, la función DESREF no es de mucha utilidad si la usamos sola, pero si la combinamos con algunas otras funciones nos ayudará a implementar muy buenas soluciones.

Espero que os haya gustado, 🙂

Comentario

Comentario

Share this Post