jueves, 24 de septiembre de 2015

Calcular Fecha de Antigüedad en Excel con formato Personalizado.

Es muy frecuente que en nuestros trabajos que realizamos en el día a día, en algunas ocasiones tengamos que calcular la antigüedad que hay entre 2 fechas, y esto lo utilizamos cuando manejamos carteras de clientes o de proveedores, o también cuando hacemos cálculos de finiquitos de empleados, entre otras muchas actividades.

En un articulo anterior aprendimos Como utilizar las funciones de fechas en Excel, hoy quiero mostrarles una forma de hacerlo con una nueva función para darle una mejor presentación a nuestros resultados. En especifico es esto lo que quiero mostrarles como ejemplo:



El objetivo es darle un formato personalizado al resultado de la antigüedad y no solo obtener los datos en números, esto lo podemos hacer con una función que se llama SIFECHA(), esta función no la encuentras dentro del cuadro de funciones, por lo que hay que escribirla tal cual.

Los argumento de esta función son los siguientes:
=SIFECHA(FECHA1,FECHA2,"TIPO")

Donde FECHA1 en mi ejemplo es la Fecha Inicio y FECHA2 es la Fecha Actual o en su caso puede ser la fecha que tu indiques y que tendrá que ser mayor a la fecha inicio obviamente para calcular antigüedad, el argumento TIPO acepta varios opciones dependiendo el resultado que desees.
El datos que se captura es de tipo String o Texto y va entre comillas:

Aquí los tipos de datos "TIPO":
"d" Devuelve el numero de días entre las dos fechas.
"m" Devuelve el numero de meses entre dos fechas, meses completos.
"y" Devuelve el numero de años entre dos fechas, años completos.
"yd" Devuelve el numero de días que sobran entre dos fechas excluyendo los años completos.
"ym"Devuelve el numero de meses que sobran entre las dos fechas excluyendo los años completos.
"md" Devuelve el numero de días que sobran entre dos fechas excluyendo años y meses completos.

Bueno esta Función ya la habrán visto en cualquier otro blog, lo que quiero es enseñarles a usarla dando un resultado como el mostrado en el ejemplo.

Ahora les explico la forma en que obtuve el resultado mostrado en el ejemplo.
En la celda "C7" tengo la Fecha Inicio y en la celda "D7" tengo la Fecha Actual.

Lo primero que haremos es obtener los años transcurridos entre la Fecha Inicio y la Fecha Actual, y utilizamos la Funcion SIFECHA()

=SIFECHA(C7,D7,"y")
El resultado obtenido sera igual a 2, pero si se fijan en el ejemplo dice "2 año(s)"
Bueno lo que hago es concatenar en la formula el texto y la formula quedaría así:
=SIFECHA(C7,D7,"y") & " años(s), " con eso obtendríamos los años transcurridos completos, si ambas fechas fueran del mismo año esta formula devolvería 0.

Lo segundo que haremos es obtener los meses transcurridos entre las fechas, excluyendo los años completos transcurridos y lo hacemos también con la Función SIFECHA()

=SIFECHA(C7,D7,"ym")
El resultado de esta formula seria igual 7, pero también como en la obtención de los años también agregaremos un texto para describir que se trata de meses "mes(es)" y la formula quedaría así:
=SIFECHA(C7,D7,"ym") & " mese(es) y " noten que los meses devueltos son los meses completos que sobran entre las dos fechas después de excluir los años completos transcurridos.

En tercer lugar necesitamos los días que sobran en la fecha después de excluir los años transcurridos completos y los meses completos que sobran, con la función SIFECHA() lo haríamos así:

=SIFECHA(C7,D7,"md")
El resultado que se obtiene es igual a 28,  y ahora le agregaremos el texto para que se vea como en el ejemplo y la formula queda asi:
=SIFECHA(C7,D7,"md") & " dia(s)" 

Y por ultimo, como ya hemos visto como se conforma la formula empleada en el ejemplo, para mostrar los resultados lo que tenemos que hacer es CONCATENAR las tres formulas dando los espacio necesario para que la concatenación no se muestre todo unido, por lo que obtendríamos una formula final así:

=SIFECHA(C7,D7,"y")&" año(s), "&SIFECHA(C7,D7,"ym")&" mes(es) y "&SIFECHA(C7,D7,"md")&" día(s)"

Y el resultado que obtendríamos es el mostrado en el ejemplo.
Bueno, si quisiéramos podríamos darle una mayor personalización al resultado, ya que si entre la fechas no han transcurrido años no se vería bien que en el resultado de la formula fuera "0 año(s), 7 mes(es) y 28 días." y de igual forma si no hubieran meses transcurridos. Para evitar eso tendríamos que agregar algunas condiciones a la formula.

Espero les sea de utilidad este ejemplo, si tienen cualquier duda al respecto déjenme un comentario.
hasta la próxima.


Saludos Cordiales.

JASR
****Tranquilos que todo es correcto****














Share this

10 Respuestas a "Calcular Fecha de Antigüedad en Excel con formato Personalizado."

  1. NO EXISTE =SIFECHA EN MI EXCEL
    EN ESE CASO QUE HAGO???

    ResponderBorrar
    Respuestas
    1. Hola.
      En realidad no aparece como tal en las funciones, solo escribela y dara los resultados. Que version de excel utilizas?

      Saludos
      JASR

      Borrar
  2. ME FUE DE GRAN AYUDA...MIL GRACIAS

    ResponderBorrar
  3. HOLA COMO LE HAGO PARA QUE EN LA FORMULA APAREZCA UNA ¨P¨ ASI COMO LO MUESTRA EN LA FORMULA =SIFECHA P(C7,D7,"y")&" año(s), "&SIFECHA(C7,D7,"ym")&" mes(es) y "&SIFECHA(C7,D7,"md")&" día(s)" QUERO QUE SEA ASI ¨P0Y9M5D¨

    ResponderBorrar
    Respuestas
    1. Hola gracias por comentar:
      Lo que necesitas es sacar el codigo para lo del SAT en los recibos, la formula quedaría así:
      ="P"&SIFECHA(C7,D7,"y")&"Y"&SIFECHA(C7,D7,"ym")&"M"&SIFECHA(C7,D7,"md")&"D"

      Tomando los datos del ejemplo del articulo el resultado quedaria asi: P2Y7M28D


      Saludos cordiales

      JASR

      Borrar
  4. Muchas Gracias, me sirvió mucho
    Saludos

    ResponderBorrar
  5. no me devuelve el año solo los meses

    ResponderBorrar
    Respuestas
    1. Hola

      Revisa tu versión de Excel. La formula funciona bien. Ve que estes escribiendo bien conforme a la publicación.

      Saludos
      JASR

      Borrar
  6. Excelente aporte, muchas gracias

    ResponderBorrar

Hola gracias por comentar.