Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1592to1596
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

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

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
.. , - ...
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
Anzeige
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
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
.. , - ...
Anzeige
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
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
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
Anzeige
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
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
.. , - ...
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
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")
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
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).
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

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige