Wie kann ich die Umwandlung von Zeilen in Spalten in Excel automatisieren?

Wie kann ich die Umwandlung von Zeilen in Spalten in Excel automatisieren?

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:

Bildbeschreibung hier eingeben

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.

verwandte Informationen