Autor Tema: ¿Puedo poner una especie de 'EXIT' o 'CANCEL' en una fórmula de excel?  (Leído 3797 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado gilanrodas

  • Sv Full Member
  • *
  • Mensajes: 527
  • What Would Jesus Do?
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.

Desconectado JGuillen™

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3449
  • PHP,C#,MySQL,SQL
Re: ¿Puedo poner una especie de 'EXIT' o 'CANCEL' en una fórmula de excel?
« Respuesta #1 : agosto 30, 2008, 11:30:29 am »
seria bueno q nos proporcionaras el codigo (o la formula) para analizarla y pues darte alternativas..!  :big_boss:

Desconectado gilanrodas

  • Sv Full Member
  • *
  • Mensajes: 527
  • What Would Jesus Do?
Re: ¿Puedo poner una especie de 'EXIT' o 'CANCEL' en una fórmula de excel?
« Respuesta #2 : agosto 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.
« Última Modificación: agosto 30, 2008, 11:39:53 am por gilanrodas »

Desconectado tekun

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3221
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
Re: ¿Puedo poner una especie de 'EXIT' o 'CANCEL' en una fórmula de excel?
« Respuesta #3 : agosto 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 ""
lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito

Desconectado vlad

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 6351
    • Qualium.net
Re: ¿Puedo poner una especie de 'EXIT' o 'CANCEL' en una fórmula de excel?
« Respuesta #4 : septiembre 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.

Desconectado gilanrodas

  • Sv Full Member
  • *
  • Mensajes: 527
  • What Would Jesus Do?
Re: ¿Puedo poner una especie de 'EXIT' o 'CANCEL' en una fórmula de excel?
« Respuesta #5 : septiembre 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!

william

  • Visitante
Re: ¿Puedo poner una especie de 'EXIT' o 'CANCEL' en una fórmula de excel?
« Respuesta #6 : septiembre 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

powerdown

  • Visitante
Re: ¿Puedo poner una especie de 'EXIT' o 'CANCEL' en una fórmula de excel?
« Respuesta #7 : septiembre 17, 2008, 03:19:57 pm »
secundo subi el archivo y veremos como te podemos ayudar...