Mova cada 7 colunas para uma nova linha no Excel [duplicado]

0

Eu tenho um conjunto de dados muito grande no Excel; todas as pontuações dos resultados estão em uma única coluna. Eu preciso que essas pontuações sejam separadas em linhas para que cada conjunto de 7 pontuações (ou seja, pontuações 2-8, 9-16, etc) estejam em suas próprias linhas (cada linha será um indivíduo, e cada coluna será uma pontuação em um horário diferente, com 7 vezes no total).

Como posso fazer isso no Excel?

    
por user217494 16.04.2013 / 17:49

3 respostas

0

Como você não indicou qual versão do Excel está usando, nem forneceu um exemplo de seus dados. Então, qualquer "resposta certa" será um palpite.

Se você tiver o Excel 2010 e suas pontuações forem separadas por vírgula (ou seja, 23-42, 11-17, 1-5), use Texto em colunas (Dados > Ferramentas de dados > Texto para colunas; para separar as pontua em colunas individuais.

Em seguida, insira uma linha a cada 7 linhas separadas e use o concatinado para unir as partes em grupos de 7

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

Se esta não for a "resposta certa", forneça um exemplo dos dados e diga-nos qual versão do Excel você está usando.

    
por 16.04.2013 / 20:59
0

Como os outros pôsteres aqui, fiz algumas suposições sobre seus dados. Ver abaixo. Eu assumo que cada partitura vai com um nome, de cada vez, e há 7 vezes por nome. Então, você pode primeiro classificar os dados por nome. Então, supondo que os "tempos" não sejam realmente relevantes, você pode adicionar uma coluna "TimeNumber". Finalmente, construa uma tabela dinâmica.

    
por 18.04.2013 / 21:13
0

A maneira mais fácil de fazer isso é com uma macro VBA:

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

Isso leva isso:

etransformaisso:

    
por 16.04.2013 / 23:52