So falten Sie eine horizontale Serie in eine vertikale


3

Ich habe einen Datensatz, der in a enthalten ist .csv Tabelle wie folgt angeordnet:

name | 2006 | 2007 | 2008 | 2009
--------------------------------
foo  | 28   | 48   | 395  | 3829
bar  | 83   | 475  | 350  | 46

Ich muss diese Daten neu anordnen, damit sie so aussehen:

name | date | value
-------------------
foo  | 2006 | 28
foo  | 2007 | 48
foo  | 2008 | 395
foo  | 2009 | 3829
bar  | 2006 | 83
bar  | 2007 | 475
bar  | 2008 | 350
bar  | 2009 | 46

Ich dachte, ich könnte das mit einer Tabellenkalkulationsformel machen, so etwas wie row.valueEntry = inputSheet[row.index/4 + 1][row.index % 4 + 1], aber ich habe noch nicht herausgefunden, wie man es in der Spreadsheet-Formula-Sprache implementiert.

Gibt es einen besseren Weg, um diese Art der Neuordnung zu erreichen?

(BTW, ich habe keinen Zugriff auf MS Excel, da ich auf Ubuntu bin, aber Antworten, die Dinge benötigen, die speziell für Excel sind, könnten für andere Benutzer dennoch nützlich sein.)


1
Ich denke, das Ding dafür in Excel ist eine "Pivot-Tabelle". Ich werde über einen einfachen Tabellenkalkulationscode nachdenken ...
apnorton

Es sieht so aus, als hätte LibreOffice auch einen Pivot-Tisch, aber ich weiß nicht, wie gut er ist.
apnorton

@anorton Nun, ich habe es gerade von Hand geschafft, 27.000 Zeilen davon, mit einigen ziemlich sich wiederholenden, aber ziemlich einfachen Blockkopien. Ich kopierte eine Spalte auf eine zweite Seite, auf der sich die anderen Datenzeilen links und eine Spalte rechts befanden, sodass alle Zellen der Überschrift der eingefügten Spalte entsprachen, und kopierte dann alle resultierenden Zeilen mit auf ein drittes Blatt 'Nur Werte einfügen'.
AJMansfield

Antworten:


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.