Beliebt

Berechnen Sie die Anzahl der Tage pro Jahr zwischen zwei verschiedenen Daten Excel - Microsoft-Excel

Ich habe ein Excel-Datenblatt, das ungefähr enthält200 Zeilen, in jeder Zeile gibt es ein Start- und ein Enddatum. Ich muss die Differenz zwischen den Daten aber pro Jahr berechnen. Angenommen, das Startdatum ist der 03.03.2017 und das Enddatum der 02.03.2013. Ich muss die Anzahl der Tage in den Jahren 2017, 2018 und 2019 zwischen beiden Daten berechnen.

Antworten:

2 fĂĽr Antwort â„– 1

Diese Formel sollte bis zum 25. November 4770 funktionieren. Zu diesem Zeitpunkt wurde Excel möglicherweise von etwas anderem abgelöst.

=SUMPRODUCT(--(YEAR(ROW(INDIRECT(StartDt &":"&endDt)))=C$1))

wobei C1 das betreffende Jahr enthält.

Beispielsweise:

Bildbeschreibung hier eingeben

Sie schreiben jedoch, Sie möchten den "Unterschied zwischen den Daten" kennen. Diese Phraseologie zeigt normalerweise an, dass Sie das erste Datum nicht zählen möchten. Die Formel zählt alle Daten.

Wenn Sie den "Unterschied" und nicht die Anzahl der Tage von Anfang bis Ende wirklich wollen, fĂĽgen Sie dem Startdatum in der Formel einen hinzu:

=SUMPRODUCT(--(YEAR(ROW(INDIRECT(StartDt+1 &":"&endDt)))=C$1))

Bearbeiten: (provoziert von @ fixer1234) Um zu verstehen, wie das funktioniert, mĂĽssen Sie das verstehen

  • Daten werden in Excel als Seriennummern mit in der Regel 1-jan-1900 gleicht 1.
  • ROW(INDIRECT(n:m)) ist eine Möglichkeit, ein Array von Zahlen zurĂĽckzugeben, das den durch dargestellten Zeilennummern entspricht n und m
  • Das YEAR Die Funktion gibt dann aus jedem dieser Werte das entsprechende Jahr zurĂĽck, wobei wir mit dem Jahr oben in der entsprechenden Spalte vergleichen und ein Array von erzeugen TRUE;FALSE.
  • Da in Excel --TRUE = 1, SUMPRODUCT wird effektiv die zurĂĽck SUM aller Daten, die im Jahr oben in der Spalte stehen.
  • Die Datumsbeschränkung, die ich erwähnte, ist, weil die nur sind 2^20 Zeilen in Excel. Dies könnte durch Anwenden eines Offsets auf die Daten in der ĂĽberwunden werden ROW(INDIRECT(… konstruieren und dann wieder hinzufĂĽgen, wenn die betroffenen Daten nach dem 25.11.4770 liegen.