En la ayuda de esa función en excel, dice, entre otras cosas: "Si el valor_buscado es menor que el menor valor de la primera columna de matriz_de_comparación, BUSCARV devuelve el valor de error #N/A." Eso significa que si el valor no es encontrado en todos los registros, excel retorna ese error. Yo lo controlo de la siguiente forma:
B5: es el valor buscado. Datos es la hoja con la matriz. Si B5 es diferente de vacio hace la busqueda, sino escribe "Escriba Un Código".
En la busqueda se presentan dos casos, o que el valor devuelto por la funcion no sea el valor buscado (esto ocurre cuando el dato no esta, pues se devuelve el inmediatamente anterior) o que se devuelva el error
"#N/A". nota: solo tienes que quitar los espacios del ejemplo.
=SI(B5<>"";
SI(
O(BUSCARV(B5;Datos!A:K;1;VERDADERO)<>B5;
BUSCARV(B5;Datos!A:K;1;VERDADERO)="#N/A");
"No se Halló";
BUSCARV(B5;Datos!A:K;2;VERDADERO));
"Escriba Un Código")