Ich habe eine Tabelle mit 2000 Zeilen, die wie folgt strukturiert ist
company product targetJan targetFeb targetMarch targetApril ...
Google Docs 10 20 30 40
Google Mail 13 25 45 70
Das möchte ich umwandeln in
Company product Date Target
Google Docs Jan 10
Google Docs Feb 20
...
Google Mail Jan 13
...
Ich habe keine Ahnung, wie ich das angehen soll, und kenne mich mit Makros oder VBA nicht besonders gut aus. Wie kann ich das angehen?
BEARBEITEN: Ich habe ein Makro aufgezeichnet, das die Aufgabe erledigt, aber nur in der ersten von mir angegebenen Zeile. Jetzt muss ich herausfinden, wie ich es auf alle 12 Zeilen im gesamten Dokument anwenden kann:https://pastebin.com/D9yUHxZk
Antwort1
Dies ist auch ohne Makro möglich. Die folgenden Formeln füllen eine neue Tabelle rechts neben Ihren vorhandenen Daten:
Diese Formeln, ausgefüllt aus O2:R2 (jeweils), ergeben die gezeigten Ergebnisse.
=OFFSET($A$2,TRUNC((ROW()-2)/12),0)
=OFFSET($B$2,TRUNC((ROW()-2)/12),0)
=RIGHT(OFFSET($C$1,0,MOD((ROW()-2),12)),3)
=OFFSET($C$2,TRUNC((ROW()-2)/12),MOD((ROW()-2),12))
Beachten Sie, dass ich (der Einfachheit halber) Ihre Zielüberschriften so geändert habe, dass der Monatsteil die dreistellige Abkürzung ist. Wenn Sie einen längeren Monatsnamen extrahieren möchten, können Sie dies mit den Textfunktionen MID() und LEN() tun.
Wenn Sie alle neuen Daten eingegeben haben, können Sie die Spalten mit den alten Daten löschen, wenn Sie möchten. Markieren Sie aber zunächst alle neuen Daten, kopieren Sie sie und wählen Sie Inhalte einfügen > Werte..., damit die Daten nicht verloren gehen, wenn Sie die Spalten löschen, aus denen sie stammen.
Antwort2
So wandeln Sie Zeilen in Spalten um (transponieren):
- Kopieren Sie Ihren Bereich
- Paste
- Klicken Sie auf die Einfügeoption (unten rechts in Ihrem eingefügten Array).
- Klicken Sie auf Transponieren (T)
Ansonsten ist Ihr Transponierungsbeispiel nicht klar, aber wenn Sie es individueller gestalten möchten, ist es eine gute Gelegenheit, ein wenig über VBA-/Excel-Funktionen zu lernen. Beginnen Sie einfach damit, die erwarteten Aktionen Schritt für Schritt aufzuteilen.
viel Glück.