Fórmula de Excel: vencimiento a 55 días al final de la década

Resuelto
chti_ben -  
 Benoît -
Hola,
Estoy intentando encontrar la fórmula en Excel que permita calcular una fecha de vencimiento correcta para una condición de 55 días fin de década, es decir:
Si la fecha de factura en la celda A6 es 5 ene 09
Entonces la fecha de vencimiento = 10 mar 09
porque 5 ene 09 + 55 = 1 mar 09, así que fin de década 10 mar 09
Para este caso concreto, la fórmula siguiente es correcta:
=si(DÍA(A6+55)<=10,FECHA(AÑO(A6),MES(A6)+2,10),SI(DÍA(A6+55)<=20,FECHA(AÑO(A6),MES(A6)+2,20),SI(DÍA(A6+55)<=30,FECHA(AÑO(A6),MES(A6)+2,30),SI(DÍA(A6+55)=31,FECHA(AÑO(A6),MES(A6)+2,10)))))
(bien digerido)
Pero para el siguiente caso, el cálculo es incorrecto:
Si la fecha de factura en la celda A2 es 1 ene 09
Entonces la fecha de vencimiento = 28 feb 09
porque 1 ene 09 + 55 = 25 feb 09, así que fin de década 28 feb 09.
Pero la misma fórmula siguiente da una fecha de vencimiento al 30 mar 09.
¿Alguien puede ayudarme?
Gracias de antemano, amigos.

Chti_Ben
Configuración: Windows XP Internet Explorer 6.0

