jueves, febrero 09, 2006

Cómo evitar resultados #N/A en fórmulas de Excel

Cuando Excel no logra resolver una función, da como resultado #N/A (del inglés: not available). Hay situaciones en las cuales este resultado es aceptable, es decir, no hay solución, pero no quisiéramos que aparezca en la planilla.
Hay varias formas de evitar que este resultado sea visible. Una de ellas ya la he mostrado
en esta nota. Sencillamente seleccionamos los resultados #N/A con Ir A Especial, y borramos el contenido de las celdas seleccionados (Ctrl + Enter).

Otra forma es construir nuestra fórmula de tal manera que Excel no dé como resultado #N/A.

Veamos este ejemplo. Tenemos aquí dos listas, una con todos los nombres y una segunda con algunos nombres de los cuales queremos averiguar la edad





Si aplicamos la función BUSCARV (VLOOKUP) en nuestra fórmula, obtendremos dos valores #N/A en la tabla 2



Como comentario aparte, pueden ver que he utilizado un nombre (Lista_1) para señalar el rango de búsqueda. Siempre recomiendo esta técnica, como ya lo he hecho en
esta nota.

Volviendo a nuestro tema, como podemos evitar estos resultados?

A la fórmula =BUSCARV(D3,Lista_1,2,0) le agregamos una condición, tal que si el resultado esperado es #N/A, la fórmula dé como resultado un blanco.
Rescribimos nuestra fórmula de esta manera:


=SI(ESERROR(BUSCARV(D8,Lista_1,2,0))," ",BUSCARV(D8,Lista_1,2,0))

El resultado será el siguiente



Nuestra fórmula funciona de la siguiente manera:
La función SI (If en la versión inglesa) evalúa en primer lugar el resultado de la función ESERROR (IsError) cuya variable es la búsqueda que queremos realizar. Si el resultado es positivo, es decir el resultado será #N/A, la función SI dará un resulta en blanco (señalado por " "). En caso contrario dará el resultado de la búsqueda BUSCARV(D8,Lista_1,2,0).

Esta técnica es útil, por supuesto, en cualquier otra fórmula que use funciones de Excel.

Si te gustó esta nota anotala en del.icio.us



Technorati Tags: , ,



Categorías: Funciones&Formulas_, Varios_

36 comentarios:

  1. en la version 2007 de excel encontre la funcion =SI.ERROR(valor,"valor_si_error")esta me funciono para poder corregir el problema que aparezca #NA, la pagina me parece fabulosa, mi email es opcioneo@gmail.com, felicitaciones por la pagina

    ResponderBorrar
  2. en la version 2007 de excel encontre la funcion =SI.ERROR(valor,"valor_si_error")esta me funciono para poder corregir el problema que aparezca #NA, la pagina me parece fabulosa, mi email es opcioneo@gmail.com, felicitaciones por la pagina

    ResponderBorrar
  3. En el caso de excel 2003 la fórmula sufre una pequeña modificación: se deben reemplazar las comas por puntos y comas entre los argumentos.

    Felicitaciones por la página.

    ResponderBorrar
  4. Hola,

    el tipo de separador no tiene que ver con la versión de Excel, sino con las definiciones regionales del Windows.
    Sucede que a veces escribo mis notas en el laptop, donde tengo definiciones "inglesas".
    Gracias por las felicitaciones.

    ResponderBorrar
  5. Muchas gracias por compartir sus conocimientos me han sido de mucha ayuda.

    ResponderBorrar
  6. Felicitaciones:::!!!!

    Gracias por la solución a mi gran problema con el famoso error DIV/0

    Muy útil la ayuda.

    ResponderBorrar
  7. Excelente solucion.
    yo estoy intentando adaptarlo a Dos formulas y no Puedo, aver si alguien me ayuda.
    Estas son las Formalas que me dan resultado #N/A cuando no hay un valor de origen.

    =INDICE(precio;COINCIDIR(A25;material;0))

    =SI(E25<>"";REDONDEAR(E25*F25;2);"")

    *La primera hace referencia a una lista de materiales que hace referencia a el precio correspondiente a veces en la plantilla no tengo que selecionar nada o escriber algo que no no tengo en la lista, entonces obtengo el #N/A.

    La Segunda tras selecionar el Matrial y Obtener el precio pongo la cantidad en la Celda F24 y es en la celda H24 donde tengo la Segunda formula que da #N/A.

    Cuando se introduce un Material de la Lista Todo Correcto, pero hay partes de la Factura que no hay que poner nada o escribir un Material manualmente y Entoces aparece #N/A.

    ResponderBorrar
  8. Hola Meteorito

    mandame el archivo por mail.

    ResponderBorrar
  9. Hola Jorge,

    He conocido tu página desde hace poco pero de momento ya me ha solucionado mas de un problema existencial. En el caso de la referencia #N/A en fórmulas vlookup, la había solucionado por otra vía mucho mas larga y "de estar por casa".
    Tu solucion es práctica y elegante.

    Muchas felicidades

    Jon

    ResponderBorrar
  10. vaya!!
    excelente post, gracias, de verdad... es bueno encontrar personas que tambíen publican cosas que benefician a otros y no se dedican solo a sacarle provecho al conocimiento de los demás.

    el conocimiento le pertenece a la humanidad...

    salu2

    marvin

    ResponderBorrar
  11. Muchas gracias!!! pasé quebrandome la cabeza con esto pero tu explicación fue bastante clara y efectiva. Gracias

    ResponderBorrar
  12. Excelente; muchas gracias por la explicacion, nunca supe como funcionaba la formula de que esta en el post pero ahora si me quedò muy claro; gracias otra vez

    ResponderBorrar
  13. very good

    Felicidadez por su Trabajo!!

    Es la primer pagina que encuentro que me ayudo a solucionar mi problema.

    thanks

    ResponderBorrar
  14. Es correcto, la pagina es muy buena me acaba de ayudar.

    Es importante diferenciar el uso de las funciones:
    SI.ERROR y SI(ERROR())

    Ya que la primera es sencilla, pero nos restringe a que si es VERDADERA la condicion la respuesta es el valor que se esta evaluando, por el otro lado la segunda nos permite decidir cual sera el valor a retornar si la condicion es VERDADERA O FALSA.

    Gracias por publicarla.
    Luis German Romero

    ResponderBorrar
  15. Sigo sin entender, en mi caso cuando tengo en mi lista alumnos depsarpobados me parece el escribir #N/A , pero si son aprobados o recuperan no, no se como resolver esto, se puede solucionar?? espero me respodas!!.
    Mi mail es : cantaro@live.com.ar
    Muchas gracias por la data =)Anahi

    ResponderBorrar
  16. Mandame el archivo por mail privado

    ResponderBorrar
  17. PERFEECTOO!! LE ENTENDI SUPEER! Y ME SALIO BIEN,RESOLVI MY PROBLEM,,MEEL GRAX!! =D
    MOE BUENA PAGINA!! SALU2!! ;D

    ResponderBorrar
  18. Apreciado Jorge L. Dunkelman le felicito por crear y dedicarle tiempo a este blog. Es muy útil, práctico y, definitivamente muy valioso para los cibernautas que tenemos dudas con el manejo de esta herramienta. Dios le bendiga. Un afectuoso abrazo desde Colombia.

    ResponderBorrar
  19. GENIALLLL! Muchas gracias! COn esta solución me quedó el excel muuucho mejor.
    Muchas gracias!

    ResponderBorrar
  20. La verdad es que ha sido un gran alivio.A veces la solución está en buscar el error y no intentar evitarlo...Genial!!

    ResponderBorrar
  21. Pasa el tiempo y es una duda recurrente para los que no tenemos tanto conocimento del excel. Muchas gracias!!

    ResponderBorrar
  22. GRACIAAAAAAAAAAAAAASS :)

    ResponderBorrar
  23. Muchísimas Gracias! Me hiciste quedar bien!

    ResponderBorrar
  24. Excelente ayuda, lo solucione sin problemas y en segundos. Muchas gracias!!

    ResponderBorrar
  25. GRACIAS EXELENTE AYUDA JJ COLOMBIA

    ResponderBorrar
  26. Muchisimas gracias por la ayuda. salu2

    ResponderBorrar
  27. excelente aporte me funciono perfecto!!!!!

    ResponderBorrar
  28. =SI(BUSCARV(BUSCARV($E$4;Hoja1!$A$4:$BS$368;+D5);$A$147:$B$163;2);"")

    a saber si uds pueden solucionar pues yo puse de mil formas y nada me sale bien, jejejeje

    edviroc@hotmail.com

    saludos

    ResponderBorrar
  29. IF(ISNA(f(X)),"default value","Correcta")

    ResponderBorrar
  30. gracias me saco de un problema increíble.
    gracias

    ResponderBorrar
  31. Se agradece el aporte. Me fue muy útil. Saludos

    ResponderBorrar
  32. muchas gracias después de mucho buscar esta ha sido la mejor respuesta

    ResponderBorrar
  33. Excelente me ayudaste muchooooooooooooo O.o grax

    ResponderBorrar
  34. Profesor!!! Dios te bendiga, me podrias colaborar si me haces el favor, como hago para que cuando haga un autollenado sobre una formula que necesito desplazar a las demas celdas, no me aparezca el mismo valor?
    Es que estoy aprendiendo a hacer una hoja de kardex con promedio ponderado y al escribir la formula si sencilla al autollenar me aparece el mismo valor, ejemplo 2.800, 2.800, 2.800.
    Gracias!

    ResponderBorrar
  35. Asegúrate que las referencias en las fórmulas sean relativas (sin los símbolos $).

    ResponderBorrar

Nota: sólo los miembros de este blog pueden publicar comentarios.