enero 26, 2012

Excel - quitar en #N/A de buscarv

 

Una pregunta común es "Cómo puedo hacer para que BUSCARV devuelva 0 o "" en vez de #N/A! ?"

Asumiendo que la fórmula actual es

=BUSCARV(A1,$B$2:$D$100,3,Falso)
o más corto
=BUSCARV(A1,$B$2:$D$100,3,0)

el método usual es:

=IF(ESNOD(BUSCARV(A1,$B$2:$D$100,3,0)),””, BUSCARV(A1,$B$2:$D$100,3,0))

pero esto obliga a Excel a calcular DOBLEMENTE el BUSCARV, que es una fórmula "costosa" en términos de eficiencia.

Una solución mejorada es:

=SI(CONTAR.SI($B$2:$B$100,A1), BUSCARV(A1,$B$2:$D$100,3,0),””)

De esta forma el BUSCARV sólo se calcula si el valor de A1 existe en B2:B100, y por lo tanto BUSCARV no devolverá #N/A!

Compatible con excel 2010 en español
--
Tomado de
http://www.mrexcel.com/truco/weblog.shtml

1 comentario:

Danilo Soto Villena dijo...

Una forma mucho mas simple es: =SI.ERROR(BUSCARV(A1,$B$2:$D$100,3,0),"")

La Función SI.ERROR ejecuta lo que esta en el primer parámetro (el BUSCARV), muestra el resultado. Si el resultado es un error, devuelve el valor que le pasamos en el segundo parámetro (en este caso "")

Se ha producido un error en este gadget.