PDA

View Full Version : Excelzahl/Datum umrechnen



Robi
24-06-14, 11:20
Hi *all,

ich bekomme grade eine Exceldatei mit 15 Datumsfeldern
Bei der Übername auf die AS400 stehen in den Datumsfeldern nur noch Zahlen
40298 wo vorher 30.04.2010 stand (zum Bsp.)

Nun kann ich natürlich für jedes Datum eine zus. Spalte definieren und die Exelfelder mit
TEXT(SPALTE;"TT.MM.JJJJ") in ein TextFeld wandeln.

Aber diese Datenlieferung jedesmal so zu behandeln ist 'suboptimal'
Gibt es in SQL die Möglichkeit diese Zahl (z.B. 40298) zurück in ein Datum (hier 30.04.2010) (egal in welchem Format) zu wandeln.

Danke
Robi

Fuerchau
24-06-14, 12:05
In Excel steht ein Datum immer als Zahl, ein sog. OLE-Datum basierend auf dem 30.12.1899 = Tag 1.
Gib einfach als Spaltenformat den Typ Datum an, dann zeigt Excel auch ein Datum an.

Robi
24-06-14, 12:16
...dann zeigt Excel auch ein Datum an.
Excel ist mir egal, das zeigt ein Datum!

Aber der Kunde übernimmt die Daten mit einem Tool auf die AS400. Und da kommt dann eine Zahl statt ein Datum an.
Diese Zahl würde ich nun gern per SQL-Befehl / Funktion/... als Datum zurückrechnen um nicht immer die Konvertierung händisch, im Excel, als TEXT machen zu müssen.
Robi

Fuerchau
24-06-14, 12:19
Ganz einfach (da 30.12.1899 = Tag 1):
date('1899-12-29') + n Days

Fuerchau
24-06-14, 12:22
Noch in eigener Sache:
Mit meinem ExcelAddIn Upload/400 wäre das nicht passiert, da dieses diverse Datumformate konvertieren kann, neben dem Zusatznutzen, Daten in bestehende Dateien per Update/Insert hochzuladen, so dass man sich meist Nachverarbeitungen sparen kann:).

Robi
24-06-14, 13:12
Danke,
du meinst sicher date('1899-12-30') + n Days

Das passt bei mir, danke

Der Kunde hat ein (AS/400 basiertes) Tool, da kann ich nicht helfen!
Robi

andigoering
09-07-14, 12:09
Robi,

falls das Thema noch offen ist...

Wir haben da ein Tool (iGetExcel), das genau diese Anforderung, nämlich aus XLS/XLSX eine physische Datei erstellen/füllen und dabei Felder "lesbar" machen, leistet.

Link: http://www.goering.de/de/igetexcel.html

Liebe Grüße

Andi Göring

Robi
09-07-14, 12:32
Moin,
äm....
ich schrieb:
Aber der Kunde übernimmt die Daten mit einem Tool auf die AS400. Und da kommt dann eine Zahl statt ein Datum an.
Das war Euer iGetExcel!
Allerdings wurde bei der Übername nix definiert (fals man das kann / muß)
sondern einfach die Datei angegeben und die Daten übernommen.
aber das Prob. ist, dank Datum + anzahl Tage gelöst!

Robi

andigoering
09-07-14, 13:22
Hallo Robi,

lass uns das nächste Mal telefonieren (07251-989512).

Freut mich natürlich dass iGetExcel hier zum Einsatz kam, aber es kann wie immer halt alles noch optimiert werden....

Gerade wenn der Prozess mehrfach genutzt werden soll.

Grüße
Andi Göring