Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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
Antworten 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
Gruß Jörg
ich muss mich erst wieder ganz langsam heran robben. Also bitte ich um Nachsicht

"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
Antworten 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...
Antworten 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...
Gruß Jörg
ich muss mich erst wieder ganz langsam heran robben. Also bitte ich um Nachsicht

"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
Antworten 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:
Antworten 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
Gruß Jörg
ich muss mich erst wieder ganz langsam heran robben. Also bitte ich um Nachsicht

"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
Antworten Top
#7
Hallo,

Ist es auch möglich die ganze Thematik im VBA abzubilden, ohne dass man ab dem Jahr 2030 +2000 zu rechnen.
Antworten 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
Gruß Jörg
ich muss mich erst wieder ganz langsam heran robben. Also bitte ich um Nachsicht

"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
Antworten 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
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
#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
Antworten Top


Gehe zu:


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