Gå til hovedindhold

Hvordan tælles antallet af skudår mellem to datoer i Excel?

I Excel kan det være let for de fleste brugere at tælle antallet af år mellem to givne datoer, men kan du kun tælle antallet af skudår, der også kaldes mellemliggende år mellem to datoer? Her introducerer jeg en formel, der kan hjælpe dig med hurtigt at beregne antallet af skudår mellem et datointerval i Excel.

Tæl skudår i et datointerval med formlen


pil blå højre boble Tæl skudår i et datointerval med formlen

For at tælle skudår mellem to datoer skal du bare gøre som dette:

Vælg en tom celle, som du vil placere det optalte resultat på, for eksempel C2, og indtast denne formel
=DATE(YEAR(B2),1,1)-DATE(YEAR(A2),1,1)-((YEAR(B2)-YEAR(A2))*365)+AND(MONTH(DATE(YEAR(A2),2,29))=2,MONTH(DATE(YEAR(B2),2,29))=2)*1
tryk derefter på Indtast nøgle for at få resultatet. Se skærmbillede:
doktælling skudår 1

Tip: I formlen er A2 startdatoen, og B2 er slutdatoen, du kan ændre dem efter behov.

Bedste kontorproduktivitetsværktøjer

🤖 Kutools AI Aide: Revolutionér dataanalyse baseret på: Intelligent udførelse   |  Generer kode  |  Opret brugerdefinerede formler  |  Analyser data og generer diagrammer  |  Aktiver Kutools funktioner...
Populære funktioner: Find, fremhæv eller identificer dubletter   |  Slet tomme rækker   |  Kombiner kolonner eller celler uden at miste data   |   Runde uden formel ...
Super opslag: VLookup med flere kriterier    Multiple Value VLookup  |   VOpslag på tværs af flere ark   |   Fuzzy Lookup ....
Avanceret rulleliste: Opret hurtigt rulleliste   |  Afhængig rulleliste   |  Multivælg rulleliste ....
Column Manager: Tilføj et bestemt antal kolonner  |  Flyt kolonner  |  Skift synlighedsstatus for skjulte kolonner  |  Sammenlign områder og kolonner ...
Fremhævede funktioner: Grid fokus   |  Designvisning   |   Stor Formel Bar    Arbejdsbog & Ark Manager   |  Ressourcebibliotek (Autotekst)   |  Datovælger   |  Kombiner regneark   |  Krypter/Dekrypter celler    Send e-mails efter liste   |  Superfilter   |   Specielt filter (filter fed/kursiv/gennemstreget...) ...
Top 15 værktøjssæt12 tekst Værktøjer (tilføje tekst, Fjern tegn, ...)   |   50 + Chart Typer (Gantt kort, ...)   |   40+ Praktisk formler (Beregn alder baseret på fødselsdag, ...)   |   19 Indsættelse Værktøjer (Indsæt QR-kode, Indsæt billede fra sti, ...)   |   12 Konvertering Værktøjer (Tal til ord, Valutaomregning, ...)   |   7 Flet og del Værktøjer (Avancerede kombinere rækker, Opdel celler, ...)   |   ... og mere

Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid.  Klik her for at få den funktion, du har mest brug for...

Beskrivelse


Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
Comments (4)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
A more useful function would be to calculate the number of times Feb 29 occurs between 2 dates.
This comment was minimized by the moderator on the site
Tentei a fórmula acima, mas ainda gerava erro no numero de anos bissextos, então fiz uma função em VBA que faz a verificação ano a ano no intervalo.
Após incluir esta macro abaixo, para utilizar use a função =ContBissexto(A1;B1), o resultado é a quantidade de anos bissextos no período: Espero ter ajudado:

Function ContBissexto(Ini As Date, Fim As Date) As Integer
On Error Resume Next

Dim AnoIni As Integer
Dim AnoFim As Integer
Dim contB As Integer
contB = 0
'DEFINE O ANO DE INICIO DA CONTAGEM DO PERÍODO BISEXTO
If Ini <= DateSerial(Year(Ini), 3, 1) - 1 Then
AnoIni = Year(Ini)
Else
AnoIni = Year(Ini) + 1
End If
'DEFINE O ANO DE FIM DA CONTAGEM DO PERÍODO BISEXTO
If Fim > DateSerial(Year(Fim), 2, 28) Then
AnoFim = Year(Fim)
Else
AnoIni = Year(Fim) - 1
End If

For i = AnoIni To AnoFim
If Day(DateSerial(i, 3, 1) - 1) = 29 Then contB = contB + 1
Next

ContBissexto = contB

End Function
This comment was minimized by the moderator on the site
A contagem gerava erro no numero de anos bissextos, então fiz uma função em VBA que faz a verificação ano a ano no intervalo.
Após incluir esta macro abaixo, para utilizar use a função =ContBissexto(A1;B1), o resultado é a quantidade de anos bissextos no período:


Function ContBissexto(Ini As Date, Fim As Date) As Integer
On Error Resume Next

Dim AnoIni As Integer
Dim AnoFim As Integer
Dim contB As Integer
contB = 0
'DEFINE O ANO DE INICIO DA CONTAGEM DO PERÍODO BISSEXTO
If Ini <= DateSerial(Year(Ini), 3, 1) - 1 Then
AnoIni = Year(Ini)
Else
AnoIni = Year(Ini) + 1
End If
'DEFINE O ANO DE FIM DA CONTAGEM DO PERÍODO BISSEXTO
If Fim > DateSerial(Year(Fim), 2, 28) Then
AnoFim = Year(Fim)
Else
AnoIni = Year(Fim) - 1
End If

For i = AnoIni To AnoFim
If Day(DateSerial(i, 3, 1) - 1) = 29 Then contB = contB + 1
Next

ContBissexto = contB

End Function
This comment was minimized by the moderator on the site
Oi amigo,

Excelente fórmula!

Trabalhei com ela e percebi que há uma divergência quando o primeiro e/ou o segundo intervalo são anos bissextos. Tomei a liberdade de corrigir (em português):


=DATA(ANO(B2);1;1)-DATA(ANO(A2);1;1)-((ANO(B2)-ANO(A2))*365)+E(ANO(A2)=ANO(B2);MÊS(DATA(ANO(A2);2;29))=2;A2<=DATA(ANO(A2);2;29);B2>=DATA(ANO(B2);2;29))+E(ANO(A2)
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations