Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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?
Antworten 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.
Antworten 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)
Antworten Top
#4
Vielen Dank für die schnellen Antworten! Ich hatte den Beitrag versehentlich unfertig abgeschickt, nun aber ergänzt Blush
Antworten 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.

Antworten 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.
Antworten Top


Gehe zu:


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