Función "SI"

02/05/2004 - 02:15 por Bocha | Informe spam
Estimados:

Necesito ayuda con la siguiente función.
Esta función debería ir así como está, pero en elagún lugar estoy poniendo
masl un paréntesis o un punto y coma y exel me dice que he agregado
demasiados argumentos.

=SI(Y(B8<>B7);SI(Y(L8>0;$F8>$D8);ENTERO(L8*($D8/$F8)+1);SI($F8>$D8;ENTERO(L8
*($D8/$F8));SI($F8<$D8;L8);SI($B8=$B7;SI(Y(L8>0;$J7>0);ENTERO(L8*($J7/$F7)+1
);SI($J7>0;ENTERO(L8*($J7/$F7));""))))))

Si por ejemplo divido la función en dos (como la copio debajo) esta
funciona,
pero necesito meter todo en una celda.

=SI(Y(B8<>B7);SI(Y(L8>0;$F8>$D8);ENTERO(L8*($D8/$F8)+1);SI($F8>$D8;ENTERO(L8
*($D8/$F8));SI($F8<$D8;L8))))
=SI($B8=$B7;SI(Y(L8>0;$J7>0);ENTERO(L8*($J7/$F7)+1);SI($J7>0;ENTERO(L8*($J7/
$F7));"")))

Les pido que la revisen para ver si se dan cuenta donde está el error y como
lo puedo solucionar.
Tal vez sean muchos "SI". ¿En ese caso cómo lo soluciono?, ¿Podrá utilizar
un macro?


Agradezco desde ya cualquier ayuda que me puedan dar para poder terminar el
trabajo.

Saludos

El Bocha

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
02/05/2004 - 03:18 | Informe spam
hola, Bocha !

... en algun lugar estoy poniendo mal un ... y exel me dice que ... demasiados argumentos.
=SI(Y(B8<>B7);SI(Y(L8>0;$F8>$D8);ENTERO(L8*($D8/$F8)+1);SI($F8>$D8;ENTERO(L8
*($D8/$F8));SI($F8<$D8;L8);SI($B8=$B7;SI(Y(L8>0;$J7>0);ENTERO(L8*($J7/$F7)+1
);SI($J7>0;ENTERO(L8*($J7/$F7));""))))))



pues... [parece que] 'efectivamente', te 'perdiste' con una formula tan larga...
'terminaste' ANTES un prentesis 'de cierre' en una funcion 'SI' =>SI($F8<$D8;L8)<= :((
y 'de paso'... tambien la primer 'condicion Y' [segundo 'par' de parentesis]... esta 'de mas' ;)
prueba con la siguiente formula =>obviamente, es en una sola linea<= ;)
=Si(B8<>B7;
Si(Y(L8>0;$F8>$D8);Entero(L8*($D8/$F8)+1);
Si($F8>$D8;Entero(L8*($D8/$F8));
Si($F8<$D8;L8;
Si($B8=$B7;
Si(Y(L8>0;$J7>0);Entero(L8*($J7/$F7)+1);
Si($J7>0;Entero(L8*($J7/$F7));"")))))))

[por cierto]... hay algunas 'incongruencias' [valdria la pena revisar el proposito de la formula]
saludos,
hector.
Respuesta Responder a este mensaje
#2 Bocha
02/05/2004 - 04:06 | Informe spam
Estimado Hector Miguel:

Muchas Grcias por tu respuesta.
Con tu ayuda ya no me da el error y puedo introducir la fórmula, pero hay
algo que no cierra pues cuando el valor de B8 es igual al de B7 devuelve
falso.
Creo que es porque en el parte donde dice
"SI($F8<$D8;L8;SI($B8=$B7;SI(Y" toma como que fuera todo junto y en
realidad el SI($F8<$D8;L8 es una condición única y debería estar separada de
lo siguiente.
Imagino que ese será el error, pues si aplico como formula lo que sigue
después
...SI($B8=$B7;SI(Y(L8>0;$J7>0);ENTERO(L8*($J7/$F7)+1);SI($J7>0;ENTERO(L8*($J
7/$F7))))))))) el valor que devuelve es el deseado.


Así es como está la fórmola hasta ahora.

=SI($B8<>$B7;SI(Y(L8>0;$F8>$D8);ENTERO(L8*($D8/$F8)+1);SI($F8>$D8;ENTERO(L8*
($D8/$F8));SI($F8<$D8;L8;SI($B8=$B7;SI(Y(L8>0;$J7>0);ENTERO(L8*($J7/$F7)+1);
SI($J7>0;ENTERO(L8*($J7/$F7)))))))))


El problema es que no sé como resolver el conflicto.
Te pido si me puedes ayudar.

Si es necesario puedo enviar el archivo al foro o a tu dirección. si deseas
esto indicame la direccion donde enviarlo.

Muchas Gracias Nuevamente.

Saludos,

El Bocha



"Héctor Miguel" escribió en el mensaje
news:eJw1wN%
hola, Bocha !

> ... en algun lugar estoy poniendo mal un ... y exel me dice que ...


demasiados argumentos.
>


=SI(Y(B8<>B7);SI(Y(L8>0;$F8>$D8);ENTERO(L8*($D8/$F8)+1);SI($F8>$D8;ENTERO(L8
>


*($D8/$F8));SI($F8<$D8;L8);SI($B8=$B7;SI(Y(L8>0;$J7>0);ENTERO(L8*($J7/$F7)+1
> );SI($J7>0;ENTERO(L8*($J7/$F7));""))))))

pues... [parece que] 'efectivamente', te 'perdiste' con una formula tan


larga...
'terminaste' ANTES un prentesis 'de cierre' en una funcion 'SI'


=>SI($F8<$D8;L8)<= :((
y 'de paso'... tambien la primer 'condicion Y' [segundo 'par' de


parentesis]... esta 'de mas' ;)
prueba con la siguiente formula =>obviamente, es en una sola linea<= ;)
=Si(B8<>B7;
Si(Y(L8>0;$F8>$D8);Entero(L8*($D8/$F8)+1);
Si($F8>$D8;Entero(L8*($D8/$F8));
Si($F8<$D8;L8;
Si($B8=$B7;
Si(Y(L8>0;$J7>0);Entero(L8*($J7/$F7)+1);
Si($J7>0;Entero(L8*($J7/$F7));"")))))))

[por cierto]... hay algunas 'incongruencias' [valdria la pena revisar el


proposito de la formula]
saludos,
hector.
Respuesta Responder a este mensaje
#3 Héctor Miguel
02/05/2004 - 09:34 | Informe spam
hola, Bocha !

... hay algo que no cierra ... cuando ... B8 es igual a... B7 devuelve falso [...]
... si aplico como formula lo que sigue
...SI($B8=$B7;SI(Y(L8>0;$J7>0);ENTERO(L8*($J7/$F7)+1);SI($J7>0;ENTERO(L8*($J7/$F7)))))))))
el valor que devuelve es el deseado [...]



como te comentaba en el mensaje anterior...
[por cierto]... hay algunas 'incongruencias' [valdria la pena revisar el proposito de la formula]




aunque he tratado de 'entender' la logica de la formula... no lo he logrado 'cabalmente' :((
la he 'simplificado' [un poco] y he 'desaparecido' =>algunas<= 'situaciones de falso =>NO todas<= ;)
sigue 'dando' falso cuando b8· ...Y... f7 O j7 ... NO son >0
[creo que]... 'tendras que' trabajar un poco mas en el 'proposito' de la formula.
haz la prueba con la siguiente:
=Si($b8<>$b7;Si($f8>$d8;Entero(l8*($d8/$f8)+(l8>0));l8);Si(Y($f7>0;$j7>0);Entero(l8*($j7/$f7)+(l8>0))))

¿comentas?
saludos,
hector.
Respuesta Responder a este mensaje
#4 Bocha
03/05/2004 - 03:13 | Informe spam
Estimado Hector:

Creo que así funciona a la perfección.
Lo voy a probar con algunos ejemplos para saber con las diferentes variables
que se pueden dar si siempre funciona y luego te expongo los resultados.
Lo que quería lograr es poder solucionar una situación que se me plantea con
un archivo que tengo donde los datos van variando y tengo que poder ir
eligiendo en base a un consumo determinado, de qué materia prima ira
haciendo la descarga correspondiente. El problema se me planteaba cuando
tengo varas materias primas disponibes de un mismo tipo y tenía que ir
consumiendo de la primera y luego si el saldo de esa no era suficiente,
elegir la siguiente y así sucesivamente.
Sé que es dificil de entender con solo palabras.
En su momento había posteado un archivo con la problemática pero
lamentablemente, seguramente mi explicación complicó las cosas, y no tuve
ninguna respuesta a mi problema. El archivo lo subí el 21/04 bajo el asunto
de "Ayuda cpn Macro o Función"
Cómo te dije lo voy a probar con duferentes situaciones y luego te comento.
Seguramente tenga que volver sobre el tema pues lo que quiero es aplicar un
macro utilizando esta función para un rango de celdas, pero primero quería
lograr lo que tu me has ayudado a completar para saber que estaba correcto
el razonamiento.

Agradezco nuevamente tu ayuda y me comprometo a devolver comentarios de si
la fórmula sirve para lo que quería.

Muchas Gracias por tu ayuda y preocupación.

Saludos,

El Bicha.


"Héctor Miguel" escribió en el mensaje
news:
hola, Bocha !

> ... hay algo que no cierra ... cuando ... B8 es igual a... B7 devuelve


falso [...]
> ... si aplico como formula lo que sigue
>


...SI($B8=$B7;SI(Y(L8>0;$J7>0);ENTERO(L8*($J7/$F7)+1);SI($J7>0;ENTERO(L8*($J
7/$F7)))))))))
> el valor que devuelve es el deseado [...]

como te comentaba en el mensaje anterior...
>> [por cierto]... hay algunas 'incongruencias' [valdria la pena revisar


el proposito de la formula]
aunque he tratado de 'entender' la logica de la formula... no lo he


logrado 'cabalmente' :((
la he 'simplificado' [un poco] y he 'desaparecido' =>algunas<'situaciones de falso =>NO todas<= ;)
sigue 'dando' falso cuando b8· ...Y... f7 O j7 ... NO son >0
[creo que]... 'tendras que' trabajar un poco mas en el 'proposito' de la


formula.
haz la prueba con la siguiente:



=Si($b8<>$b7;Si($f8>$d8;Entero(l8*($d8/$f8)+(l8>0));l8);Si(Y($f7>0;$j7>0);En
tero(l8*($j7/$f7)+(l8>0))))

¿comentas?
saludos,
hector.

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