Dividir datos en columnas

Dividir datos en columnas

Tengo una hoja de cálculo en la que estoy trabajando. Dentro de esta hoja hay dos columnas. La columna A es el identificador único y la columna B tiene números de identificación. Un identificador podría tener hasta 1 o 5 ID. Lo que necesito hacer es mover todas las identificaciones a una fila manteniendo el identificador que he adjuntado con una imagen de antes y después.

Estoy seguro de que existe alguna fórmula que puede hacer esto, espero que puedas ayudar.

Antes

Antes

Después

Después

Respuesta1

Coloque esta macro en un módulo estándar y ejecútela:

Sub Macro1()
    Dim i As Long, j As Long, k As Long, Na As Long
    Dim v As String, Nc As Long

    Columns("A:A").Copy Columns("C:C")
    ActiveSheet.Range("C:C").RemoveDuplicates Columns:=1, Header:=xlYes


    Na = Cells(Rows.Count, "A").End(xlUp).Row
    Nc = Cells(Rows.Count, "C").End(xlUp).Row

    For i = 2 To Nc
        k = 4
        v = Cells(i, "C").Value
        For j = 2 To Na
            If v = Cells(j, 1).Value Then
                Cells(i, k) = Cells(j, 2).Value
                k = k + 1
            End If
        Next j
    Next i
End Sub

Aquí hay algunos resultados de muestra:

ingrese la descripción de la imagen aquí

Como puede ver, asumimos que las entradas están en columnas.AyB. Las salidas van en las columnas al lado de ellas. Al código no le importa si los datos están ordenados o no.

Respuesta2

Esto lo hago cada cierto tiempo, pero sin VBA y en un par de pasos:

1) primero ordene los datos por ID para que estén agrupados

2) luego, en C2: =if(A1=A2,if(A2=A3,B1&","&B2, "Último",&B1&","&B2),B2)

3) ejecuta eso

4) copie y pegue la columna C como valores (digamos en la columna D) para deshacerse de la fórmula

5) ordenar por columna D, eliminar todo lo que no diga "último"

6) seleccione la columna D, pestaña Datos> Texto a columnas> delimitado> seleccione comas> Aceptar

Ahora todo está dividido en columnas únicas y están en la misma línea que el ID. Puede eliminar las columnas B y C ya que ya no son necesarias.

información relacionada