Para conocimiento de Héctor Miguel

03/04/2007 - 21:49 por Ernesto | Informe spam
Héctor, te comento para tu información: [mi consulta del 02/04/2007]


Tengo en una celda una formula que me está dando problemas, y no le
encuentro el quid. La formula es:
=SI($AC10<=3;"";(SUMAR.SI($B$81:$B$140;"H";$N$81:$N$140)-$L10)/2-($R10/(2*$AC10)))+($W10/2)
y funciona perfectamente, siempre y cuando la celda $W10, tenga valor,
valorque toma de otra celda que en ocasiones es 'cero'.
Supongo que el error "#¡VALOR!" lo da por dividir el valor de la celda, 0
por 2.
Lo ultimo de la furmula +($W10/2), es necesario y no encuentro como hacer
para que aun siendo '0'
el resultado quede en 'blanco' y no de error, ya que con este error, la
suma total cuando incluye esta celda, da tambien este error.



1) 'dividir' un cero por un numero 'real' [NO CERO] no devuelve 'errores'...
devuelve tambien CERO

2) si obtienes el valor de error #¡VALOR! significa que [alg]uno de los
elementos en la operacion o argumentos en la funcion..
NO es posible de interpretar como numero

3) [probablemente] si estas 'depositando' cadenas vacias -> EN LUGAR DE
CEROS cuando no se cumplen tus condiciones...
las cadenas 'vacias' siguen siendo textos y [hasta donde se] no es
posible opear 'aritmeticamente' los textos :-((

ejemplos:
=0/1000 -> devuelve CERO
=""*1 -> devuelve #¡VALOR!

Cambiando a:
=SI($AC10<=3;"";($W10/2)+(SUMAR.SI($B$81:$B$140;"H";$N$81:$N$140)-$L10)/2-($R10/(2*$AC10))),
¡¡ Funciona !!

Pero no se porqué, y me gustaría para seguir aprendiendo.
Un saludo.
 

Leer las respuestas

#1 Héctor Miguel
04/04/2007 - 04:13 | Informe spam
hola, Ernesto !

Tengo en una celda una formula que me esta dando problemas, y no le encuentro el quid. La formula es:
=SI($AC10<=3;"";(SUMAR.SI($B$81:$B$140;"H";$N$81:$N$140)-$L10)/2-($R10/(2*$AC10)))+($W10/2)
y funciona perfectamente, siempre y cuando la celda $W10, tenga valor [...]


Cambiando a: =SI($AC10<=3;"";($W10/2)+(SUMAR.SI($B$81:$B$140;"H";$N$81:$N$140)-$L10)/2-($R10/(2*$AC10))), Funciona !! Pero no se porque, y me gustaria para seguir aprendiendo.

ejemplos:
=0/1000 -> devuelve CERO
=""*1 -> devuelve #¡VALOR!



1) en tu formula 'original' =SI($AC10<=3;"";(SUMAR.SI($B$81:$B$140;"H";$N$81:$N$140)-$L10)/2-($R10/(2*$AC10)))+($W10/2)
a) al final de cuentas, la funcion =SI(...) se termina de 'evaluar'... y -> DESPUES se 'suma' -> +($W10/2)
b) si la formula 'llegara' a depositar una cadena vacia... -> =SI($AC10<=3;""; etc. etc. etc.
c) va a 'resultar' que estas tratando de hacer la operacion del ejemplo: =""+($W10/2) <= 'esto' es igual a: -> #¡VALOR! :))

2) en tu formula 'modificada' =SI($AC10<=3;"";($W10/2)+(SUMAR.SI($B$81:$B$140;"H";$N$81:$N$140)-$L10)/2-($R10/(2*$AC10)))
al final de cuentas se trata de una formula con TODAS las operaciones DENTRO de una funcion =SI(...)

si cualquier duda... comentas ?
saludos,
hector.

Preguntas similares