Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Daten umwandeln in TT.MM.JJJJ

Daten umwandeln in TT.MM.JJJJ
03.10.2024 19:25:33
Christian
Hallo,

ich würde euch bitten euch mal mein Problem anzuschauen und mir wenn möglich eine Formel für Spalte I zu geben. Das ganze soll natürlich mit allen Daten funktionieren, die in den gezeigten Formaten da stehen nicht nur mit denen im Beispiel

ein paar Regeln dazu

1. steht in Spalte H ein vollständiges Datum wie in H1 dieses ausgeben
2. Wenn da kein vollständiges Datum da steht oder Spalte H leer ist, wie in den anderen Zeilen, dann das Datum in Spalte E umwandeln.
3. fehlen Teile des Datums und in Spalte E steht auch nichts, wie in H4 und H5 sollen die Daten durch den 1. des Monats / des Jahres aufgefüllt werden, wie ich es in Zeile 4 und 5 gemacht habe.
4. Monatsnamen in Spalte E sind immer englisch, auch die abgekürzten
5. Monatsnamen in Spalte H sind immer deutsch.
6. Wenn in beiden Spalten kein DAtum steht, wie z.b. Zeile 7, nichts ausgeben.
7. Das Datum in Spalte E ist immer vollständig.
Kann mir da jemand helfen?

Danke
Christian

https://www.herber.de/bbs/user/172558.xlsx
Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten umwandeln in TT.MM.JJJJ
03.10.2024 22:31:34
schauan
Hallöchen,

1) könnte man so lösen, wenn da ein Datum steht:
=WENNFEHLER(DATUM(JAHR(A1);MONAT(A1);TAG(A1));"")

2) Wenn da kein vollständiges Datum da steht:
--> wäre der 04.01. auch ein unvollständiges Datum? Könnte ja ein Datum sein, wenn es kein Text ist. Ist es ein Text, dürfte 1) greifen

3) sollen die Daten durch den 1. des Monats / des Jahres aufgefüllt werden,
--> was ist, wenn das Jahr fehlt? siehe 2)

4)

... da stelle ich mir erst mal die Frage, wo das Kauderwelsch her kommt?

Anzeige
AW: Bezogen auf...
04.10.2024 15:07:01
Christian
Hallo Case,

auf den ersten Blick sieht das ja schonmal sehr gut aus. Inzwischen hab ich es auch geschafft die Daten in Spalte E in die PQ Abfrage zu integrieren, aus der die Daten in Spalte H stammen.

Ich hoffe ich schaffe es jetzt auch deine weiteren Schritte hinzuzufügen. Ich probiere es erstmal selbst und melde mich dann wieder.

Gruß
Christian
Anzeige
Testergebnis
04.10.2024 15:20:31
Christian
Hallo Case,

danke schonmal, die Umwandlung der Daten klappt in allen Fällen einwandfrei.
Ich habe nur noch ein Problem, ist gar kein Datum bekannt, bekomme ich den Fehler: Die Angabe für einen Date Wert konnte nicht analysiert werden. Details: 01.01.

hast du auch noch eine Idee wie ich auch das beheben kann?

Danke
Christian
Anzeige
Wieder bezogen...
04.10.2024 16:43:58
Case
Moin, :-)

... auf deine zur Verfügung gestellten Daten: ;-)

let

TypG = Table.TransformColumnTypes(Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],{{"Spalte1", type date}, {"Spalte2", type any}, {"Spalte3", type any}, {"Spalte4", type text}}),
HinzuS = Table.AddColumn(TypG, "Datum", each
if [Spalte1] > null then [Spalte1]
else
if [Spalte4] > null and Text.Contains([Spalte4], " ") then
let
Datum = try Date.FromText([Spalte4]) otherwise try Date.From(Date.FromText("01." & Text.Middle([Spalte4], 1, 3) & "." & Text.End([Spalte4], 4))) otherwise "Prüfen"
in
Datum
else if [Spalte4] > null then
try Date.FromText("01.01." & [Spalte4]) otherwise "Prüfen"
else
"Prüfen"
),
EntS = Table.RemoveColumns(HinzuS,{"Spalte1", "Spalte2", "Spalte3", "Spalte4"})
in
EntS


Schau mal im Netz nach "Power Query Fehlerbehandlung": ;-)
https://learn.microsoft.com/de-de/power-query/error-handling

Servus
Case
Anzeige
AW: Wieder bezogen...
04.10.2024 17:01:16
Christian
Hallo Case,

das hat geklappt. Vielen Dank und auch danke für den Hinweis mit der Fehlerbehandlung.

Schönes Wochenende euch allen

Christian
AW: Daten umwandeln in TT.MM.JJJJ
03.10.2024 23:35:14
Christian
Hallo schauan,

erstmal danke dass du mir hilfst.
Um deine Frage zu beantworten, es ist garantiert, dass wenn in Spalte H das Jahr fehlt, das Jahr auf jeden Fall in Spalte E steht. Das Jahr ist also immer vorhanden.

Nochmal kurz zusammengefasst, vielleicht hab ich mich ja nicht deutlich genug ausgedrückt,

1. Priorität vollständige Daten aus Spalte H
2. Priorität Daten aus Spalte E (immer vollständig)
3. Priorität aufgefüllte Daten aus Spalte H.
4. Priorität Leerzeilen (dann auch das Formelergebnis leer).

