Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1616to1620
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
Inhaltsverzeichnis

Altersberechnung auch mit Daten vor 1900

Altersberechnung auch mit Daten vor 1900
25.03.2018 17:58:52
Michael
Hallo EXCELlenzen,
ich arbeite mit Excel für MAC 16.9.
Fall 1
In Zelle Q3 steht 02.02.1873 auch nach 1900 (Tag der Geburt)
In Zelle H3 steht 14.09.1914 immer nach 1900 (Tag der Ankunft)
In Zelle C3 wird 41 Jahre berechnet
Berechnet wird das mit der Formel:
=DATEDIF(LINKS(TEXT(Q3;"TT.MM.JJJJ");6)&RECHTS(TEXT(Q3;"TT.MM.JJJJ");4)+2400; LINKS(TEXT(H3; "TT.MM.JJJJ");6)&RECHTS(TEXT(H3;"TT.MM.JJJJ");4)+2400;"y") &" Jahre"
Da ich eine kleine Auswertung/Statistik machen möchte sollte Folgendes sein.
Es sollte in Zelle C3 das Alter mit 2 Kommastellen berechnet werden.
Fall 2
In Zelle Q3 kann auch nur das Jahr z.B. 1873 auch nach 1900 stehen (Tag der Geburt)
Es ist mir bewusst dass die Berechnung im Fall 2 ungenau sein muss.
Ist halt die Frage ob es eventuell besser ist die Mitte des Jahres in Q3 für die Berechnug anzunehmen.
Danke für Eure Bemühungen
Schönen Palmsonntag
Michael

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Altersberechnung auch mit Daten vor 1900
25.03.2018 18:11:10
Michael
Hallo Hajo_Zi,
danke die Seite kenne ich.
Aber ich möchte das ohne Hilfsspalten schaffen deren ich eh schon genug habe.
LG
Michael
evtl. mit Funktion
25.03.2018 18:20:24
KlausF
Hi Michael,
vielleicht mit folgender Funktion (aus meiner Sammlung):
Function DatDiff(datStart As Date, datEnd As Date) As String
Dim intYear As Integer, intMonth As Integer
Dim intDay As Integer, intYD As Integer
Dim intMD As Integer, intTD As Integer
intYear = Year(datStart)
intMonth = Month(datStart)
intYD = Year(datEnd) - intYear
intMD = Month(datEnd) - intMonth
intTD = Day(datEnd) - Day(datStart)
If intTD 
Gruß
Klaus
Anzeige
AW: evtl. mit Funktion
25.03.2018 18:35:04
Michael
Hallo Klaus,
das ist ein Modul und wie greift das auf die Zellen zu?
LG
Michael
=DatDiff(A1;B1)
25.03.2018 18:40:23
KlausF
Hi Michael,
=DatDiff(1.Datum;2.Datum)
Die & " Jahre" würde ich an Deiner Stelle dann in das Zellformat setzen
Gruß
Klaus
AW: =DatDiff(A1;B1)
25.03.2018 19:40:09
Michael
Hallo Klaus,
danke werde es in meiner Arbeitsmappe testen und berichten.
LG
Michael
AW: =DatDiff(A1;B1)
25.03.2018 20:27:42
Michael
Hallo Klaus,
danke, habe das so umgesetzt, funktioniert nur wenn
in Zelle Q3 und H3 Daten nach dem Muster tt.mm.jjjj stehen
Zelle C3 =DatDiff(Q3;H3)&" Jahre"
Wie komme ich auf 2 Kommastellen?
Im Macro habe ich noch das Leerzeichen nach dem Komma weggenommen
DatDiff = intYD & "," & intMD
Wenn in Q3 1873 und in H3 14.09.1914 steht habe ich das so umgesetz
=JAHR(RECHTS(H5;4))-(RECHTS(Q5;4))&" Jahre"
Das gibt noch nicht das Alter mit Kommstellen weils ja bloss eine Subtraktion ist.
Das ist ewas koplexer da man ja von der Mitte des Jahres in Q3 ausgehen sollte um keine grosse Differenz zu bekommen.
LG
Michael
Anzeige
Format(intMD, "00")
25.03.2018 22:07:49
KlausF
Hallo Michael,
[ funktioniert nur wenn in Zelle Q3 und H3 Daten nach dem Muster tt.mm.jjjj stehen ]
Klar. So war das ja auch in Deinem ersten Post angegeben
[ Wie komme ich auf 2 Kommastellen? ]
Ändere mal die vorletzte Zeile in der Funktion auf
DatDiff = intYD & "," & Format(intMD, "00")
[ Das gibt noch nicht das Alter mit Kommstellen weils ja bloss eine Subtraktion ist ]
Dann würde ich in diesen Fällen auch immer das fiktive Datum eingeben: 01.07.1873
Sonst wüsste ich dafür im Moment auch keine Lösung. Ein Fall für die Formelfreaks hier.
Gruß
Klaus
Anzeige
AW: Format(intMD, "00")
27.03.2018 11:18:50
Michael
Hallo Klaus, danke
DatDiff = intYD & "," & Format(intMD, "00")
berechnet statt 41,7x Jahre 41,07 Jahre.
LG
Michael

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige