Geburtsdaten umwandeln in Zahlen
#1
Hallo!

Ich habe eine Spalte mit jede Menge an Geburtsdaten, die nicht sortiert sind. Nun sollen diese Geburtsdaten in Zahlen (1-366) umgewandelt werden.

Wenn ich jetzt z. B. das Datum 

3. November 1991 

mit der von mir verwendeten Formel 

=E2---("1.1."&JAHR(E2))+1 

berechne, bekomme ich einen falschen Wert, weil das Datum über den Monat Februar hinausgeht. Die Formel müßte richtig lauten 

=E2---("1.1."&JAHR(E2))+2, 

allerdings habe ich die 1. Formel kopiert. Datumswerte bis einschließlich 29. Februar werden richtig berechnet.

Meine Frage also: Wie bekomme ich es hin, daß, wenn der Geburtsmonat größer als Februar ist, die Zahl ...2 in der Formel ist statt der 1, die ich runterkopiert habe? Oder muß da eine ganz andere Formel hin?

Für Vorschläge bin ich sehr dankbar.
Antworten Top
#2
Hola,
also willst du nur den Tag aus dem Datum ziehen? Oder was soll da genau rauskommen?
Gruß,
steve1da
Antworten Top
#3
Moin!
Mir stellt sich die Frage, was Du wirklich willst!
Willst Du Geburtstage (nicht Geburtsdaten) sortieren und brauchst dazu den x-ten Tag des Jahres?
Das geht viel einfacher:
Sortiere nach einer Hilfsspalte, in der die Formel steht:
=TEXT(Geburtsdatum;"MMTT")

Gruß Ralf

Und als Teaser, damit Du Dir mal eine aktuelle Version besorgst (oder Excel-Online nutzt) …
… als einzige Formelzelle in C2:
ABC
1GebDatGebDatSort
216.02.197716.02.1977
325.07.200203.03.1939
420.03.201915.03.1950
503.03.193920.03.2019
604.04.201726.03.1991
715.12.190401.04.1990
816.11.190704.04.2017
919.06.194412.06.2003
1004.11.196116.06.1933
1126.03.199119.06.1944
1222.10.191820.07.2016
1315.03.195025.07.2002
1429.12.190631.08.1947
1516.06.193330.09.1930
1617.11.196022.10.1918
1712.06.200304.11.1961
1820.07.201616.11.1907
1930.09.193017.11.1960
2001.04.199015.12.1904
2131.08.194729.12.1906
22

ZelleFormel
C2=SORTIERENNACH(A2:A21;TEXT(A2:A21;"MMTT"))
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#4
(12.07.2025, 12:30)RPP63 schrieb: Moin!
Mir stellt sich die Frage, was Du wirklich willst!
Willst Du Geburtstage (nicht Geburtsdaten) sortieren und brauchst dazu den x-ten Tag des Jahres?
Das geht viel einfacher:
Sortiere nach einer Hilfsspalte, in der die Formel steht:
=TEXT(Geburtsdatum;"MMTT")

Gruß Ralf

Und als Teaser, damit Du Dir mal eine aktuelle Version besorgst (oder Excel-Online nutzt) …
… als einzige Formelzelle in C2:
ABC
1GebDatGebDatSort
216.02.197716.02.1977
325.07.200203.03.1939
420.03.201915.03.1950
503.03.193920.03.2019
604.04.201726.03.1991
715.12.190401.04.1990
816.11.190704.04.2017
919.06.194412.06.2003
1004.11.196116.06.1933
1126.03.199119.06.1944
1222.10.191820.07.2016
1315.03.195025.07.2002
1429.12.190631.08.1947
1516.06.193330.09.1930
1617.11.196022.10.1918
1712.06.200304.11.1961
1820.07.201616.11.1907
1930.09.193017.11.1960
2001.04.199015.12.1904
2131.08.194729.12.1906
22

ZelleFormel
C2=SORTIERENNACH(A2:A21;TEXT(A2:A21;"MMTT"))

Hallöchen, nur zur Info- und ich weiß dass das nicht neu ist, aber es geht auch hier ohne Formeln und ohne VBA. Nur einpaar Klicks. Quasi ein Klacks (mit Power Query)
Gruß Jörg
stolzes Mitglied im ----Excel-Verein

Im Wort FEHLER steckt auch das Wort HELFER!

FEHLER helfen dir.
Nimm deine FEHLER an und lerne aus ihnen. 
Wenn du es zulässt, dann werden sie dich stärken

Im Wort 
Antworten Top
#5
Hi,
(12.07.2025, 12:06)Al Swearengen schrieb: =E2---("1.1."&JAHR(E2))+1 
Wieso hier drei mal Minus? Einmal würde auch reichen.

Und mal ganz doof gefragt: wieso sollte bei der Formel ein falscher Wert heraus kommen? Weil es den 29.02. nur in Schaltjahren gibt und der auch in Nicht-Schaltjahren gezählt werden soll, obwohl es ihn nicht gibt?
Dann nimm doch als Referenz einfach ein Schaltjahr (z.B. 2004) und rechne damit:

=DATUM(2004;MONAT(E2);TAG(E2))-"01.01.2004"+1
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#6
Liefert den Tag des Jahres, wobei jeder Tag unabhängig vom Schaltjahr die gleiche Nummer erhält.
=E2-DATUM(JAHR(E2);1;0)+UND(TAG(DATUM(JAHR(E2);3;0))=28;MONAT(E2)>2)



Andreas.
[-] Folgende(r) 1 Nutzer sagt Danke an Andreas Killer für diesen Beitrag:
  • Al Swearengen
Antworten Top
#7
Vielen Dank an alle! 

Ich wollte nicht sortieren, sondern nur errechnen lassen. Auf einem nächsten Tabellenblatt sind dann die Geburtsdaten sortiert nach dem Ergebnis dieses Tabellenblattes.

Insofern hat mir die Lösung von Andreas Killer am besten zugesagt.

43
Antworten Top
#8
(12.07.2025, 13:47)Al Swearengen schrieb: Ich wollte nicht sortieren, sondern nur errechnen lassen. Auf einem nächsten Tabellenblatt sind dann die Geburtsdaten sortiert nach dem Ergebnis dieses Tabellenblattes.

Du willst nicht sortieren, sondern sortieren …
Öhm ja, muss ich ja nicht verstehen …

Dass Du
=E2-DATUM(JAHR(E2);1;0)+UND(TAG(DATUM(JAHR(E2);3;0))=28;MONAT(E2)>2)
zusagender findest als
=TEXT(E2;"MMTT")
sei Dir unbenommen.

Und wenn Du mit den alten Versionen mittels KKLEINSTE() "sortieren" willst, musst Du den Text in Zahlen umwandeln:
=TEXT(E2;"MTT")+0
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Jockel
Antworten Top
#9
Im mof hatte ich vor knapp 4J eine Geburtagsliste mit Power Query erstellt, die direkt auch den Jahreswechsel berücksichtigt und auch einen beliebig langen Zeitraum zeigen kann, um dann bspw. nur runde Geburtstage der nächsten Jahre filtern zu können.


Angehängte Dateien
.xlsx   mof - Geburtstagsliste (PQ) - V4.xlsx (Größe: 144,58 KB / Downloads: 10)
[-] Folgende(r) 1 Nutzer sagt Danke an ws-53 für diesen Beitrag:
  • Jockel
Antworten Top
#10
Danke für die Datenbasis! Wink
Ich habe es mal verformelt.
Die Differenz an Arbeitstagen vor und nach heute wird in D2 eingegeben.
Der Rest spillt dann automatisch:
ABCDEFGHIJK
1IDVornameGeburtsdatumDiff +/-vonbisFeiertage
21Frank03.05.1952507. Jul18. Jul01.01.202401.01.202501.01.2026
32Frieder21.04.1963130Helmi07.07.194229.03.202418.04.202503.04.2026
43Florenz18.10.1991176Caterina08.07.198531.03.202420.04.202505.04.2026
54Jonas10.03.1994221Beate08.07.197201.04.202421.04.202506.04.2026
65Christine02.12.1953158Elli09.07.195401.05.202401.05.202501.05.2026
76Heike20.02.1969226Hans12.07.194709.05.202429.05.202514.05.2026
87Berthold06.04.1948242Bettina13.07.196419.05.202408.06.202524.05.2026
98Ina07.03.1963240Betty16.07.196320.05.202409.06.202525.05.2026
109Ivette01.03.1981213Charlotte18.07.193530.05.202419.06.202504.06.2026
1110Bernhard24.10.195903.10.202403.10.202503.10.2026
1211Günter26.12.194901.11.202401.11.202501.11.2026
1312Günther25.02.194125.12.202425.12.202525.12.2026
1413Johanna21.07.193426.12.202426.12.202526.12.2026
1514Dagmar23.07.1957
1615Heino25.12.1975

ZelleFormel
E2=ARBEITSTAG(HEUTE();-D2;I2#)
F2=ARBEITSTAG(HEUTE();D2;I2#)
I2=LET(Jahre;SEQUENZ(;3;JAHR(HEUTE())-1);
FFT;DATUM
(Jahre;1;{1;121;276;305;359;360})+WENN(MONAT(DATUM(Jahre;2;29))=2;{0;1;1;1;1;1});
OFT;RUNDEN
((TAG(MINUTE(Jahre/38)/2+55)&".4."&Jahre)/7;)*7-6+{-2;0;1;39;49;50;60};
SORTIEREN
(VSTAPELN(FFT;OFT)))
E3=LET(GT;TEXT(tblPerson[Geburtsdatum];"MMTT");
f;FILTER
(tblPerson;(GT>=TEXT(E2;"MMTT"))*(GT<=TEXT(F2;"MMTT"));"niemand");
SORTIERENNACH
(f;TEXT(SPALTENWAHL(f;3);"MMTT")))

Datei anbei, lesbar unter Excel 2021/2024 und 365 sowie Excel Online.
Falls 2021 SPALTENWAHL(f;3) nicht kennt, alternativ INDEX(f;;3)

Gruß Ralf


Angehängte Dateien
.xlsx   GebTags_Liste.xlsx (Größe: 26,55 KB / Downloads: 6)
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Jockel
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste