jueves, 10 de enero de 2013

La función DESREF


Pertenece a la categoría de Búsqueda y referencia. En inglés es OFFSET.

La función DESREF devuelve una referencia a una celda única como a un rango de celdas. En otras palabras sirve para devolverte un dato o un conjunto de datos (puede ser una lista o tabla).

Este función puede generar mucha confunsión, pero tranquilos que luego de practicarla unos 5 o 10 años queda todo mas claro. ¡Era una broma!


En realidad la función por sí sola no tiene mucha utilidad, pero combinada a la función CONTARA es muy poderosa para el manejo de listas y bases de datos en Excel.

Pero, como diría Jack el destripador: "Vamos por partes"; ahora veremos de que se trata esta función y mas adelante veremos como manejar listas y bases de datos.

La función DESREF tiene los siguientes argumentos:
Para comprenderlo mejor veamos los siguiente:
  • Ref (Obligatorio): Es la celda que utilizaremos de punto inicial o como ancla.
  • Filas (Obligatorio): Indica la cantidad de filas que deseo desplazarme. Si el valor es positivo se desplaza filas hacia abajo, si es negativo se desplaza filas hacia arriba y si es cero (0) no se desplaza filas.
  • Columnas (Obligatorio): Indica la cantidad de columnas que deseo desplazarme. Si el valor es positivo se desplaza columnas hacia la derecha, si es negativo se desplaza columnas hacia la izquierda y si es cero (0) no se desplaza columnas.
  • Alto (Opcional): Indica la cantidad de filas que deseo que me devuelva.
  • Ancho (Opcional): Indica la cantidad de columnas que deseo que me devuelva.
Veamos ahora un par de ejemplos:

En el primer ejemplo veremos el caso mas simple de aplicación de esta función:
Entonces, partimos de la celda B2 y nos desplazamos 3 filas hacia abajo y un columna hacia la derecha. Por ello nos da como resultado el valor de la celda C5.

En un segundo ejemplo, combinaremos la función DESREF con la función COINCIDIR, utilizando una regla de validación.
Paso 1: Continuando con el mismo ejemplo nos colocamos en la celda B10 y vamos a la etiquetas Datos / Validación de datos.

Paso 2: En la ventana de Validación de datos, en el campo Permitir seleccionamos la opción Lista, y en el campo Origen seleccionamos desde la celda B3 hasta B7.
Paso 3: En la celda B10 selecionamos un numero de la lista, y en la celda C10 colocamos la siguiente función:
=DESREF(B2,COINCIDIR(B10,B3:B7,0),1)
Con esto cada vez que cambiemos un número, automáticamente nos indicaría en nombre que le corresponde.

Pero entiendo que algunos aun no comprenden que es lo que hace la función que hemos escrito. A mi también me costo entenderlo al principio, pero aquí esta la explicación:

- Recuerden que la función =DESREF(Ancla, Filas, Columnas)

- Entonces, en la función le estamos diciendo lo siguiente:
=DESREF( Ancla=B2; Filas:= No lo se, lo buscaré con COINCIDIR; Columnas:= 1)

- Recordemos también que la función COINCIDIR nos devuelve un número, que nos indica la 
  posición en que se encuentra el dato buscado. 

- Esto es =COINCIDIR(Dato; Rango de busqueda; Tipo de coincidencia).

- De esta manera: =COINCIDIR(Dato:=B10; Rango:=B3:B7; Tipo:=0 significa exacto).

- Entonces, al buscar el dato de B10=1234567 en el rango B3:B7, nos da como resultado un 1.

- De esta forma =DESREF(Ancla=B2, Fila:= 1 hacia abajo; Columna:= 1 a la derecha)

Espero que la explicación les permita comprenderlo mejor, si no es así, con toda confianza me lo indican.

Saludos

Ing. Enrique Neciosup Morales