Verschieben Sie alle 7 Spalten in eine neue Zeile in Excel [duplizieren]

0

Diese Frage hat hier bereits eine Antwort:

Ich habe einen sehr großen Datensatz in Excel. Alle Ergebniswerte befinden sich in einer einzigen Spalte. Ich muss diese Punkte in Zeilen unterteilen, damit jeder Satz von 7 Punkten (dh Punkte 2-8, 9-16 usw.) in einer eigenen Zeile steht (jede Zeile ist dann eine Einzelne, und jede Spalte ist eine Punktzahl zu einem anderen Zeitpunkt (insgesamt 7 Mal).

Wie kann ich das in Excel machen?

user217494
quelle

Antworten:

0

Da Sie weder angegeben haben, welche Excel-Version Sie verwenden, noch ein Beispiel für Ihre Daten angegeben haben. Jede "richtige Antwort" wird also eine wilde Vermutung sein.

Wenn Sie Excel 2010 verwenden und Ihre Ergebnisse durch Kommas getrennt sind (z. B. 23-42, 11-17, 1-5), verwenden Sie Text in Spalten (Daten> Datentools> Text in Spalten), um die Ergebnisse in einzelne Spalten zu unterteilen .

Fügen Sie dann nach jeweils 7 separaten Zeilen eine Zeile ein und fügen Sie sie mit Concatinate in 7er-Gruppen zusammen

=B1&C1&D1&E1&F1&G1&H1

Wenn dies nicht die "richtige Antwort" ist, geben Sie uns ein Beispiel für die Daten und sagen Sie uns, welche Excel-Version Sie verwenden.

James Jenkins
quelle
0

Wie die anderen Plakate hier habe ich einige Annahmen zu Ihren Daten getroffen. Siehe unten. Ich gehe davon aus, dass jede Partitur mit einem Namen versehen ist und dass es 7 Mal pro Name gibt. Sie können die Daten also zuerst nach Namen sortieren. Unter der Annahme, dass die "Zeiten" nicht wirklich relevant sind, können Sie eine "TimeNumber" -Spalte hinzufügen. Erstellen Sie schließlich eine Pivot-Tabelle.

Bildbeschreibung hier eingeben

F106dart
quelle
0

Am einfachsten geht das mit einem VBA-Makro:

Sub Every7()
    Dim i As Integer, j As Integer, cl As Range
    Dim myarray(100, 6) As Integer 'I don't know what your data is.  Mine is integer data
    'Change 100 to however many rows you have in your original data, divided by seven, round up
    'remember arrays start at zero, so 6 really is 7

    If MsgBox("Is your entire data selected?", vbYesNo, "Data selected?") <> vbYes Then
        MsgBox ("First select all your data")
    End If

    'Read data into array
    For Each cl In Selection.Cells
        Debug.Print cl.Value
        myarray(i, j) = cl.Value
        If j = 6 Then
            i = i + 1
            j = 0
        Else
            j = j + 1
        End If
    Next

    'Now paste the array for your data into a new worksheet
    Worksheets.Add
    Range(Cells(1, 1), Cells(101, 7)) = myarray
End Sub

Das dauert so:

pic1

und transformiert es dazu:

pic2

Baodad
quelle
@Scottch - Du bist wirklich schlecht und wählst ganze Blöcke und Code aus und formatierst ihn. Sie versuchen zu antworten. Grundsätzlich ist jeder einzelne Vorschlag, den Sie gemacht haben, nicht als Bearbeitung geeignet. Es gab keinen Grund, diesen Code vielseitiger zu gestalten.
Ramhound