Vorhandene Tabelle in zeilenbasiertes Format umwandeln
#1
Hallo!

In einer Tabelle wurden von mehreren Geräten jeweils mehrere Messwerte notiert. Das ganze sieht so aus:

Code:
Datum         Werte Gerät A     Werte Gerät B     Werte Gerät C
01.01.2020    1                 1                 5
              2                 5                 6
              3                 7                 4

02.02.2020    0                 3                 5
              5                 4                 2
              3                 7                 9

Jeder Eintrag wird also von einem Datumswert markiert und für jedes Gerät gibt es dann mehrere Messwerte. Die zahl der Einträge / Werte ist dabei immer gleich.

Nun muss ich das Ganze in ein anderes Programm übertragen, dass die Daten per CSV übernehmen kann. Dafür müsste das Ganz in ein zeilenbasiertes Format umgewandelt werden:

Code:
01.01.2020   Gerät A   1  3  5
01.01.2020   Gerät B   1  5  7
01.01.2020   Gerät C   5  6  4
02.02.2020   Gerät A   0  5  3
02.02.2020   Gerät B   3  4  7
02.02.2020   Gerät C   5  2  9

Die echte Tabelle besteht natürlich aus deutlich mehr Einträgen. Wie mache ich das am besten automatisch?

Geht das mit einfachen Excel Funktionen oder nur mit VB oder anderer Programmierung?
Top
#2
Hallo,

das was Du gezeigt hast hilft nicht gerade. Es wird nur ein Datum angezeigt.
Stell doch eine anonymisierte Tabelle mit ein paar Werten ein. Das würde helfen.

Gruß
Marcus

Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
Top
#3
Hallo,

der 1.1.2020 war der erste Tag des Jahres 2020. Es war ein Mittwoch. KW=1

Konnte ich helfen oder wolltest du etwas ganz anderes wissen?
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#4
Vielen Dank für die schnellen Antworten! Ich hatte den Beitrag versehentlich unfertig abgeschickt, nun aber ergänzt Blush
Top
#5
Moin

Normalerweise würde ich ja PQ für das entpivotieren empfehlen, aber da die Daten danach als csv abgespeichert werden sollen (was man mit VBA automatisiert) macht es Sinn auch diesen Teil mit VBA zu lösen.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Top
#6
Falls die Leerzeile in Deinem Beispiel keine ist:

F1: 

=WAHL(MIN(SPALTE(A1);3);
INDEX(A:A;KÜRZEN(ZEILE(A6)/3)*3-4);
INDEX($B$1:$D$1;REST(ZEILE()-1;3)+1);
INDEX($B:$D;KÜRZEN((ZEILE()-1)/3)*3+SPALTE(A1)-1;REST(ZEILE()-1;3)+1))

Wenn sie doch eine ist, kannst Du sie über geeignetes Sortieren entfernen.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Top


Gehe zu:


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