Berechnen Sie die Anzahl der Tage eines Datumsbereichs auftreten, zwischen zwei Datumsangaben
Ich habe ein Datenblatt mit einer Liste von start-und Enddatum für eine Aufgabe. Ich muss berechnen, wie viele Tage zwischen dem Startdatum und Enddatum sind Teil unserer Weihnachtsferien (11. Dezember bis 7. Januar)
So zum Beispiel,wenn start-Datum 10/12/2012-und end-Datum 12/01/2013, 28 der Tage zwischen diesen Daten. wenn das start-Datum ist 15/12/2012 und das Ende Datum ist 12/03/2013, dann 22 Tage der Tage zwischen diesen Daten. Wenn das start-Datum 10/12/2012 und das Ende Datum ist 12/01/2014, 56 der Tage zwischen diesen Daten (weil es zwei Jahre lang von der Palette).
Muss ich dies mit einer Formel, weil die Anforderungen, die ich habe, die eingestellt wurden.
Zunächst entschied ich mich für die Anzahl der Zeiten, Christmas Day (25. Dezember) tritt auf, und berechnen Sie einfach 4 Wochen pro Ereignis.
Die Formel, die ich verwendet wurde
=FLOOR((E12-A25)/365,1)+IF(OR(MONTH(E12)=12,
MONTH(A25)=12),
IF(AND(DAY(A25)<=25,DAY(E12)>=25),1,0),
IF(OR(MONTH(A25)>=12,
IF(MONTH(E12)<MONTH(A25),
MONTH(E12)+12,
MONTH(E12))>=12),1,0))*28
Aber offensichtlich ist dies nicht hilft, wenn der Bereich start-und end-Datum fällt zwischen diesen beiden Datumsangaben.
Irgendwelche Vorschläge? Ich bin in einer Sackgasse
- was ist das problem ? ist immer 56 Tage zwischen 10/12/2012 und 12/01/2014 ein problem?
- Nein, das ist die richtige Antwort zu bekommen. Das Problem ist, dass die aktuelle Formel nicht berechnen Sie es richtig. Die Formel überprüft nur, um zu sehen, ob 25th Dezember passiert zwischen zwei Terminen. Wenn der Bereich wurde am 11.12.2012, um am 23.12.2012 würde es wieder 0. Sollte es wieder 12.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihrem date math, die auf das zweite Beispiel ist falsch-es gibt 24 Tage in diesem Bereich, nicht 22.
Kann ich Sie dort für eine Urlaubszeit:
LASSEN:
FORMEL:
Die Formel im Grunde findet die überlappenden Zeitraum, wenn es einer ist, und subtrahiert, um die Anzahl der ganzen Tage. Die "+1", weil Ihr "Enddatum" sind eigentlich inklusiven, also für date math Sie brauchen, um über den Urlaub endet am 8. Jan, 7. Jan, zu erfassen, dass der Letzte Tag.
Aber das funktioniert nur für ein einzelnes Jahr Urlaub. Sie speichern könnte Urlaub reicht in andere Zellen einfügen und verwenden die gleiche Formel und fügen Sie Sie alle, aber Sie werden begrenzt werden, jedoch viele Jahre, die Sie einrichten.
=IF(AND(B1>=A1,B1<=A2),28,MAX(MIN(A2+1,B2+1),A1) - MIN(MAX(A1,B1),A2+1))
als ich realisiert, wenn die start-Termin fiel in diesen Zeitraum, den ich brauchte, um alles wieder von 28 Tagen unabhängig. Dachte, ich würde verlassen Sie diese hier für alle anderen, die stecken in der gleichen Weise (oder korrigiert werden, wenn ich habe die Idee wieder falsch) 🙂Dieser Formel wird die Anzahl der Termine zwischen 11. Dezember und 7. Januar inclusive in alle Zeitraum, auch über mehrere Jahre
=SUMPRODUCT((TEXT(ROW(INDIRECT(B1&":"&B2)),"mmdd")+0>=1211)+(TEXT(ROW(INDIRECT(B1&":"&B2)),"mmdd")+0<=107))
wo dein Startdatum in B1 und ein Enddatum in B2
Dieser wandelt jedes Datum in der Palette, um eine Zahl , z.B. 1. Dezember wird 1201, 4. März wird 304, dann zählt diese Termine, die entweder größer oder gleich 1207 (7. Dezember) oder kleiner als oder gleich 107 (7. Januar), so geben 56 für Ihre Letzte Beispiel
Kürzen kann man die Formel, wenn Sie subtrahieren 7 von jedem Datum (basierend auf den 7. Januar als das Ende-Datum), dann müssen Sie nur überprüfen, dass die daraus resultierenden zahlen sind " >= 1204, d.h.
=SUMPRODUCT((TEXT(ROW(INDIRECT(B1-7&":"&B2-7)),"mmdd")+0>=1204)+0)
.....und eine Dritte option, die auch das gleiche Ergebnis, näher an richardtallent Ansatz - wird die Anzahl der Jahre und multipliziert das Ergebnis mit 28 und dann passt die zahlen auf der Grundlage der start - /end-Datum
=(YEAR(B1-7)-YEAR(B2-7)+1)*28-MAX(0,B2-DATE(YEAR(B2-7),12,11))-MIN(28,DATE(YEAR(B1-7)+1,1,7)-B1)