Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
228to232
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
228to232
228to232
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datumsberechnung

Datumsberechnung
13.03.2003 07:10:02
Thomas
Hallo,

ich habe da ein Problem. Ich muss Zeiten in vollen Jahren und den Rest in Tagen berechenen. Der letzte Tag ist als Tag mitzuzählen. Ich habe nun einige Formeln ausprobiert, aber keine führt zum Erfolg. VBA kann ich leider nicht..

Bsp.: 1.1.00 bis 31.12.00 = 1 Jahr (brteil oder Dattdiff)
1.1.00 bis 01.01.00 ist aber auch ein Jahr
richtig wäre hier aber 1 Jahr und ein Tag !

Addiere ich in der Formel einfach + 1 geht das prinzipiell zwar, aber in anderen Jahren halt nicht, da man ja die netten Schaltjahre hat. Ich kann machen was ich will, Excel rechnet immer genau mit den Tagen, egal ob das Jahr 365 oder 366 Tage hat. Da ich aber, egal ob Schaltjahr oder nicht, für ein ganzes Jahr 365 Tage annehmen muss, stimmt die Berechnung nicht, wenn er mir dann 366 Tage angibt.

dann wäre vom 1.1.00 bis 31.12.00 = 365 + 1 Tag = 366 Tage
vom 1.1.01 bis 3.01.01 = 3 Tage

Das für mich benötigte Datum wäre der 3.1.01, da Excel aber 366 + 3 rechnet, (also 369 Tage) wirft er mit den 4.1.01 raus, das wäre aber für meine Belange falsch, da der Termin der 3.1.01 sein müsste.

Kennt da jemand eine Lösung ??




3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Datumsberechnung
13.03.2003 07:19:51
kurt
Re: Datumsberechnung
13.03.2003 07:31:29
Klaus-Dieter
Hallo Thomas,

mit diesem Makro geht es:
Option Explicit

Sub jahre_genau()
Dim z%, r%
' Berechnet einen Zeitraum, zum Beispiel das Alter
' bezogen auf den aktuellen Tag als Stichtag
' Klaus-Dieter Oppermann
On Error Resume Next ' Fehler durch leere Zellen überspringen
z = Range("A65536").End(xlUp).Row ' Letzte Zeile ermitteln
For r = 2 To z ' Schleifenstart für Berechnung
' Anzahl der Jahre berechnen und ausgeben
Cells(r, 2) = Int((DateDiff("d", Format(Cells(r, 1), _
"DD.MM.YYYY"), Now)) / 365) ' Anzahl der Tage minus Schalttage durch 365
Cells(r, 3) = (DateDiff("d", Format(Cells(r, 1), _
"DD.MM.YYYY"), Now)) - Cells(r, 2) * 365 ' Anzahl der Überhangtage
Next r ' Ende der Schleife (r)
End Sub

Gruß Klaus-Dieter
Klaus-Dieter's Excel und VBA Seite

Anzeige
Re: Datumsberechnung
13.03.2003 07:32:44
Heinz Ulm
Hallo Thomas,

kurze Erklärung:

der 1.1.00 hat die Datumszahl 36526
der 31.12.00 die Datumszahl 36891
wenn ich jetzt beide ´Datum vonenander abziehe also 31.12.00-01.01.00 (=a1-a2) bekomme ich 365 Tage, da der 31.12.00 erst beendet ist wenn der 01.01.01 angefangen hat und vom 01.01.00 biszum 01.01.01 sind es 366 Tage.

Wie rechnen ein bischen anders als Excel. für uns ist das Jahr am 31.12.00 zuende und denken somit es müssten 366 Tage sein.

Fazit: =a1-a2+1 für den Abstabd zweier Datums in Tagen.

Gruß Heinz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige