Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: csv-Import: Zeilenblöcke in neue Tabelle kopieren

csv-Import: Zeilenblöcke in neue Tabelle kopieren
26.08.2024 10:39:54
Pluto
Hallo liebes Forum,

ich stehe vor der Aufgabe, aus einer in EXCEL importierten CSV eine Tabelle zu erstellen, in der die Daten eines Zeilenblocks nun in einer neuen Tabelle zeilenweise dargestellt werden. Es geht um die Verarbeitung von Berichtsinhalten.
Tabelle 1 (Quelle):
...ist eine importierte CSV, in der die Daten eines Berichtes in einem Zeilenblock enthalten sind (z.B. Zeile 5 bis 25, die Größe der Zeilenblöcke variiert). Die Werte stehen in unterschiedlichen Spalten.
Für den Start eines Blockes gibt es in einer Zeile ein eindeutiges Kriterium (Zelleninhalt: "Berichtsnummer"), das Ende des Blocks wird durch ein erneutes Startkriterium markiert (Röw-1).

Tabelle 2 (Ziel):
Die oben identifizierten Zeilenblöcke sollen nun in der Zieltabelle im gleichen Arbeitsblatt IN EINE ZEILE geschrieben werden.
Es werden nur ausgewählte Zeilen übertragen werden, die Spalten in der Zieltabelle sind fix.
Ergebnis soll sein, dass jeder Bericht in einer Zeile dargestellt wird.

Eine Beispiel-Datei findet Ihr hier: https://www.herber.de/bbs/user/171822.xlsx

Ich bin gespannt und schon einmal Danke für die Tipps...Pluto
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: csv-Import: Zeilenblöcke in neue Tabelle kopieren
26.08.2024 12:38:56
Yal
Hallo Pluto,

verwende dafür Power Query. Siehe das exzellente Tutorial https://excelhero.de/power-query/power-query-ganz-einfach-erklaert/

- öffne den CSV über Menü "Daten", "Aus Text/CSV", wähle deine Datei aus, klicke zum Abschliessen auf "Bearbeiten"
Du bist jetzt im Power Query Editor.
- andere den Typ von letzte Spalte zu "Zeit": Rechtsklick auf Spaltenüberschrift, "Typ ändern", "Zeit"
- erzeuge eine benutzerdefinierte Spalte, um die 4 Daten-Spalten in einer zusammenzufassen: markiere die 4 Spalten, Menü "Transformieren", "Spalten zusammenführen", kein Trennzeichen, benenne diese Spalte in "Wert" um (nicht wichtig, ausser für diese Erklärung)
- füge eine Benutzerdefinierte Spalte mit der Formel = if [Column2] = "Berichtsnummer" then [Column1] else null
- markiere diese neue Spalte, Menü "Transformieren", "Ausfüllen", "nach unten"
- Spalte1 löschen: Rechtsklick auf Überschrift "Entfernen"
- Spalte2 (mit Feld-Überschrift, also jetzt erste Spalte) markieren,
- Menü "Transformieren", "Spalte Pivotieren", Spalte "Wert" als Wert-Spalte auswählen,
- auf die letzte Tranformationsschritt in der Bearbeitungsleiste das letzte Argument "List.Count" samt vorangestellte Komma löschen
- unerwünschte Spalten entfernen
- in der Spalte "Berichtsnummer", Zeilen mit "null" wegfiltern
- Menü "Datei", "Schliessen & laden"
Fertig.

VG
Yal
Anzeige
AW: csv-Import: Zeilenblöcke in neue Tabelle kopieren
27.08.2024 14:19:03
daniel
Hi
als Formellösung:

in die Zelle A1 auf Tabelle 2 kommt diese Formel, die du einfach nach rechts ziehst:

=FILTER(Tabelle1!$C:$C&Tabelle1!$D:$D&Tabelle1!$E:$E&Tabelle1!$F:$F;Tabelle1!$B:$B=A1)

in den Spalten mit der Uhrzeit erweiterst du das so und formatierst die Zellen mit einem Uhrzeitformat

=1*FILTER(Tabelle1!$C:$C&Tabelle1!$D:$D&Tabelle1!$E:$E&Tabelle1!$F:$F;Tabelle1!$B:$B=A1)

das funktioniert aber nur dann so einfach, wenn die abgefragten Überschriften auch in jedem Block vorhanden sind.
ist das nicht gegeben, müsste man sich noch was anderes einfallen lassen.

Gruß Daniel
Anzeige
AW: csv-Import: Zeilenblöcke in neue Tabelle kopieren
27.08.2024 14:01:47
Pluto
Hallo Yal (cooler Name ;-)!

Vielen Dank - auf PQ bin ich erst einmal gar nicht gekommen.
Ich habe Dein Tut stoisch mit der Beispieldatei abgearbeitet.
Ich bekomme allerdings in Deinem Tut nach "Spalten zusammenführen" (Spalten 3/4/5/6) schon einen Error:
- Die neue benutzerdef. Spalte zeigt nun als Werte nur noch "ERROR"
Ich bekomme im PQ folgende Info:
" Expression.Error: Der Feldzugriff kann nicht auf den Typ "Null" angewendet werden.
Details:
Value=
Key=Column4"
Und ja: In der Col 4 stehen viele (nicht alle) Werte mit NULL

Darf der importierte/transformierte CSV etwa keine NULL-Werte enthalten?
Anzeige
AW: csv-Import: Zeilenblöcke in neue Tabelle kopieren
27.08.2024 14:10:37
Yal
Hallo Pluto,

Anscheinend ist in einer Spalte nur Nullen vorhanden und somit die Spalte nicht als Textspalte erkannt. Im allgemein lässt sich auf "null" wenig errichten.

Markiere vorher die 4 Spalten, Rechtsklick auf Überschrift "Wert ändern" und null in leere Zeichenkette ersetzen. Es könnte sein, dass diese leere zeichenkette nicht direkt angenommen wird. Man zuerst durch irgendeinen Text verwenden und die "Formel" in der Bearbeitungsleiste anpassen muss.
Aus einem a, das in der Formel als "a" angezeigt wird, wird ein "". Wenn man aber direkt "" in dem Assistent einträgt, wird in der Formel """""".

VG
Yal
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige