lunes, 23 de noviembre de 2009

Ejemplo de la función ESERROR.

Supongamos que disponemos de una tabla de referencias de productos, con información adicional por cada columna que nos dice su descripción y precio por cada registro. Pretendemos que desde una consulta formulada anexa a la tabla de datos podamos obtener información del producto, según el código introducido, pero con la peculiaridad que salga el nombre del Producto dependiendo de la referencia de Código de producto que introduzcamos; además si en la celda de búsqueda no se escribe nada, que las celdas formuladas salgan en blanco, y si el código es incorrecto que salga 'Código Incorrecto'.
Nuestros datos y plantilla de búsqueda son:


Deberemos configurar y formular nuestras celdas G4 y G5 con las condiciones descritas; para lo que emplearemos, además de la función BUSCARV, la función =ESERROR(valor) con la que comprobaremos que el valor asignado se refiere a uno de los valores de error de Excel(#N/A, #¡VALOR!, #¡REF!, #¡DIV/0!, #¡NUM!, #¿NOMBRE? o #¡NULO!), devolviéndonos VERDADERO o FALSO.
En primer lugar incorporaremos la función de búsqueda para las celda G4 y G5:
=BUSCARV(G3;A1:C14;2;0)
con la que buscamos el código en nuestra tabla de datos, exigiéndole que devuelva, una vez encontrada la coincidencia exacta ,el código buscado el valor correspondiente a la segunda columna de nuestra tabla de datos.
Esta es la base de la formulación, pero no es exactamente lo que queremos, ya que si no escribimos ningún valor de código de producto nos devolvería un error #N/A (no disponible); por lo que para solucionar este inconveniente anidaremos la función BUSCARV obtenida dentro de un SI
=SI(G3="";"";BUSCARV(G3;A1:D14;2;0))
es decir, cuando la celda G3, donde introducimos el código a buscar, esté vacio o en blanco, ejecutaremos para las celdas G4 y G5 la instrucción "", lo que nos devolverá las celdas en blanco.
Solucionado el problema de la celda G3 vacía, atacaremos ahora la posibilidad que introduzcamos un valor de código incorrecto, lo que también nos devolvería un error del tipo #N/A; esta vez lo solucionaremos empleando la función ESERROR, y anidándola nuevamente en otro SI
=SI(G3="";"";SI(ESERROR(BUSCARV(G3;A1:D14;2;0));"Código Incorrecto";BUSCARV(G3;A1:D14;2;0)))


haz click en la imagen


Lo que hemos conseguido, incorporando la función ESERROR, es convertir el error #N/A que devolvería el BUSCARV al no encontrar en la tabla de datos un código erróneo en un VERDADERO, o en un FALSO si lo encuentra, aprovechando que en sí mismo esto es una prueba lógica hemos construido una nueva función SI, para que cuando no encuentre el código buscado, y por tanto la función ESERROR devuelva VERDADERO ejecute el texto 'Código Incorrecto', mientras que cuando lo encuentre (función ESERROR entonces FALSO) ejecute el BUSCARV sobre la tabla origen.

5 comentarios:

Nota: solo los miembros de este blog pueden publicar comentarios.