Función DATEDIF de Excel para obter a diferenza entre dúas datas

  • Comparte Isto
Michael Brown

Neste titorial, atoparás unha explicación sinxela da función DATEDIF de Excel e algúns exemplos de fórmulas que demostran como comparar datas e calcular a diferenza en días, semanas, meses ou anos.

Ao longo das últimas semanas, investigamos case todos os aspectos do traballo con datas e horas en Excel. Se estiveches seguindo a nosa serie de blogs, xa sabes como inserir e formatar datas nas túas follas de traballo, como calcular días laborables, semanas, meses e anos, así como sumar e restar datas.

Neste titorial, centrarémonos en calcular a diferenza de datas en Excel e aprenderás diferentes formas de contar o número de días, semanas, meses e anos entre dúas datas.

    Atopa facilmente a diferenza entre dúas datas en Excel

    Obter o resultado como unha fórmula preparada en anos, meses, semanas ou días

    Ler máis

    Engadir e restar datas nun par de clics

    Data delegada & Crear fórmulas de tempo para un experto

    Ler máis

    Calcular a idade en Excel sobre a marcha

    E obter unha fórmula personalizada

    Ler máis

    Excel DATEDIF function - get date difference

    Como o seu nome indica, a función DATEDIF está destinada a calcular a diferenza entre dúas datas.

    DATEDIF é unha das poucas funcións non documentadas en Excel, e porque é "oculto" non o atoparás na pestana Fórmula nin obterás ningunha pistafuncións:

    =DATEDIF(A2, B2, "y") &" years, "&DATEDIF(A2, B2, "ym") &" months, " &DATEDIF(A2, B2, "md") &" days"

    Se prefire non mostrar valores cero, pode envolver cada DATEDIF na función IF do seguinte xeito:

    =IF(DATEDIF(A2,B2,"y")=0, "", DATEDIF(A2,B2,"y") & " years ") & IF(DATEDIF(A2,B2,"ym")=0,"", DATEDIF(A2,B2,"ym") & " months ") & IF(DATEDIF(A2, B2, "md")=0, "", DATEDIF(A2, B2, "md") & " days"

    A fórmula mostra só elementos distintos de cero, como se demostra na seguinte captura de pantalla:

    Para outras formas de obter a diferenza de data en días, consulte Como calcular os días desde ou ata a data en Excel.

    Fórmulas DATEDIF para calcular a idade en Excel

    De feito, calcular a idade dunha persoa en función da data de nacemento é un caso especial de calcular a diferenza de data en Excel, onde a data de finalización é a data de hoxe. Entón, usa unha fórmula habitual DATEDIF coa unidade "Y" que devolve o número de anos entre as datas e introduce a función TODAY() no argumento end_date:

    =DATEDIF(A2, TODAY(), "y")

    Onde A2 é a data de nacemento.

    A fórmula anterior calcula o número de anos completos. Se prefires obter a idade exacta, incluíndo anos, meses e días, concatena tres funcións DATEDIF como fixemos no exemplo anterior:

    =DATEDIF(B2,TODAY(),"y") & " Years, " & DATEDIF(B2,TODAY(),"ym") & " Months, " & DATEDIF(B2,TODAY(),"md") & " Days"

    E obterás o seguinte resultado :

    Para aprender outros métodos para converter unha data de nacemento en idade, consulta Como calcular a idade desde a data de nacemento.

    Data e amp; Asistente de tempo: un xeito sinxelo de construír fórmulas de diferenza de data en Excel

    Como se demostrou na primeira parte deste tutorial, Excel DATEDIF é unha función bastante versátil adecuada para unha variedade de usos diferentes. Porén, haiun inconveniente importante: non está documentado por Microsoft, é dicir, non atoparás DATEDIF na lista de funcións nin verás información sobre argumentos cando comeces a escribir unha fórmula nunha cela. Para poder usar a función DATEDIF nas túas follas de traballo, tes que lembrar a súa sintaxe e introducir todos os argumentos manualmente, o que pode ser un xeito lento e propenso a erros, especialmente para os principiantes.

    Ultimate Suite. para Excel cambia isto radicalmente xa que agora proporciona a Data & Time Wizard que pode facer case calquera fórmula de diferenza de data en pouco tempo. Vexa como:

    1. Seleccione a cela onde quere inserir a fórmula.
    2. Vaia á pestana Ferramentas Ablebits > Data e amp; Hora e faga clic no grupo Data e amp; Botón do asistente de tempo :

  • O Data e amp; Aparece a ventá de diálogo Asistente de tempo , cambia á pestana Diferenza e proporciona datos para os argumentos da fórmula:
    • Fai clic na caixa Data 1 (ou prema no botón Contraer diálogo á dereita da caixa) e seleccione unha cela que conteña a primeira data.
    • Faga clic na caixa Data 2 e seleccione unha cela con a segunda data.
    • Seleccione a unidade ou combinación de unidades desexada no menú despregable Diferenza en . Mentres fai isto, o asistente permítelle previsualizar o resultado na caixa e a fórmula na cela.
    • Se está satisfeito coprevisualiza, fai clic no botón Inserir fórmula , se non, proba con unidades diferentes.

    Por exemplo, así podes obter o número de días entre dúas datas en Excel:

    Unha vez inserida a fórmula na cela seleccionada, pode copiala noutras celas como é habitual facendo dobre clic ou arrastrando o controlador de recheo. O resultado será semellante a este:

    Para presentar os resultados da forma máis adecuada, hai algunhas opcións adicionais dispoñibles:

    • Excluír anos e/ou excluír meses dos cálculos.
    • Mostrar ou non mostrar etiquetas de texto como días , meses , semanas e anos .
    • Mostrar ou non mostrar cero unidades .
    • Devolve os resultados como valores negativos se a data 1 (data de inicio) é maior que a data 2 (data de finalización).

    A modo de exemplo, vexamos a diferenza entre dúas datas en anos, meses, semanas e días, ignorando as unidades cero:

    Ventaxes de usar Data e amp; Time Formula Wizard

    Ademais da velocidade e a sinxeleza, o Data & Time Wizard ofrece algunhas vantaxes máis:

    • A diferenza dunha fórmula DATEDIF normal, a unha fórmula avanzada creada polo asistente non lle importa cal das dúas datas é máis pequena e cal é máis grande. A diferenza sempre se calcula perfectamente aínda que a data 1 (data de inicio) sexa maior que a data 2 (data de finalización).
    • O asistenteadmite todas as unidades posibles (días, semanas, meses e anos) e permíteche escoller entre 11 combinacións diferentes destas unidades.
    • As fórmulas que o asistente crea para ti son fórmulas normais de Excel, polo que tes liberdade para editar, copialos ou movelos como de costume. Tamén podes compartir as túas follas de traballo con outras persoas e todas as fórmulas permanecerán no seu lugar, aínda que alguén non teña Ultimate Suite no seu Excel.

    Así é como calculas a diferenza entre dúas datas. en varios intervalos de tempo. Con sorte, a función DATEDIF e outras fórmulas que aprendeu hoxe resultarán útiles no seu traballo.

    Descargas dispoñibles

    Versión totalmente funcional de 14 días de Ultimate Suite (ficheiro .exe)

    sobre que argumentos introducir cando comeza a escribir o nome da función na barra de fórmulas. Por iso é importante coñecer a sintaxe completa de Excel DATEDIF para poder utilizalo nas súas fórmulas.

    Función de Excel DATEDIF - sintaxe

    A sintaxe da función Excel DATEDIF é a seguinte :

    DATEDIF(data_inicio, data_fin, unidade)

    Os tres argumentos son necesarios:

    Data_inicio - a data inicial do período que quere calcular.

    Data_fin : a data de finalización do período.

    Unidade : a unidade de tempo que se utiliza para calcular a diferenza entre dúas datas. Ao proporcionar diferentes unidades, podes obter a función DATEDIF para devolver a diferenza de data en días, meses ou anos. En total, hai 6 unidades dispoñibles, que se describen na seguinte táboa.

    Unidade Significado Explicación
    Y Anos Número de anos completos entre as datas de inicio e fin.
    M Meses Número de meses completos entre as datas.
    D Días Número de días entre a data de inicio e data de finalización.
    MD Días excluíndo anos e meses A diferenza de data en días, ignorando meses e anos.
    YD Días excluíndo os anos A diferenza de data en días, ignorando os anos.
    YM Meses excluídos días eanos A diferenza de data en meses, ignorando días e anos.

    Fórmula Excel DATEDIF

    Para obter a diferenza entre dúas datas en Excel, o seu traballo principal é proporcionar as datas de inicio e finalización da función DATEDIF. Isto pódese facer de varias maneiras, sempre que Excel poida comprender e interpretar correctamente as datas proporcionadas.

    Referencias de celas

    O xeito máis sinxelo de facer unha fórmula DATEDIF en Excel é introducir dúas datas válidas en celas separadas e referirse a esas celas. Por exemplo, a seguinte fórmula conta o número de días entre as datas nas celas A1 e B1:

    =DATEDIF(A1, B1, "d")

    Cadenas de texto

    Excel comprende as datas en moitos formatos de texto, como "1-Xan-2023", "1/1/2023", "1 de xaneiro de 2023", etc. As datas como cadeas de texto entre comiñas pódense escribir directamente nos argumentos dunha fórmula. Por exemplo, así é como pode calcular o número de meses entre as datas especificadas:

    =DATEDIF("1/1/2023", "12/31/2025", "m")

    Números de serie

    Xa que Microsoft Excel almacena cada data como número de serie que comeza co 1 de xaneiro de 1900, utiliza os números correspondentes ás datas. Aínda que se admite, este método non é fiable porque a numeración das datas varía nos distintos sistemas informáticos. No sistema de datas de 1900, podes usar a seguinte fórmula para atopar o número de anos entre dúas datas, o 1 de xaneiro de 2023 e o 31 de decembro de 2025:

    =DATEDIF(44927, 46022, "y")

    Resultados deoutras funcións

    Para saber cantos días hai entre hoxe e o 20 de maio de 2025, esta é a fórmula a utilizar.

    =DATEDIF(TODAY(), "5/20/2025", "d")

    Nota. Nas súas fórmulas, a data de finalización sempre debe ser maior que a data de inicio, se non, a función DATEDIF de Excel devolve o #NUM! erro.

    Agardamos que a información anterior sexa útil para comprender os conceptos básicos. E agora, imos ver como pode usar a función DATEDIF de Excel para comparar datas nas súas follas de traballo e devolver a diferenza.

    Como obter o número de días entre dúas datas en Excel

    Se observado os argumentos de DATEDIF con atención, observaches que existen 3 unidades diferentes para contar días entre as datas. Cal usar depende exactamente das túas necesidades.

    Exemplo 1. Fórmula DATEDIF de Excel para calcular a diferenza de data en días

    Supoño que tes a data de inicio na cela A2 e a data de finalización en cela B2 e desexa que Excel devolva a diferenza de data en días. Unha fórmula simple DATEDIF funciona ben:

    =DATEDIF(A2, B2, "d")

    Sempre que un valor no argumento data_inicio sexa menor que en data_final. No caso de que a data de inicio sexa maior que a data de finalización, a función DATEDIF de Excel devolve o erro #NUM, como na fila 5:

    Se está a buscar unha fórmula que pode devolver a diferenza de data en días como un número positivo ou negativo, simplemente resta unha data directamente dooutro:

    =B2-A2

    Consulta Como restar datas en Excel para obter detalles completos e máis exemplos de fórmulas.

    Exemplo 2. Conta os días en Excel ignorando os anos

    Supoño que tes dúas listas de datas que pertencen a anos diferentes e queres calcular o número de días entre as datas coma se fosen do mesmo ano. Para iso, use unha fórmula DATEDIF coa unidade "YD":

    =DATEDIF(A2, B2, "yd")

    Se quere que a función DATEDIF de Excel ignore non só os anos senón tamén avelaíñas, despois use a unidade "md". Neste caso, a túa fórmula calculará os días entre dúas datas coma se fosen do mesmo mes e do mesmo ano:

    =DATEDIF(A2, B2, "md")

    A seguinte captura de pantalla mostra os resultados e comparándoos cos A captura de pantalla anterior pode axudar a comprender mellor a diferenza.

    Consello. Para obter o número de días laborables entre dúas datas, utiliza a función NETWORKDAYS ou NETWORKDAYS.INTL.

    Como calcular a diferenza de datas en semanas

    Como probablemente notaras, a función DATEDIF de Excel non ten unha unidade especial para calcular a diferenza de datas en semanas. Non obstante, hai unha solución sinxela.

    Para saber cantas semanas hai entre dúas datas, pode utilizar a función DATEDIF coa unidade "D" para devolver a diferenza en días e, a continuación, dividir o resultado por 7.

    Para obter o número de semanas completas entre as datas, envolve a fórmula DATEDIF ena función REDONDEO, que sempre redondea o número cara a cero:

    =ROUNDDOWN((DATEDIF(A2, B2, "d") / 7), 0)

    Onde A2 é a data de inicio e B2 é a data de finalización do período que está a calcular.

    Como calcular o número de meses entre dúas datas en Excel

    Do mesmo xeito que para contar días, a función DATEDIF de Excel pode calcular o número de meses entre dúas datas que especifique. Dependendo da unidade que proporcione, a fórmula producirá resultados diferentes.

    Exemplo 1. Calcula meses completos entre dúas datas (DATEDIF)

    Para contar o número de meses enteiros entre as datas, debes use a función DATEDIF coa unidade "M". Por exemplo, a seguinte fórmula compara as datas en A2 (data de inicio) e B2 (data de finalización) e devolve a diferenza en meses:

    =DATEDIF(A2, B2, "m")

    Nota. Para que a fórmula DATEDIF calcule os meses correctamente, a data de finalización debe ser sempre maior que a data de inicio; se non, a fórmula devolve o erro #NUM.

    Para evitar tales erros, pode obrigar a Excel a percibir sempre unha data antiga como data de inicio e unha data máis recente como data de inicio. a data de finalización. Para iso, engade unha proba lóxica sinxela:

    =IF(B2>A2, DATEDIF(A2,B2,"m"), DATEDIF(B2,A2,"m"))

    Exemplo 2. Obtén o número de meses entre dúas datas ignorando os anos (DATEDIF)

    Para contar o número de meses entre as datas coma se fosen do mesmo ano, escriba "YM" no argumento da unidade:

    =DATEDIF(A2, B2, "ym")

    Como ves, esta fórmulatamén devolve un erro na fila 6 onde a data de finalización é menor que a data de inicio. Se o seu conxunto de datos pode conter esas datas, atopará a solución nos seguintes exemplos.

    Exemplo 3. Cálculo de meses entre dúas datas (función MES)

    Unha forma alternativa de calcular o número de meses entre dúas datas en Excel está a usar a función MES, ou máis precisamente unha combinación de funcións MES e ANO:

    =(YEAR(B2) - YEAR(A2))*12 + MONTH(B2) - MONTH(A2)

    Por suposto, esta fórmula non é tan transparente como DATEDIF e leva tempo enrolar a lóxica. Pero a diferenza da función DATEDIF, pode comparar dúas datas calquera e devolver a diferenza en meses como un valor positivo ou negativo:

    Ten en conta que a fórmula ANO/MES non ten problema co cálculo de meses na fila 6 onde a data de inicio é máis recente que a data de finalización, o escenario no que falla unha fórmula DATEDIF análoga.

    Nota. Os resultados devoltos polas fórmulas DATEDIF e ANO/MES non sempre son idénticos porque funcionan en base a principios diferentes. A función DATEDIF de Excel devolve o número de meses calendario completos entre as datas, mentres que a fórmula ANO/MES opera con números de meses.

    Por exemplo, na fila 7 da captura de pantalla anterior, a fórmula DATEDIF devolve 0 porque aínda non transcorreu un mes natural completo entre as datas, mentres que YEAR/MONTH devolve 1 porque as dataspertencen a meses diferentes.

    Exemplo 4. Contar os meses entre 2 datas ignorando os anos (función MES)

    No caso de que todas as túas datas sexan do mesmo ano ou queiras calcular os meses entre as datas ignorando os anos, podes a función MES para recuperar o mes de cada data e, a continuación, restar un mes do outro:

    =MONTH(B2) - MONTH(A2)

    Esta fórmula funciona de forma similar a Excel DATEDIF con "YM ", como se demostra na seguinte captura de pantalla:

    Non obstante, os resultados devoltos por dúas fórmulas difiren son un par de filas:

    • Fila 4 : a data de finalización é menor que a data de inicio e, polo tanto, DATEDIF devolve un erro mentres que MONTH-MONTH produce un valor negativo.
    • Fila 6: as datas son de meses diferentes, pero a diferenza de data real é só un día . DATEDIF devolve 0 porque calcula meses enteiros entre 2 datas. MES-MES devolve 1 porque resta os números dos meses entre si ignorando días e anos.

    Como calcular anos entre dúas datas en Excel

    Se seguiches os exemplos anteriores onde calculamos meses e días entre dúas datas, pode facilmente derivar unha fórmula para calcular anos en Excel. Os seguintes exemplos poden axudarche a comprobar se acertaches a fórmula :)

    Exemplo 1. Cálculo de anos completos entre dúas datas (función DATEDIF)

    Para saber o número de anos naturais completos entredúas datas, use o antigo bo DATEDIF coa unidade "Y":

    =DATEDIF(A2,B2,"y")

    Teña en conta que a fórmula DATEDIF devolve 0 na fila 6, aínda que o as datas son de diferentes anos. Isto débese a que o número de anos naturais completos entre as datas de inicio e fin é igual a cero. E creo que non che sorprende ver o #NUM! erro na fila 7 onde a data de inicio é máis recente que a data de finalización.

    Exemplo 2. Cálculo de anos entre dúas datas (función ANO)

    Unha forma alternativa de calcular os anos en Excel é usar a función ANO. Do mesmo xeito que a fórmula MES, extrae o ano de cada data e, a continuación, resta os anos entre si:

    =YEAR(B2) - YEAR(A2)

    Na seguinte captura de pantalla, podes comparar os resultados devoltos polo DATEDIF e funcións ANO:

    Na maioría dos casos os resultados son idénticos, excepto que:

    • A función DATEDIF calcula os anos naturais completos, mentres que o ANO fórmula simplemente resta un ano do outro. A fila 6 ilustra a diferenza.
    • A fórmula DATEDIF devolve un erro se a data de inicio é maior que a data de finalización, mentres que a función ANO devolve un valor negativo, como na fila 7.

    Como obter a diferenza de data en días, meses e anos

    Para contar o número de anos, meses e días completos entre dúas datas nunha única fórmula, simplemente concatena tres DATEDIF

    Michael Brown é un entusiasta da tecnoloxía dedicada á súa paixón por simplificar procesos complexos mediante ferramentas de software. Con máis dunha década de experiencia na industria tecnolóxica, perfeccionou as súas habilidades en Microsoft Excel e Outlook, así como en Follas de cálculo e Documentos de Google. O blog de Michael está dedicado a compartir o seu coñecemento e experiencia con outros, proporcionando consellos e titoriais fáciles de seguir para mellorar a produtividade e a eficiencia. Tanto se es un profesional experimentado como un principiante, o blog de Michael ofrece valiosas ideas e consellos prácticos para sacar o máximo proveito destas ferramentas de software esenciais.