15 respuestas

  1. michel_m Mensajes publicados 18903 Fecha de registro   Estado Colaborador Última intervención   3 320
     
    Hola
    intenta (XL francés...)
    =DATE(AÑO(A1);MES(A1);(DÍA(A1)+55)+9-MOD(DÍA(A1)+55;10))
    --
    Atentamente, Michel
    1
  2. chti_ben Mensajes publicados 15 Estado Miembro
     
    Michel,
    Muchas gracias.
    Estoy trabajando en un Excel en inglés, ¿qué significa MOD en la fórmula (o su equivalente en inglés)?
    Nos vemos pronto.
    Chti_ben
    0
  3. michel_m Mensajes publicados 18903 Fecha de registro   Estado Colaborador Última intervención   3 320
     
    en inglés MOD se dice... MOD
    calcula el resto de la división de un número por otro
    por ejemplo
    MOD(28,10) devuelve 8
    MOD(30,10 devuelve 0
    etc.
    y no olvides que hay que reemplazar los puntos y comas por comas....
    --
    Atentamente, Michel
    0
    1. irishrom
       
      Buenas noches, Michel,

      Es una fórmula muy bonita la que hay.
      Lamentablemente, temo que haya problemas a causa del 29 de febrero.

      He probado la versión en francés:
      la fórmula funciona del 01 de enero al 28 de febrero sin problemas.
      el 28.02.09 da una fecha de vencimiento al 30.04.09

      Pero para el 01.03.09 la fórmula devuelve la fecha de vencimiento al 28.04.09 (??)

      Luego para el 05.03.09 la fecha de vencimiento se vuelve 08.05.09 (extraño)...

      A menos que me haya equivocado, Chti_Ben, si puedes confirmar de tu lado??

      Un saludo,
      irishrom
      0
  4. michel_m Mensajes publicados 18903 Fecha de registro   Estado Colaborador Última intervención   3 320
     
    Hola,

    ¡Effectivamente!...
    Estoy mirándolo, pero es cierto que febrero y 2012 lo fastidian: por ahora no lo entiendo...
    Irishrom, gracias por avisarme de este error
    --
    Cordialmente, Michel
    0
  5. michel_m Mensajes publicados 18903 Fecha de registro   Estado Colaborador Última intervención   3 320
     
    Hola,

    febrero y año bisiesto = doliprane...

    ¡a verificar!!!

    =SI((DÍA(A1)+55>20)*(MES(FECHA(AÑO(A1);MES(A1);DÍA(A1)+55))=2);FIN.MES(A1+55;0);FECHA(AÑO(A1);MES(A1);DÍA(A1)+55+(10-RESIDUO(DÍA(A1+55);10))))

    fin.mes ==> eomonth

    edit a las 11:50

    ¡formulación modificada!

    =SI((DÍA((FECHA(AÑO(A1);MES(A1);DÍA(A1)+55)))>=20)*(MES(A1+55)=2);FIN.MES(A1+55;0);FECHA(AÑO(A1);MES(A1);DÍA(A1)+55+(10-RESIDUO(DÍA(A1+55);10))))

    explicación: Si el día "+55" cae en el 20 o más y está en febrero, se envía al fin de mes

    --

    Atentamente, Michel
    0
  6. chti_ben Mensajes publicados 15 Estado Miembro
     
    Michel,
    Parece bien salvo para algunos casos que dan una fecha de vencimiento al 9, a saber:

    Fecha Fact Fecha factura + 55 Fecha de vencimiento según fórmula Fecha de vencimiento real
    03/02/2009 30/03/2009 09/04/2009 10/04/2009
    04/02/2009 31/03/2009 09/04/2009 10/04/2009
    05/04/2009 30/05/2009 09/06/2009 10/06/2009
    06/04/2009 31/05/2009 09/06/2009 10/06/2009
    05/06/2009 30/07/2009 09/08/2009 10/08/2009
    06/06/2009 31/07/2009 09/08/2009 10/08/2009
    06/07/2009 30/08/2009 09/09/2009 10/09/2009
    07/07/2009 31/08/2009 09/09/2009 10/09/2009
    05/09/2009 30/10/2009 09/11/2009 10/11/2009
    06/09/2009 31/10/2009 09/11/2009 10/11/2009
    05/11/2009 30/12/2009 09/01/2010 10/01/2010
    06/11/2009 31/12/2009 09/01/2010 10/01/2010
    06/12/2009 30/01/2010 09/02/2010 10/02/2010
    07/12/2009 31/01/2010 09/02/2010 10/02/2010

    Estamos cerca porque todos los demás días del año son correctos.

    Un gran gracias
    0
  7. michel_m Mensajes publicados 18903 Fecha de registro   Estado Colaborador Última intervención   3 320
     
    veré todo eso después de la manifestación: ¡me cambiará las ideas!
    nos vemos luego

    --
    Atentamente, Michel
    0
  8. michel_m Mensajes publicados 18903 Fecha de registro   Estado Colaborador Última intervención   3 320
     
    Hola,

    consulta este archivo adjunto
    https://www.cjoint.com/?dvsIKwwFPf

    Aparentemente, está bien con una columna intermedia "date+55" que podríamos eliminar, pero eso complicaría aún más una fórmula que ya lo es!
    de hecho, todo el lío venía de los meses de febrero (que terminan el 28 o 29) y de los meses de 31 días

    Edición a las 19:00:
    agregar lo que está en negrita en la fórmula!

    =SI((JOUR((DATE(AÑO(A2);MES(A2);JOUR(A2)+55)))>=20)*(MES(A2+55)=2);FIN.MOIS(A2+55;0);B2+(10-MOD(JOUR(B2);10))+SI(ET(JOUR(B2)>=30;JOUR(FIN.MOIS(B2;0))>=31);1;0))
    con la esperanza de que esta vez...
    https://www.cjoint.com/?dvtgRxhOmk
    --
    Atentamente, Michel
    0
    1. Benoît
       
      Hola Michel,

      Gracias por todas estas buenas explicaciones, no tengo la posibilidad de recuperar la tabla adjunta porque la sesión caducó.
      ¿Sería posible que me indiquaras el valor de B2, ya que tengo dificultades para obtener el valor correcto a finales de enero?
      De antemano, gracias.
      Benoît
      0
    2. michel_m Mensajes publicados 18903 Fecha de registro   Estado Colaborador Última intervención   3 320
       
      Hola,

      tienes la explicación de B2 en la publicación de arriba, la fecha está en A2
      Aparentemente, está bien con una columna intermedia "fecha+55"
      entonces A2+55

      ya no tengo el modelo (viejo de hace 4 años...)
      0
    3. Benoît
       
      GRACIAS Michel por este retorno
      con muchas horas, no logro aun así...
      Gracias de todas formas...
      que tengas un buen día.
      Benoît
      0
  9. Mike-31 Mensajes publicados 18405 Fecha de registro   Estado Colaborador Última intervención   5 147
     
    Hola,

    Si entiendo bien buscamos una fecha de vencimiento a 55 días pero desplazada al 10 del mes

    Si las fechas empiezan en A2 prueba directamente esta fórmula para poner en una celda ejemplo C2 e incrémenta hacia abajo

    =SI(DIA(A2+55)>10;FECHA(AÑO(A2);MES(A2)+3;10);FECHA(AÑO(A2);MES(A2)+2;10))

    A+
    0
  10. michel_m Mensajes publicados 18903 Fecha de registro   Estado Colaborador Última intervención   3 320
     
    Acabo de probar tu fórmula, está mala en la mayoría de los casos....
    --
    0
    1. irishrom
       
      Hola Mike,
      parece que hay un error también en tu segunda fórmula. disculpa :)

      Por otro lado, ¡felicitaciones a Michel!!!
      la fórmula de las 19:00 hace milagros.
      el único problema: el j+55 que cae el 10 devuelve al 20.
      me hubiera gustado una fecha de vencimiento para el 10 él mismo.
      pero la fórmula es implacable: matemáticamente, el día 10 ya ha comenzado, por lo tanto la década terminará el 20.

      Creo que es difícil hacer mejor a pesar de la columna intermedia.

      Para información, en variación anual, el DSO sería de 60,55 días, lo que cae bajo la LME2009.

      Una vez más, bravo Michel... ¡Y gracias!

      Solo queda encontrar la manera de aplicar esta fórmula de Excel en Oracle
      (versión E-Business)... si hay aficionados :)
      0
    2. Mike-31 Mensajes publicados 18405 Fecha de registro   Estado Colaborador Última intervención   5 147 > irishrom
       
      Hola,

      Pues bien, lo principal es que eres una solución a tu problema

      Que tengas un buen día a todos
      0
    3. michel_m Mensajes publicados 18903 Fecha de registro   Estado Colaborador Última intervención   3 320 > irishrom
       
      Hola Irishrom, Chti_ben

      Gracias Irish** y contento de que por fin funcione! Para el 10, 20, fin de mes y 30 al final de la década me había hecho la pregunta, pero me decidí usando el término "fin de década".
      Por cierto, ¿qué significa DSO y la LME2009?
      Chti_ben, sería bueno marcar la publicación como resuelta si te parece

      ** irish ? ¿la Saint Patrick se celebró bien ?
      --
      Cordialement, Michel
      0
    4. michel_m Mensajes publicados 18903 Fecha de registro   Estado Colaborador Última intervención   3 320 > michel_m Mensajes publicados 18903 Fecha de registro   Estado Colaborador Última intervención  
       
      hola,

      en respuesta a la observación justificada de Irishrom, adjunto la propuesta sin columna intermedia
      https://www.cjoint.com/?dwkWg1jYQe
      --
      Atentamente, Michel
      0
    5. irishrom > michel_m Mensajes publicados 18903 Fecha de registro   Estado Colaborador Última intervención  
       
      Hola Michel,

      la última versión de la fórmula, sin columna intermedia, funciona de maravilla.
      Un gran agradecimiento por habernos quitado esa espina del pie :)

      DSO = número de días de ventas en cuentas por cobrar
      es un ratio utilizado en contabilidad CLT en las grandes empresas para medir el rendimiento de la cobranza.

      la fórmula: DSO = (total de la cuenta por cobrar al cliente) / (3 meses de ventas * 91 días)

      Encuentro que este ratio es muy teórico en sí mismo. pero su evolución a lo largo de los meses es interesante de analizar.
      En claro, cuanto más cercano el DSO al plazo de pago acordado en el contrato, mejor es; eso significa que el cliente paga a tiempo.

      La LME2009 es la nueva ley francesa que reduce, entre otros, a 60 días máximo los plazos de pago.

      Cdt,
      Irishrom.

      PD: El Día de San Patricio parece que salió bien. Estuve en el TAF ese día...
      Pero es el primer año desde hace mucho en que hizo “tan bonito” (normalmente es viento, granizo y 0 grados).
      en cambio no aconsejo a nadie dejarse engañar por las agencias de viaje para un billete de avión a Dublín para asistir a esa “fiesta de... la cerveza” .
      No es nada extraordinario como los medios hacen creer... Mejor asistir a la fiesta del limón en Mentón :) al menos sabemos que el sol está de nuestra parte.
      0
  11. Mike-31 Mensajes publicados 18405 Fecha de registro   Estado Colaborador Última intervención   5 147
     
    Hola,

    Efectivamente, mi fórmula calculaba una fecha límite de 55 días hábiles para fin de mes desplazado al día 10.

    Por mi parte, he probado esta fórmula en un año; pruébala de tu lado, partiendo de la primera línea e incrementando hacia abajo!

    =SI(Y(DÍA(A1+55)≥11;DÍA(A1+55)≤24);FECHA(AÑO(A1);MES(A1)+3;10);FECHA(AÑO(A1);MES(A1)+2;10))

    Buenas noches
    0
    1. OLOMIDE
       
      gracias, lo intento
      0
    2. OLOMIDE
       
      quizás he colocado mal la información en mi columna, por ejemplo en A1 ¿qué hay puesto? y así sucesivamente
      ( solo un ejemplo de la primera fila en la tabla (datos)

      gracias de nuevo
      0
      1. Mike-31 Mensajes publicados 18405 Fecha de registro   Estado Colaborador Última intervención   5 147 > OLOMIDE
         
        Hola Olomide, Podrías haber abierto tu propia conversación, esa está en estado resuelto. Esta conversación trató sobre el cálculo de vencimiento de 55 días hábiles, si la fecha de vencimiento caía antes del día 10 se desplazaba al día 10 del mes y si caía después del día 10 se desplazaba al día 10 del mes siguiente. La fecha de inicio en este ejemplo está en A1, la fórmula en una celda vacía primera fila e incrementar hacia abajo si es necesario =SI(Y(DIA(A1+55)>=11;DIA(A1+55)<=24);FECHA(AÑO(A1); MES(A1)+3;10);FECHA(AÑO(A1); MES(A1)+2;10)) A+ Mike-31 Un problema sin solución es un problema mal planteado (Einstein)
        0
  12. chti_ben Mensajes publicados 15 Estado Miembro
     
    Damas y caballeros,
    Funciona con la siguiente fórmula:
    =IF((DAY(A2+55)>=20)*(MONTH(A2+55)=2),EOMONTH(A2+55,0),(A2+55)+(10-MOD(DAY(A2+55),10))+IF(AND(DAY(A2+55)>=30,DAY(EOMONTH(A2+55,0))=31),1,0))
    Un gran agradecimiento por su apoyo.
    Chti_ben
    0
  13. OLOMIDE
     
    Hola, Michel

    Estoy interesado en la fórmula para los días desfasados, pero no domino vuestra fórmula; ¿podrías explicarla mejor, porque la intento y no funciona?
    0
  14. philtax
     
    hola,

    mientras hablas de Excel

    tengo una pregunta muy tonta

    para qué sirve exactamente

    gracias
    -1
  15. philtax
     
    Definitivamente no tengo buena suerte hoy

    buena tarde a todos
    -1