hacer invisible #N/A

11/05/2005 - 22:21 por hacer invisible #N/A | Informe spam
Necesito saber como ocultar en una planilla el valor #N/A.
saludos

Preguntas similare

Leer las respuestas

#1 KL
11/05/2005 - 22:59 | Informe spam
Hola anonimo,

Una forma es modificar la formula de esta manera:

=SI(ESERROR(MiFormula);"";MiFormula)

P.ej. si la formula es =BUSCARV(A1;$D$1:$E$10;2;FALSO)
entonces se pondria asi:

=SI(ESERROR(BUSCARV(A1;$D$1:$E$10;2;FALSO));"";BUSCARV(A1;$D$1:$E$10;2;FALSO))

Tambien podrias usar el formato condicional (menu Formato>Formato
condicional) para cambiar el color de texto al del fondo si la celda
contiene error.

Saludos,
KL

"hacer invisible #N/A" <hacer invisible #N/
wrote in message news:
Necesito saber como ocultar en una planilla el valor #N/A.
saludos
Respuesta Responder a este mensaje
#2 Luis Garcia
12/05/2005 - 11:03 | Informe spam
"KL" escribió en...
Hola anonimo,

Una forma es modificar la formula de esta manera:

=SI(ESERROR(MiFormula);"";MiFormula)

P.ej. si la formula es =BUSCARV(A1;$D$1:$E$10;2;FALSO)
entonces se pondria asi:




=SI(ESERROR(BUSCARV(A1;$D$1:$E$10;2;FALSO));"";BUSCARV(A1;$D$1:$E$10;2;FALSO
))


Hola KL, hola a todos: Tengo una curiosidad:

En estas fórmulas: ¿Se repite el cálculo de 'MiFormula'?
Es decir: ¿Realiza el BuscarV() DOS veces, una para comprobar si
EsError() y otra para devolver el valor?

Yo siempre he intentado evitar usar esto porque creo que SI que lo
calcula dos veces, y cuando tengo un gran fichero y muchas formulas de
este tipo entonces, si puedo, lo evito.

Saludos

PD: Si ademas de confirmar si o no, se incluye un ejemplo para poderlo
verificar, eso seria ya la ostia. :-)
Respuesta Responder a este mensaje
#3 KL
12/05/2005 - 13:23 | Informe spam
Hola Luis,

En estas fórmulas: ¿Se repite el cálculo de 'MiFormula'?
Es decir: ¿Realiza el BuscarV() DOS veces, una para comprobar si
EsError() y otra para devolver el valor?



correcto

Yo siempre he intentado evitar usar esto porque creo que SI que lo
calcula dos veces, y cuando tengo un gran fichero y muchas formulas de
este tipo entonces, si puedo, lo evito.



Yo tambien - siempre que pueda (ojo - BUSCARV y COINCIDIOR son unas
funciones muy rapidas, bastante mas que CONTAR.SI por ejemplo). Aqui pongo
un par de ideas que se me ocurren:
1) en primer lugar cuando se trata de ficheros grandes con muchas formulas,
uno se tiene que pensarlo 40 veces antes de hacer cualquier tipo de adornos
o formatos de caracter cosmetico.
2) en el caso de =SI(ESERROR(Formula);"";Formula) una opcion podria ser la
de crear una formula denominada y luego usar el nombre dentro de
=SI(ESERROR(...);"";...). Entonces el calculo se realizaria solo una vez
3) para ficheros grandes la opcion del formato condicional puede ser una
solucion
4) tambien en cada caso concreto hay que procurar encontrar la causa
inmediata del error e incluir en ESERROR() solo aquella parte. En este caso
tiene que ser la formula entera, pero p.ej. en la formula sigiente si lo que
buscamos es evitar el error por dividir por 0:
=SUMA(A1:D5)*MAX(F1:F5)/PRODUCT(B1:B5)
entonces solo necesitariamos validar PRODUCT(B1:B5), algo como esto:
=SI(PRODUCT(B1:B5)=0;"";SUMA(A1:D5)*MAX(F1:F5)/PRODUCT(B1:B5))

Saludos,
KL
Respuesta Responder a este mensaje
#4 Gustavo Fellay
12/05/2005 - 20:58 | Informe spam
Hola, tomando un poco lo que dice KL en el punto 3), les
dejo "mi" solución para evitar esto.
En todos los archivos que no quiera validar esto hago una
pequeña función personalizada que chequee este error; el
código sería

Function nvl(a , b)
if iserror (a) then
nvl = b
else
nvl = a
endif
End Function

