Sv Community El Salvador

Soporte y Tecnología => Programación => Topic started by: gilanrodas on August 30, 2008, 10:49:55 am

Title: ¿Puedo poner una especie de 'EXIT' o 'CANCEL' en una fórmula de excel?
Post by: gilanrodas on August 30, 2008, 10:49:55 am
Tengo una fórmula un poco compleja en excel, pero quiero saber si hay alguna forma de que, al ejecutarse la primera parte de la fórmula, dependiendo de si se cumple o no una condición, se salga del "bucle" por así decirlo y ya no se ejecute el resto de la fórmula, como un EXIT o CANCEL en programación.
Title: Re: ¿Puedo poner una especie de 'EXIT' o 'CANCEL' en una fórmula de excel?
Post by: JGuillen™ on August 30, 2008, 11:30:29 am
seria bueno q nos proporcionaras el codigo (o la formula) para analizarla y pues darte alternativas..!  :big_boss:
Title: Re: ¿Puedo poner una especie de 'EXIT' o 'CANCEL' en una fórmula de excel?
Post by: gilanrodas on August 30, 2008, 11:38:09 am
seria bueno q nos proporcionaras el codigo (o la formula) para analizarla y pues darte alternativas..!  :big_boss:

La fórmula a continuación:

=CONCATENAR(SI(O(K8<B8,Y(K8=B8,K9<B9)),"Error: Fecha/Hora inicial es mayor que la fecha/hora final.",SI(K8=B8,SI(HORA(K9-B9)<=12,0,HORA(K9-B9)-12),SI(K9=B9,SI((DIAS360(B8,K8)*24)<=12,0,(DIAS360(B8,K8)*24)-12),SI(K9>B9,SI((DIAS360(B8,K8)*24+HORA(K9-B9))<=12,0,(DIAS360(B8,K8)*24+HORA(K9-B9))-12),SI(MINUTO(B9-K9)=0,SI((DIAS360(B8,K8)*24-1-(HORA(B9-K9)-1))<=12,0,(DIAS360(B8,K8)*24-1-(HORA(B9-K9)-1))-12),SI((((DIAS360(B8,K8)*24)-1)-HORA(B9-K9))<=12,0,(((DIAS360(B8,K8)*24)-1)-HORA(B9-K9))-12)))))),SI(O(K8<B8,Y(K8=B8,K9<B9)),"",":"),SI(O(K8<B8,Y(K8=B8,K9<B9)),"",SI(O(Y(MINUTO(K9)>MINUTO(B9),(MINUTO(K9)-MINUTO(B9))<10),Y(MINUTO(K9)<MINUTO(B9),(60-(MINUTO(B9)-MINUTO(K9)))<10)),"0","")),SI(O(K8<B8,Y(K8=B8,K9<B9)),"",SI(MINUTO(K9)=MINUTO(B9),"00",SI(MINUTO(K9)>MINUTO(B9),MINUTO(K9)-MINUTO(B9),60-(MINUTO(B9)-MINUTO(K9))))))

Lo que quiero es que, cuando se ejecute lo que está en rojo, si el resultado es 0, ya no se ejecuté la última parte de la fórmula, lo que está en negro.
Title: Re: ¿Puedo poner una especie de 'EXIT' o 'CANCEL' en una fórmula de excel?
Post by: tekun on August 30, 2008, 01:30:42 pm
antes del concatenar [inicio de la formula] pone un SI, evaluando todo lo de concatenar sea igual a "0", en la parte del true pone lo que esta en negro en el false pone ""
Title: Re: ¿Puedo poner una especie de 'EXIT' o 'CANCEL' en una fórmula de excel?
Post by: vlad on September 17, 2008, 09:43:24 am
gilanrodas, 18 días han pasado desde la ultima respuesta y no has confirmado si pudiste solucionar tu problema.

Recuerda dar por finalizas las consultas para que las que hagas en un futuro no te sean menospreciadas.
Title: Re: ¿Puedo poner una especie de 'EXIT' o 'CANCEL' en una fórmula de excel?
Post by: gilanrodas on September 17, 2008, 02:37:56 pm
antes del concatenar [inicio de la formula] pone un SI, evaluando todo lo de concatenar sea igual a "0", en la parte del true pone lo que esta en negro en el false pone ""

La fórmula a continuación:

=CONCATENAR(SI(O(K8<B8,Y(K8=B8,K9<B9)),"Error: Fecha/Hora inicial es mayor que la fecha/hora final.",SI(K8=B8,SI(HORA(K9-B9)<=12,0,HORA(K9-B9)-12),SI(K9=B9,SI((DIAS360(B8,K8)*24)<=12,0,(DIAS360(B8,K8)*24)-12),SI(K9>B9,SI((DIAS360(B8,K8)*24+HORA(K9-B9))<=12,0,(DIAS360(B8,K8)*24+HORA(K9-B9))-12),SI(MINUTO(B9-K9)=0,SI((DIAS360(B8,K8)*24-1-(HORA(B9-K9)-1))<=12,0,(DIAS360(B8,K8)*24-1-(HORA(B9-K9)-1))-12),SI((((DIAS360(B8,K8)*24)-1)-HORA(B9-K9))<=12,0,(((DIAS360(B8,K8)*24)-1)-HORA(B9-K9))-12)))))),SI(O(K8<B8,Y(K8=B8,K9<B9)),"",":"),SI(O(K8<B8,Y(K8=B8,K9<B9)),"",SI(O(Y(MINUTO(K9)>MINUTO(B9),(MINUTO(K9)-MINUTO(B9))<10),Y(MINUTO(K9)<MINUTO(B9),(60-(MINUTO(B9)-MINUTO(K9)))<10)),"0","")),SI(O(K8<B8,Y(K8=B8,K9<B9)),"",SI(MINUTO(K9)=MINUTO(B9),"00",SI(MINUTO(K9)>MINUTO(B9),MINUTO(K9)-MINUTO(B9),60-(MINUTO(B9)-MINUTO(K9))))))

Lo que quiero es que, cuando se ejecute lo que está en rojo, si el resultado es 0, ya no se ejecuté la última parte de la fórmula, lo que está en negro.

No encontré la forma de hacerlo, es que son demasiados argumentos o funciones anidadas (si se les puede llamar así) y Excel permite hasta 7. Por el momento me he quedado con otra forma, aunque me deja un valor de más después de los dos puntos; me deja minutos que deberían ser cero. Lo bueno es que al hacer el cálculo monetario que quería obtengo el valor exacto. Sólo sería cuestión de ver como elimino los dígitos de los minutos cuando la cantidad de horas sean menor a 12, por eso quería encontrar algo parecido a un CANCEL o EXIT para saltarme la última parte de la fórmula (lo que está en negro arriba) dependiendo de si se cumplía o no la condición. Si alguien me puede ayudar, chivo, si no creo que funcionará bien por el momento (mientras salgo de parciales). ¡Muchas gracias!
Title: Re: ¿Puedo poner una especie de 'EXIT' o 'CANCEL' en una fórmula de excel?
Post by: william on September 17, 2008, 02:59:19 pm
Podes subir mejor la hoja de calculo y explicar que es lo que hace, creo que así sería más facil ayudarte
Title: Re: ¿Puedo poner una especie de 'EXIT' o 'CANCEL' en una fórmula de excel?
Post by: powerdown on September 17, 2008, 03:19:57 pm
secundo subi el archivo y veremos como te podemos ayudar...