Direkt zum Inhalt

Wie zähle ich die Anzahl der Schaltjahre zwischen zwei Daten in Excel?

In Excel mag es für die meisten Benutzer einfach sein, die Anzahl der Jahre zwischen zwei bestimmten Daten zu zählen. Können Sie jedoch nur die Anzahl der Schaltjahre zählen, die auch als Zwischenjahr zwischen zwei Daten bezeichnet werden? Hier stelle ich eine Formel vor, mit der Sie schnell die Anzahl der Schaltjahre zwischen einem Datumsbereich in Excel berechnen können.

Zählen Sie die Schaltjahre in einem Datumsbereich mit der Formel


Pfeil blau rechte Blase Zählen Sie die Schaltjahre in einem Datumsbereich mit der Formel

Um Schaltjahre zwischen zwei Daten zu zählen, müssen Sie nur Folgendes tun:

Wählen Sie eine leere Zelle aus, in der Sie das gezählte Ergebnis platzieren möchten, z. B. C2, und geben Sie diese Formel ein
=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
dann drücken Enter Schlüssel, um das Ergebnis zu erhalten. Siehe Screenshot:
doc count Schaltjahr 1

Tipp: In der Formel ist A2 das Startdatum und B2 das Enddatum. Sie können sie nach Bedarf ändern.

Beste Office-Produktivitätstools

🤖 Kutools KI-Assistent: Revolutionieren Sie die Datenanalyse basierend auf: Intelligente Ausführung   |  Code generieren  |  Erstellen Sie benutzerdefinierte Formeln  |  Analysieren Sie Daten und erstellen Sie Diagramme  |  Rufen Sie Kutools-Funktionen auf...
Beliebte Funktionen: Suchen, markieren oder identifizieren Sie Duplikate   |  Leere Zeilen löschen   |  Kombinieren Sie Spalten oder Zellen, ohne Daten zu verlieren   |   Runde ohne Formel ...
Super-Lookup: VLookup mit mehreren Kriterien    VLookup mit mehreren Werten  |   VLookup über mehrere Blätter hinweg   |   Unscharfe Suche ....
Erweiterte Dropdown-Liste: Erstellen Sie schnell eine Dropdown-Liste   |  Abhängige Dropdown-Liste   |  Mehrfachauswahl Dropdown-Liste ....
Spaltenmanager: Fügen Sie eine bestimmte Anzahl von Spalten hinzu  |  Spalten verschieben  |  Schalten Sie den Sichtbarkeitsstatus ausgeblendeter Spalten um  |  Vergleichen Sie Bereiche und Spalten ...
Ausgewählte Funktionen: Rasterfokus   |  Designansicht   |   Große Formelleiste    Arbeitsmappen- und Blattmanager   |  Ressourcen (Autotext)   |  Datumsauswahl   |  Arbeitsblätter kombinieren   |  Zellen verschlüsseln/entschlüsseln    Senden Sie E-Mails nach Liste   |  Superfilter   |   Spezialfilter (Filter fett/kursiv/durchgestrichen...) ...
Top 15 Toolsets12 Text Tools (Text hinzufügen, Zeichen entfernen, ...)   |   50+ Chart Typen (Gantt-Diagramm, ...)   |   40+ Praktisch Formeln (Berechnen Sie das Alter basierend auf dem Geburtstag, ...)   |   19 Einfügen Tools (QR-Code einfügen, Bild aus Pfad einfügen, ...)   |   12 Umwandlung (Conversion) Tools (Zahlen zu Wörtern, Currency Conversion, ...)   |   7 Zusammenführen & Teilen Tools (Erweiterte Zeilen kombinieren, Zellen teilen, ...)   |   ... und mehr

Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über 300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen.  Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen ...

Beschreibung


Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich

  • Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
  • Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!
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