este código lo pongo en un módulo dentro del archivo; y
luego en lugar de hacer todos los chequeos pondría por
ejemplo
=nvl(BUSCARV(A1;$D$1:$E$10;2;FALSO);"")

creo que esto tiene 2 ventajas claves
1) no ejecutar 2 veces el cálculo (aunque si se usa la
función personalizada)
2) queda mucho mas "sencillo" para analizar (sobre todo
cuando la fórmula que puede tener el error es muy larga)

Espero haber aportado mi granito de arena y que les sirva
a otros.

Saludos,
Gustavo

PD: le puse el nombre "nvl" porque es una función
predefinida del SQL de Oracle que se llama de esa forma y
hace exactamente esto.



"KL" escribió en...
Hola anonimo,

Una forma es modificar la formula de esta manera:

=SI(ESERROR(MiFormula);"";MiFormula)

P.ej. si la formula es =BUSCARV(A1;$D$1:$E$10;2;FALSO)
entonces se pondria asi:




=SI(ESERROR(BUSCARV(A1;$D$1:$E$10;2;FALSO));"";BUSCARV


(A1;$D$1:$E$10;2;FALSO
))


Hola KL, hola a todos: Tengo una curiosidad:

En estas fórmulas: ¿Se repite el cálculo de 'MiFormula'?
Es decir: ¿Realiza el BuscarV() DOS veces, una para


comprobar si
EsError() y otra para devolver el valor?

Yo siempre he intentado evitar usar esto porque creo que


SI que lo
calcula dos veces, y cuando tengo un gran fichero y


muchas formulas de
este tipo entonces, si puedo, lo evito.

Saludos

PD: Si ademas de confirmar si o no, se incluye un ejemplo


para poderlo
verificar, eso seria ya la ostia. :-)



.

Respuesta Responder a este mensaje
#5 KL
12/05/2005 - 22:17 | Informe spam
Hola Gustavo,

Me temo que la solucion que ofreces tiene un "pequeño" problemilla:

Tiempo de recalculo en 20.000 celdas (P4 1.8GHz,512 MB RAM):

1) =nvl(BUSCARV(A1;$D$1:$E$10;2;FALSO);"")

00:02:45

2)
=SI(ESERROR(BUSCARV(A1;$D$1:$E$10;2;FALSO));"";BUSCARV(A1;$D$1:$E$10;2;FALSO))

<00:00:01

Saludos,
KL



"Gustavo Fellay" wrote in message
news:02db01c55724$99afed90$
Hola, tomando un poco lo que dice KL en el punto 3), les
dejo "mi" solución para evitar esto.
En todos los archivos que no quiera validar esto hago una
pequeña función personalizada que chequee este error; el
código sería

Function nvl(a , b)
if iserror (a) then
nvl = b
else
nvl = a
endif
End Function

este código lo pongo en un módulo dentro del archivo; y
luego en lugar de hacer todos los chequeos pondría por
ejemplo
=nvl(BUSCARV(A1;$D$1:$E$10;2;FALSO);"")

creo que esto tiene 2 ventajas claves
1) no ejecutar 2 veces el cálculo (aunque si se usa la
función personalizada)
2) queda mucho mas "sencillo" para analizar (sobre todo
cuando la fórmula que puede tener el error es muy larga)

Espero haber aportado mi granito de arena y que les sirva
a otros.

Saludos,
Gustavo

PD: le puse el nombre "nvl" porque es una función
predefinida del SQL de Oracle que se llama de esa forma y
hace exactamente esto.



"KL" escribió en...
Hola anonimo,

Una forma es modificar la formula de esta manera:

=SI(ESERROR(MiFormula);"";MiFormula)

P.ej. si la formula es =BUSCARV(A1;$D$1:$E$10;2;FALSO)
entonces se pondria asi:




=SI(ESERROR(BUSCARV(A1;$D$1:$E$10;2;FALSO));"";BUSCARV


(A1;$D$1:$E$10;2;FALSO
))


Hola KL, hola a todos: Tengo una curiosidad:

En estas fórmulas: ¿Se repite el cálculo de 'MiFormula'?
Es decir: ¿Realiza el BuscarV() DOS veces, una para


comprobar si
EsError() y otra para devolver el valor?

Yo siempre he intentado evitar usar esto porque creo que


SI que lo
calcula dos veces, y cuando tengo un gran fichero y


muchas formulas de
este tipo entonces, si puedo, lo evito.

Saludos

PD: Si ademas de confirmar si o no, se incluye un ejemplo


para poderlo
verificar, eso seria ya la ostia. :-)



.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida