Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Formel zum herausrechnen des Geburtsdatums

Formel zum herausrechnen des Geburtsdatums
22.11.2017 16:52:27
WalterK
Hallo,
ich suche eine Formel um das Geburtsdatum aus der österreichischen Sozialversicherungsnummer heraus zu rechnen - sie besteht immer aus 10 Ziffern, die letzten 6 Ziffern rechts sind immer das Geburtsdatum:
z.B.
aus 5656050545 soll 05.05.1945 werden
aus 3567231117 soll 23.11.1917 werden - 1917 darum, weil es den 23.11.2017 heute ja noch nicht gibt, also kann es nur 1917 sein (sollte also immer auf heute geprüft werden)
aus 3321221117 sol 22.11.2017 werden
es kann allerdings auch vorkommen dass 1 Leerzeichen enthalten ist, dann aber immer nach den ersten 4 Ziffern, also zB. 3321 221117
In der Tabelle sind die Beispiele nochmals angeführt:
https://www.herber.de/bbs/user/117844.xlsx
Besten Dank für die Hilfe, Servus Walter
Anzeige

39
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mit Textfunktionen ...
22.11.2017 17:00:26
...
Hallo Walter,
... z.B. in D3 so: =WENN(B3="";"";--(LINKS(RECHTS(B3;6);2)&"."&TEIL(RECHTS(B3;6);3;2)&"."&RECHTS(B3;2)))
und Formel nach unten kopieren.
Gruß Werner
.. , - ...
sicher nicht
22.11.2017 17:17:43
WF
Hi,
bei z.B. 5656051219 liegt das Geburtsdatum in der Zukunft.
WF
AW: aber sicher ...
22.11.2017 17:22:24
...
Hallo WF,
... weil es nämlich keine Versicherungsnummer geben kann/gibt, bei welcher der Geburtstag in der Zukunft liegt.
Gruß Werner
.. , - ...
Anzeige
Noch nicht ganz. Das errechnete ...
22.11.2017 17:22:38
WalterK
..Geburtsdatum darf nicht in der Zukunft liegen, denn das gibt es ja noch nicht.
Siehe dazu mein Beispiel vom 23.11.1917
Anhand der Sozialversicherungsnummer kann man nicht herauslesen ob z.B. das Jahr 1905 oder 2005 richtig ist.
Servus, Walter
AW: ergo, gibt es eine solche auch nicht owT
22.11.2017 17:25:52
...
Gruß Werner
.. , - ...
AW: ergo, gibt es eine solche auch nicht owT
22.11.2017 17:40:20
WalterK
Hallo Werner,
doch, eine SV-Nr wie von WF angegeben (5656051219) kann es schon geben.
Diese Person ist dann am 05.12.1919 geboren.
Weil man aus der SV-Nr nicht auslesen kann ob das Geburtsjahr im 20. oder 21. Jahrhundert liegt kann ich nur bestimmte Geburtsdaten ausschliessen und eine davon sind die Geburtsdaten die es noch nicht geben kann.
Servus, Walter
Anzeige
AW: wenn dem so sein sollte, dann ...
22.11.2017 17:48:28
...
Hallo Walter,
.. bräuchte es mE einer zusätzlicher eindeutigen Kennzeichnung, im welchen Jahrhundert jemand geboren ist, denn wie soll man dann den z.B. am 11.11.1916 geboren erkennen?
Gruß Werner
.. , - ...
AW: wenn dem so sein sollte, dann ...
22.11.2017 17:51:03
WalterK
Tja, es gibt tatsächlich keine Kennung.
Wobei es in meinem Fall recht einfach ist, weil wir in unserem Verein keine Hundertjährigen (nicht annähernd) haben.
Servus, Walter
Anzeige
AW: was genau heißt: "nicht annähernd"? owT
22.11.2017 17:54:19
...
Gruß Werner
.. , - ...
AW: was genau heißt: "nicht annähernd"? owT
22.11.2017 17:56:08
WalterK
Es geht um einen Musikverein mit höchstens 70-jährigen aktiven Musikanten.
Servus, Walter
dann hast Du kein Problem
22.11.2017 18:04:39
WF
die maximale 2-stellige Jahreszahl xx, die jetzt als 20xx interpretiert wird, ist 29.
Ab 30 ist es 19xx
Ihr braucht also einen 88-jährigen Sänger, der zum Kleinkind wird.
WF
Anzeige
AW: meine Formel reicht noch für 87 Jährige owT
22.11.2017 18:10:05
...
Gruß Werner
.. , - ...
Stimmt. Das habe ich zuwenig bedacht. Damit..
22.11.2017 18:38:06
WalterK
.. ist die Formel ausreichend für mich.
Besten Dank an die Helfer, Servus Walter
die Formel von neopa in D3 ais Zwischenschritt
22.11.2017 17:43:47
neopa
=WENN(D3>HEUTE();DATUM(JAHR(D3)-100;MONAT(D3);TAG(D3));D3)
WF
Anzeige
es gibt aber auch Greise über 100 ?
22.11.2017 17:50:40
WF
.
AW: jede Menge owT
22.11.2017 17:52:11
...
Gruß Werner
.. , - ...
AW: das reicht dann auch nicht, denn sieh vor owT
22.11.2017 17:51:26
...
Gruß Werner
.. , - ...
Anzeige
Besten Dank WF
22.11.2017 17:53:51
WalterK
AW: UDF
22.11.2017 17:30:46
Phi.VBA
hier ein UDF, es wird die Zelle mit der Sozialversicherungsnummer übergeben