Zu dem Kauderwelsch ich trage Geburtsdaten von 3 verschiedenen Internetseiten zusammen, die jede ihr eigenes Format benutzt und will Tippfehler vermeiden, daher Copy + Paste und die Hoffnung auf eine Formel zur Umwandlung.

Die 2 Spaltenlösung weil die Quelle für die Daten in Spalte H eine csv Datei ist.

Gruß
Christian
Anzeige
AW: Daten umwandeln in TT.MM.JJJJ
04.10.2024 05:59:12
Eifeljoi 5
Hallo

Wie holst du denn die Daten aus dem Netz?
Bin nach wie vor der der Meinung das das ganze vielleicht mit PQ zu lösen wäre ohne die Internetseite zu kennen, und somit entfallen auch die ganzen Registerformeln.
Da nix vernünftiges zum testen geliefert wird kann man auch nur raten.
Anzeige
AW: Daten umwandeln in TT.MM.JJJJ
04.10.2024 06:26:14
Christian
https://www.herber.de/bbs/user/172561.zip

Hallo Eifeljoi,
danke für deine Hilfe.
ja wie kommen die Daten da rein, für die Daten in Spalte H ist die Quelle eine Liste von imdb, als csv exportiert (siehe Anhang).

Die Daten in Spalte E mit den ausgeschriebenen Monatsnamen stammen ebenfalls von imdb, jedoch aus früheren Versionen der Seiten, mit Hilfe der Wayback Machine.
Die Daten mit den verkürzten Monatsnamen stammen von actoragecheck.com

Beides Copy + Paste, die Daten in Spalte E sind nicht Teil der csv Datei.
Es gibt auch Fälle, wo auf keiner der Seiten ein vollständiges Datum stand, aber stattdessen auf der einen Seite Monat und Tag und auf der anderen Seite das Jahr, sodass ich es selber zusammengesetzt habe.

Gruß
Christian
Anzeige
AW: Daten umwandeln in TT.MM.JJJJ
04.10.2024 09:37:11
Eifeljoi 5
Hallo
Ich verstehe nicht dein Problem.
Du arbeitest doch mit PQ dann arbeite doch weiter damit bis du dein Wunsch komplett erfüllt hast.
Aus geschriebene Monatsnamen umzuwandeln ist dich nicht wirklich dein ernst im PQ-Editor auf Dateityp gehen und das gewünschte auswählen.
Alles was in deiner csv Datei drin steht wird problemlos mit PQ alles eingelesen.
Oder ist die csv von dir selbst so erstellt??
Anzeige
AW: Daten umwandeln in TT.MM.JJJJ
04.10.2024 11:09:12
Christian
Klar pq nutzen um die Daten in der Spalte birth date umzuwandeln wäre kein Problem, aber die Daten die ich selbst in die Tabelle kopiert habe, sind ja nicht mal Bestandteil der pq Abfrage, ich weiß weder wie ich die zum Bestandteil machen kann, noch wie ich in pq englische monatsnamen umwandeln kann
Anzeige
AW: Daten umwandeln in TT.MM.JJJJ
04.10.2024 11:16:45
Eifeljoi 5
Hallo

Kannst du denn mal die Internetseiten sagen von der du die Infos raus holen möchtest??
Oder ist das geheim bzw. muss man dort sich einloggen??
AW: Daten umwandeln in TT.MM.JJJJ
04.10.2024 16:12:14
Christian
hallo Eifeljoi

ja für die csv Datei braucht man meinen imdb Zugang.

ansonsten wie ich bereits gesagt hatt, die Daten aus Spalte H kommen aus einer csv Datei auf www.imdb.com zusammengestellt und runtergeladen,

die Daten mit ausgeschriebenen Monatsnamen kommen auch von imdb, jedoch von alten Versionen der Seiten zu den Schauspielern über web.archive.org
und die Daten mit den kurzen Monatsnamen kommen von actoragecheck.com

Ich weiß aber im Moment nicht so direkt wie man das automatisieren soll, wenn ich nach einem Heinz Müller suche finde ich 10 Leute, woher soll die Prozedur wissen, welchen ich meine.

Aber wo du mir helfen kannst, wenn du mal schaust, ich habe dank Case eine fast 100% funktionierende PQ Lösung

let

Quelle = Csv.Document(File.Contents("C:\Users\chris\Downloads\Leute.csv"),[Delimiter=",", Columns=8, Encoding=65001, QuoteStyle=QuoteStyle.None]),
#"Höher gestufte Header" = Table.PromoteHeaders(Quelle, [PromoteAllScalars=true]),
#"Geänderter Typ" = Table.TransformColumnTypes(#"Höher gestufte Header",{{"Description", type date}}),
#"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Geänderter Typ", "Benutzerdefiniert", each if [Description] > null then [Description]
else
if Text.Contains([Birth Date], " ") then
let
Datum = try Date.FromText([Birth Date]) otherwise Date.From(Date.FromText("01." & Text.Middle([Birth Date], 1, 3) & "." & Text.End([Bith Date], 4)))
in
Datum
else Date.FromText("01.01." & [Birth Date]))
in
#"Hinzugefügte benutzerdefinierte Spalte"


ich habe nur das Problem, wenn zu einem Schauspieler gar kein Datum bekannt ist, also beide Spalten leer sind, dann gibts nen Error: Die Angabe für einen Date Wert konnte nicht analysiert werden: Details: 01.01.

Wenn das noch gelöst würde hätte ich meine Lösung.

Danke
Christian
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige