Nicht-Standard-Transponierung in Excel


0

Ich habe eine Reihe von horizontalen Daten in Excel, die ich vertikal benötigen. Ich habe versucht, die Transponierungsformel zu verwenden, aber wenn ich die Formel in der nächsten vertikalen Zeile kopiere, ist dies nicht die folgende Zeile.

Was ich brauche, sind alle Daten, die in eine vertikale Linie umgewandelt wurden, beginnend mit A1-E1, dann mit A2-E2, A3-E3 usw.

Die Formel, die ich verwendet habe, lautet: {= TRANSPOSE ($ A1: $ E1)} Wenn ich sie kopiere, steht in der nächsten Zeile A5: E5 anstelle von A2: E2.

Ich habe ungefähr 3000 Zeilen, also wird es manuell ewig dauern.

Bildbeschreibung hier eingeben


Aus Ihrem Bild geht hervor, dass Sie nicht nach einer Standardtransponierung suchen, sondern versuchen, alle Daten in eine Spalte zu konvertieren. Ist es richtig? Bitte posten Sie auch die Formel, die Sie ausprobiert haben. Bitte antworten Sie nicht, sondern bearbeiten Sie Ihre Frage.
Máté Juhász

1
Ich kann die Frage überhaupt nicht verstehen. Sie müssen klarer sein.
David Dai

Antworten:


1

Die Excel- TRANSPOSEFunktion macht nur "exakte" Transpositionen, es ist nicht einfach, sie mit anderen Transformationen zu kombinieren. Sie haben noch ein paar Möglichkeiten:

  1. Transponieren Sie Ihre Daten zeilenweise, einschließlich einer einzigen Zeile in der Formel, und wiederholen Sie die Formel mehrmals. Da Sie viele Zeilen haben, ist diese wahrscheinlich nicht für Sie.
  2. Transponieren Sie die gesamte Matrix mit TRANSPOSEund lösen Sie das Pivot .
  3. Verwenden Sie eine andere Formel, zB:
    =INDEX($A$1:$H$5,INT((ROW()-ROW($A$7))/COLUMNS($A$1:$H$5))+1,MOD(ROW()-ROW($A$7),COLUMNS($A$1:$H$5))+1)

Bildbeschreibung hier eingeben


Vielen Dank. Es hat nicht so funktioniert, wie ich es mir erhofft hatte, aber ich sehe, dass ich nicht klar genug war. Das tut mir leid. Ich habe es mit einem College von mir besprochen, und am Ende haben wir Folgendes geschrieben: Sub TranposeToSheet () Dim sh As String sh = "Sheet2" Mit ActiveSheet Max = .UsedRange.Rows.Count For x = 1 Bis Max For y = 1 Zu 4 Arbeitsblättern (sh) .Zellen ((x * 4) + y, 1) = .Zellen (x, y + 1) 'Wert Arbeitsblätter (sh) .Zellen ((x * 4) + y, 2) =. Cells (x, y + 4 + 1) 'Price Next Next End With End Sub Das hat wie ein Pfirsich geklappt. Danke trotzdem!
Torstein_norway

1
@Torstein_norway Wenn du es mit einem Makro gelöst hast, poste das bitte als Antwort, damit andere es sehen können.
Raystafarian
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.