Function GDat(rng As Range)
Dim Tag As Integer, Monat As Integer, Jahr As Integer
Dim GebDat As Date
Nr = Right(rng.Value, 6)
Tag = Left(Nr, 2)
Monat = Mid(Nr, 3, 2)
Jahr = "20" & Right(Nr, 2)
GebDat = DateSerial(Jahr, Monat, Tag)
If GebDat > Now Then
Jahr = "19" & Right(Nr, 2)
GebDat = DateSerial(Jahr, Monat, Tag)
End If
GDat = GebDat
End Function
Grüße nach A
Anzeige
AW: 1917 oder 2017?
22.11.2017 17:05:46
Phi.VBA
zuerst eine Verständnisfrage:
Wie wird in der Sozi-Nr unterschieden, ob es 1917 oder 2017 ist?
Mit einer UDF, also etwas VBA-Code, dass wie eine xl-Funktion genutzt wird, ist es vermutlich einfacher.
AW: UDF
22.11.2017 17:32:12
Phi.VBA
erneut in der besseren Spalte:

Function GDat(rng As Range)
Dim Tag As Integer, Monat As Integer, Jahr As Integer
Dim GebDat As Date
Nr = Right(rng.Value, 6)
Tag = Left(Nr, 2)
Monat = Mid(Nr, 3, 2)
Jahr = "20" & Right(Nr, 2)
GebDat = DateSerial(Jahr, Monat, Tag)
If GebDat > Now Then
Jahr = "19" & Right(Nr, 2)
GebDat = DateSerial(Jahr, Monat, Tag)
End If
GDat = GebDat
End Function

Anzeige
AW: UDF
22.11.2017 17:38:41
WalterK
Hallo,
funktioniert noch nicht.
Wie lautet die Formel?
Servus, Walter
Vermutung zur Systematik der Nummer
22.11.2017 18:34:47
lupo1
Der Teil vor dem Datum ist irgendeine Art fortlaufende Nummer. Je höher, desto später.
Und wahrscheinlich lässt sich die Systematik im Netz auch recherchieren oder irgendwo erfragen.
mit ERSETZEN wird's einfacher
22.11.2017 19:13:04
WF
Hi,
=1*ERSETZEN(ERSETZEN(RECHTS(B3;6);3;0;".");6;0;".")
WF
Anzeige
und mit TEXT kürzer
22.11.2017 19:21:43
lupo1
=--TEXT(RECHTS(A1;6);"00\.00\.00")
=1*(TEXT(RECHTS(B3;6);"00-00-00"))
22.11.2017 19:24:54
WF
wollte ich gerade schicken.
WF
AW: wusste vorhin nur: "da gibt es noch was" ...
22.11.2017 19:36:54
...
Hallo Lupo,
... aber es war mir halt nicht gleich eingefallen, d.h. schrieb ich "... z.B. in D3 ..."
Aber um ein Zeichen kann man diese Formel auch noch kürzen.
Gruß Werner
.. , - ...
Anzeige
WF hatte sogar 2 -
22.11.2017 19:41:21
lupo1
- und mir war klar, dass er es weiß. Manchmal brauchen wir alle aber länger, um es parat zu haben. Gut, dass wir hier knobeln können. Ich denke, dass ermöglicht uns einen langsameren Abbau.
"das" statt "dass" - und hier
22.11.2017 19:43:55
lupo1
=1*(TEXT(RECHTS(B3;6);"00-00-00")) meinte WF eigentlich als
=1*TEXT(RECHTS(B3;6);"00-00-00")
was dann die 2 Zeichen kürzer ist als
=--TEXT(RECHTS(B3;6);"00\.00\.00")
Anzeige
AW: hab immer noch -1 auf WF´s letzte Formel owT
23.11.2017 08:03:44
...
Gruß Werner
.. , - ...
Erzähl. N() kann es nicht sein, da jetzt () fehlt
23.11.2017 08:46:03
lupo1
Anzeige
AW: genau, ich meinte "0-00-00" owT
23.11.2017 13:47:51
...
Gruß Werner
.. , - ...
Deine erste Formel war 48 Zeichen länger.
23.11.2017 15:07:13
WF
Und jetzt triumphierst Du bei einem (in Worten 1) Zeichen weniger ?
skurril
WF
p.s. den part WENN(B3="";"";) hab ich nicht mitgezählt (wären sonst 63 mehr).
Anzeige
AW: richtig, dafür aber um Stunden früher ...
23.11.2017 17:10:13
...
Hallo WF,
... und triumphiert hab ich nicht und tu ich auch nicht.
Mein Beitrag war auch nicht an Dich gerichtet sondern an Lupo. Und dies auch nur, weil er seine verkürzte Formelversion darlegte. Inwiefern dann mein Beitrag Deine spez. Reaktion verursachte, ist mir sachlich gesehen nicht wirklich verständlich.
p.S. Und da ich mich als "Praktiker" sehe und kein Mathematiker bin, stehe ich nach wie vor zu (hier im thread) WENN(B3="";"";). Dies schreibe ich wohl wissend, dass auch Lupo derartige zusätzlichen Formelteile auch prinzipiell ablehnt.
Gruß Werner
.. , - ...
Anzeige
Wenn Du Dich als Praktiker bezeichnest,
23.11.2017 17:27:54
WF
solltest Du IMMER Leerzeilen/Leerzellen in Formeln berücksichtigen. Ist ja nicht der Fall.
WF
AW: auch mit VBA
22.11.2017 21:46:19
Phi

Sub Main
cells(1,1) = "abc201117"
cells(1,4) = cdate(format(right(cells(1,1),6),"00\.00\.\2\000"))
End Sub

AW: auch mit VBA
22.11.2017 21:53:14
WalterK
Hallo Phi,
da kommen aber nur Datümer ab dem 01.01.2000 heraus.
Aber lass gut sein, die bisher eingestellten Formeln sind mir ausreichend.
Danke und Servus, Walter
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Geburtsdatum aus Sozialversicherungsnummer berechnen


Schritt-für-Schritt-Anleitung

Um das Geburtsdatum aus der österreichischen Sozialversicherungsnummer zu berechnen, kannst du die folgenden Schritte befolgen:

  1. Zelle auswählen: Wähle die Zelle, in der die Sozialversicherungsnummer steht (z.B. B3).
  2. Formel eingeben: Verwende die folgende Formel, um das Geburtsdatum zu extrahieren:
    =WENN(B3="";"";--(LINKS(RECHTS(B3;6);2)&"."&TEIL(RECHTS(B3;6);3;2)&"."&RECHTS(B3;2)))
  3. Formel nach unten kopieren: Ziehe die Formel nach unten, um sie auf weitere Zellen anzuwenden.

Diese Formel geht davon aus, dass die letzten 6 Ziffern der Sozialversicherungsnummer das Geburtsdatum darstellen.


Häufige Fehler und Lösungen

  • Geburtsdatum in der Zukunft: Wenn das Geburtsdatum in der Zukunft liegt, kann dies auf eine falsche Eingabe oder eine ungültige Sozialversicherungsnummer hinweisen. Stelle sicher, dass die Nummer korrekt ist und nicht in der Zukunft liegt.

  • Leerzeichen in der SV-Nummer: Wenn die Sozialversicherungsnummer ein Leerzeichen enthält (z.B. 3321 221117), kann dies zu Fehlern führen. Verwende die ERSETZEN-Funktion, um Leerzeichen zu entfernen:

    =WENN(B3="";"";--(LINKS(RECHTS(ERSETZEN(B3;" ";"");6);2)&"."&TEIL(RECHTS(ERSETZEN(B3;" ";"");6);3;2)&"."&RECHTS(ERSETZEN(B3;" ";"");2)))

Alternative Methoden

  1. VBA-Funktion: Du kannst eine benutzerdefinierte Funktion (UDF) in VBA erstellen, um das Geburtsdatum zu berechnen. Hier ist ein Beispiel:

    Function GDat(rng As Range)
       Dim Tag As Integer, Monat As Integer, Jahr As Integer
       Dim GebDat As Date
       Nr = Right(rng.Value, 6)
       Tag = Left(Nr, 2)
       Monat = Mid(Nr, 3, 2)
       Jahr = "20" & Right(Nr, 2)
       GebDat = DateSerial(Jahr, Monat, Tag)
       If GebDat > Now Then
           Jahr = "19" & Right(Nr, 2)
           GebDat = DateSerial(Jahr, Monat, Tag)
       End If
       GDat = GebDat
    End Function
  2. TEXT-Funktion: Eine kürzere Formel zur Berechnung des Geburtsdatums könnte so aussehen:

    =--TEXT(RECHTS(B3;6);"00\.00\.00")

Praktische Beispiele

  • Beispiel 1: Für die Sozialversicherungsnummer 5656050545 lautet das Geburtsdatum 05.05.1945.

  • Beispiel 2: Bei der SV-Nummer 3321 221117 wird das Geburtsdatum als 22.11.2017 berechnet.

Diese Beispiele zeigen, wie das Geburtsdatum aus der SV-Nummer extrahiert werden kann.


Tipps für Profis

  • Zukunftsprüfung: Implementiere eine Prüfungsroutine, um zu überprüfen, ob das Geburtsdatum in der Zukunft liegt. Dies kann helfen, fehlerhafte Daten zu vermeiden.

  • Jahr 1905 vs. 2005: Wenn du mit Jahren aus dem 20. Jahrhundert arbeitest, bedenke, dass du eine Logik einbauen musst, die das richtige Jahrhundert wählt. Nutze Bedingungen, um zu unterscheiden, ob das Jahr 1905 oder 2005 ist.


FAQ: Häufige Fragen

1. Wie viele Stellen hat eine Sozialversicherungsnummer in Österreich?
Die österreichische Sozialversicherungsnummer besteht aus 10 Ziffern.

2. Kann ich auch andere Daten aus der Sozialversicherungsnummer extrahieren?
Ja, du kannst Informationen wie das Geburtsdatum und das Geschlecht aus der SV-Nummer überprüfen, indem du entsprechende Formeln anpasst.

3. Wie kann ich prüfen, an welchem Wochentag ich geboren wurde?
Verwende die WOCHENTAG-Funktion in Excel, um den Wochentag aus dem Geburtsdatum zu berechnen:

=WOCHENTAG(GDat(B3))

4. Ist die Formel auch für andere Excel-Versionen geeignet?
Ja, die meisten Formeln und Funktionen sind in den gängigen Excel-Versionen, einschließlich Excel 2016 bis 2021, anwendbar.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige