Das Clever-Excel-Forum.de - Treffen
... 14.-16. September 2018 im Allgäu ...

Umwandeln Kanonisches Datum
#1
Hallo zusammen,

Wie wandle ich das Datum welches in der Zahlenfolge 16035 (YYTTT) --> kanonischer Kalender in ein normales Datum 04.02.2016 (TT.MM.YYYY) auf eine einfache Art automatisch um.

Beispiel:
Ich trage in Zelle A1 16035 ein, dann soll automatisch in Zelle A2 das Datum 04.02.2016 eingefügt werden.ich habe ein Frage zur Umwandlung eines Datums aus dem Karnonischen Kalender (JJTTT) in ein "normales" Datum (tt.mm.jjjj.)

Danke für eure Hilfe.

Gruß Florian
to top
#2
Hallo, ich denke man kann das so machen..:

Arbeitsblatt mit dem Namen 'Tabelle6'
 A
116035
204.02.2016

ZelleFormel
A2=(1&-LINKS(A1;2))-1+RECHTS(A1;3)
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
cu Jörg eine Rückmeldung wäre ganz reizend XL2003 bis XL2013
to top
#3
Perfekt funktioniert, da ich es aber immer verstehen will kurz die Frage wie funktioniert das?
Kannst du es mir kurz erklären, da ich das ganze nachher im VBA einbauen will wäre es klasse wenn ich es verstehe...
to top
#4
Hallo, ich ziehe mit LINKS(A1;2) die Jahreszahl aus A1... ... bei höher als 29 muss - wenn du z.B. 2030 meinst - 2000 dazu addiert werden... 1&-LINKS(A1;2) ergibt 1-16 gib das mal so in eine Zelle ein. Du erhälst 01.01.2016. Da aber 1&-LINKS(A1;2) ein Text ergibt, muss man noch eine Rechenoperation anfügen. Da trifft es sich gut, dass die Tage dazu addiert werden sollen. RECHTS(A1;3) ergibt die Ziffer der Tage - allerdings (wieder) als Text. Aber beides addiert ergibt dann eine Zahl von der wir nur wieder eine 1 abziehen müssen um das korrekte Datum zu erhalten... ... hoffentlich habe ich mich halbwegs verstaändlich ausgedrückt...

P.S.: Man kann das freilich auch mit der Funktion DATUM() lösen...
cu Jörg eine Rückmeldung wäre ganz reizend XL2003 bis XL2013
to top
#5
Okay habe ich verstanden!

Könnte ich auch das Vorgehen über die Funktion DATUM() erfahren, damit ich auch eine alternative habe welche evtl. über das Jahr 2030 hinaus funktionieren könnte.

Danke für die super Auskunft bis jetzt 17
to top
#6
Hallo, ich habe mich wahrscheinlich (doch) mißverständlich ausgedrückt... Beide Varianten funktionieren auch über das Jahr 2030 hinaus... Welche Jahre kommen denn in betracht..? Auch vor 2000 auch nach 2100..?

Hier mal beide Varianten für dieses Jahrhundert..:

Arbeitsblatt mit dem Namen 'Tabelle6'
 C
130033
702.02.2030
802.02.2030

ZelleFormel
C7=DATUM(LINKS(C1;2)+2000;1;RECHTS(C1;3))
C8=(1&-(LINKS(C1;2)+2000))-1+RECHTS(C1;3)
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
cu Jörg eine Rückmeldung wäre ganz reizend XL2003 bis XL2013
to top
#7
Hallo,

Ist es auch möglich die ganze Thematik im VBA abzubilden, ohne dass man ab dem Jahr 2030 +2000 zu rechnen.
to top
#8
(30.03.2016, 17:40)FloKo schrieb: Hallo,

Ist es auch möglich die ganze Thematik im VBA abzubilden, ohne dass man ab dem Jahr 2030 +2000 zu rechnen.

Hallo, ich habe von VBA keine Ahnung, aber wenn deine Jahreszahl zweistellig ist, wird es schwer ohne 2000 dazu zu addieren... ... weil in XL so hinterlegt... ... hier noch mal in abgewandelter Form...

Arbeitsblatt mit dem Namen 'Tabelle6'
 C
130033
702.02.2030
802.02.2030

ZelleFormel
C7=DATUM(20&LINKS(C1;2);1;RECHTS(C1;3))
C8=(1&-20&LINKS(C1;2))+RECHTS(C1;3)-1
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
cu Jörg eine Rückmeldung wäre ganz reizend XL2003 bis XL2013
to top
#9
Hi!
In VBA läuft es exakt nach dem Schema, welches Dir gut von Jörg erklärt wurde:
Code:
Sub Kanon()
Dim KDat As Long
KDat = 16035
MsgBox DateSerial(20 & Left(KDat, 2), 1, Right(KDat, 3))
End Sub

Gruß Ralf
to top
#10
Auf der Basis der Xl-Funktion DATUM kann man auch so vorgehen, FloKo &all:
1. Die Zelle auswählen, in der die Ergebnisformel stehen soll!
2. Einen Namen definieren, zB Kanon2Datum und in dessen Bezug folgende Formel notieren:
=AUSWERTEN(TEXT(A1;"""datum(""2000\;1\;000\)"))
3. In die ausgewählte Zelle =Kanon2Datum eintragen und sie als Datum formatieren!
Das 2.Argument der Xl-Funktion TEXT funktioniert wie in der Zahlenformatierung, 0 gibt die Ziffer an der entsprechenden Stelle wieder, alle anderen Ziffern werden eingefügt. Gleiches gilt für Zeichen, denen ein \ vorangestellt wurde und für Texte zwischen "…", die hier verdoppelt werden müssen, weil sie Bestandteil eines mit "…" gekennzeichneten Haupttextes sind.
Gruß, Castor
to top


Gehe zu:


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