Author Topic: ¿Puedo poner una especie de 'EXIT' o 'CANCEL' en una fórmula de excel?  (Read 4033 times)

0 Members and 1 Guest are viewing this topic.

Offline gilanrodas

  • Sv Full Member
  • *
  • Posts: 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.

Offline JGuillen™

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Posts: 3449
  • PHP,C#,MySQL,SQL
seria bueno q nos proporcionaras el codigo (o la formula) para analizarla y pues darte alternativas..!  :big_boss:

Offline gilanrodas

  • Sv Full Member
  • *
  • Posts: 527
  • What Would Jesus Do?
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.
« Last Edit: August 30, 2008, 11:39:53 am by gilanrodas »

Offline tekun

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Posts: 3221
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
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

Offline vlad

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

Offline gilanrodas

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

william

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

powerdown

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