Registriert seit: 19.08.2019
Version(en): 2019
19.08.2019, 11:40
(Dieser Beitrag wurde zuletzt bearbeitet: 19.08.2019, 11:40 von bace.)
Hallo,
In der Spalte A sind viele verschiedene Zahleneinträge im Format 50315, 111219, 130515, usw. enthalten und ich würde dieses gerne mithilfe von Power Query in das Format eines Datums (05.03.2015) bringen. Gibt es dazu eine einfache Lösung?
LG
Registriert seit: 29.01.2018
Version(en): 2013
19.08.2019, 13:30
(Dieser Beitrag wurde zuletzt bearbeitet: 19.08.2019, 13:30 von Dieter63.)
Hallo,
mach aus der Zahl erstmal ein Text
mit HilfsSpalte dann auf 8 Stellen vereinheitlichen
HilfsSpalte = if Text.Length(Text) = 7 then "0" & Text else Text
Versuch mal jetzt die Hilfsspalte als Datum zu formatieren
Kommt da ein error dann
NeuesDatum= Text.Start(Text , 2) & "." & Text.Range(Text , 2 , 2) & "." & Text.End(Text , 4)
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
19.08.2019, 18:26
(Dieser Beitrag wurde zuletzt bearbeitet: 19.08.2019, 18:26 von RPP63.)
Moin! Hier empfinde ich PQ als "etwas" überdimensioniert! Das wird doch mit einer simplen Formel sehr viel schneller erschlagen: | A | B | 1 | DatString | Datum | 2 | 50315 | 05.03.2015 | 3 | 111219 | 11.12.2019 | 4 | 130515 | 13.05.2015 |
Zelle | Formel | B2 | =DATUM("20"&RECHTS(A2;2);TEIL(A2;LÄNGE(A2)-3;2);LINKS(A2;LÄNGE(A2)-4)) |
Ab 2030 geht es dann auch wieder mit ohne "20"&  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)
Registriert seit: 10.04.2014
Version(en): Office 2019
Hallo, mit PQ ginge das z. B. so..: PHP-Code: let Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content], #"Spalte nach Position teilen" = Table.SplitColumn(Table.TransformColumnTypes(Quelle, {{"Date", type text}}, "de-DE"), "Date", Splitter.SplitTextByPositions({0, 2}, true), {"Date.1", "Date.2"}), #"Geänderter Typ" = Table.TransformColumnTypes(#"Spalte nach Position teilen",{{"Date.1", Int64.Type}, {"Date.2", Int64.Type}}), #"Spalte nach Position teilen1" = Table.SplitColumn(Table.TransformColumnTypes(#"Geänderter Typ", {{"Date.1", type text}}, "de-DE"), "Date.1", Splitter.SplitTextByPositions({0, 2}, true), {"Date.1.1", "Date.1.2"}), #"Geänderter Typ1" = Table.TransformColumnTypes(#"Spalte nach Position teilen1",{{"Date.1.1", Int64.Type}, {"Date.1.2", Int64.Type}}), #"Zusammengeführte Spalten" = Table.CombineColumns(Table.TransformColumnTypes(#"Geänderter Typ1", {{"Date.1.1", type text}, {"Date.1.2", type text}, {"Date.2", type text}}, "de-DE"),{"Date.1.1", "Date.1.2", "Date.2"},Combiner.CombineTextByDelimiter(".", QuoteStyle.None),"Zusammengeführt"), #"Geänderter Typ2" = Table.TransformColumnTypes(#"Zusammengeführte Spalten",{{"Zusammengeführt", type date}}) in #"Geänderter Typ2"
Gruß Jörg stolzes Mitglied im ----Excel-Verein Freund einer excellenten Power Query-Abfrage
Registriert seit: 29.09.2015
Version(en): 2030,5
19.08.2019, 19:16
(Dieser Beitrag wurde zuletzt bearbeitet: 19.08.2019, 19:16 von snb.)
Registriert seit: 10.04.2014
Version(en): Office 2019
(19.08.2019, 19:16)snb schrieb: Oder in RPP's Beispiel
Sicher..? Bei mir sähe das dann so aus..: Arbeitsblatt mit dem Namen 'Tabelle1' | | A | B | C | 1 | Date | | | 2 | 50315 | | 50315 | 3 | 111219 | | 111219 | 4 | 130515 | | 130515 |
Zelle | Formel | C2 | =--TEXT(A2;"00.00.00") |
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.01] MS Excel 2010 | Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg |
Gruß Jörg stolzes Mitglied im ----Excel-Verein Freund einer excellenten Power Query-Abfrage
Registriert seit: 05.05.2014
Version(en): 2010 + 2016 Home and Business
Hallo Jörg, evtl. spielen da ja noch die Ländereinstellungen eine Rolle. Bei "normaler" deutschsprachigen Einstellungen würde jedenfalls mit entsprechenden Datumszellformat zum gewünschten führen.
Gruß Werner .. , - ...
Registriert seit: 10.04.2014
Version(en): Office 2019
Hallo Werner, deine Variante passt super. Der TE hatte aber explizit nach eine Power Query Lösung gefragt...
Gruß Jörg stolzes Mitglied im ----Excel-Verein Freund einer excellenten Power Query-Abfrage
Registriert seit: 08.05.2014
Version(en): Office 2010, Office 365, Office 365 Betakanal
Hallo, eine weitere Power Query Variante, wo eine benutzerdefinierte Spalte mit folgendem Code angelegt wurde und die sich auf die Spalte Datum bezieht, der das Quell-Datum in Textform enthält... Code: =Date.FromText(Text.Start([Datum],Number.IntegerDivide(Text.Length([Datum]),6,0)+1)&"."&Text.Range([Datum],Number.IntegerDivide(Text.Length([Datum]),6,0)+1,2)&"."&Text.End([Datum],2))
Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 2011-2019 & 2020-2022 :: 10 Awardshttps://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
Registriert seit: 29.09.2015
Version(en): 2030,5
20.08.2019, 09:21
(Dieser Beitrag wurde zuletzt bearbeitet: 20.08.2019, 09:21 von snb.)
Natürlich hat =--TEXT(A1;"00.00.00") hier (in den Niederlanden) nicht funktioniert. Und natürlich hat =--TEXT(A1;"00-00-00") wohl funktioniert weil wir hier immer - als Trennungszeichen benützen.
Ich meinte meine Deutsche Freunde helfen zu können durch die übersetzung im Deutschen Datumsformat ohne das selbst testen zu können..
Erstaunlicherweise funktioniert weder "00.00.00' noch "00/00/00" (das 'internationale' Windows Format für Daten).
Ich stimme noch immer RPP zu das Powerquery hier am wenigsten etwas 'overdone' sei.
|