¿Cómo muevo algunos datos de una columna a una nueva columna?

¿Cómo muevo algunos datos de una columna a una nueva columna?

Estoy buscando una fórmula para dividir datos en nuevas columnas. Puedo hacerlo de forma sencilla pero quiero categorizarlo.

Es decir, tengo una columna con información de grado para cada persona como:

BS 1990; MS 1991; PHD 1992;
Next record:
BS 1999; PHD 2000

Los datos son diferentes para cada persona con distintos grados. Quiero mover todos los BS a una nueva columna, todos los MS a otra y PHD a otra. Puedo hacer que los datos se divida en nuevas columnas pero no en las columnas correctas, ya que los datos son diferentes para cada fila.

Gracias.

Respuesta1

Con datos en columnaA, enB1ingresar:

=IF(ISERROR(FIND("BS",A1)),"",MID(A1,FIND("BS",A1),7))

y copie. EnC1ingresar:

=IF(ISERROR(FIND("MS",A1)),"",MID(A1,FIND("MS",A1),7))

y copie. EnD1ingresar:

=IF(ISERROR(FIND("PHD",A1)),"",MID(A1,FIND("PHD",A1),8))

y copie:

ingrese la descripción de la imagen aquí

Respuesta2

Asumiendo

  • VBA es aceptable,
  • Office 2000 o posterior (para la función Dividir. Si está utilizando una versión anterior a 2003, dígamelo para verificarlo).
  • su formato es consistente, con un separador de punto y coma.

luego agregue este código:

Function XLstrtok2(sStr As String, sDesiredDegree As String)
    Dim ss() As String, i As Integer
    sStr = Trim(sStr)
    If Right(sStr, 1) = ";" Then sStr = Left(sStr, Len(sStr) - 1)
    ss = Split(sStr, ";")
    For i = 0 To UBound(ss)    
        If Left(Trim(ss(i)), Len(sDesiredDegree)) = sDesiredDegree Then XLstrtok2 = Trim(ss(i)): Exit Function    
    Next    
    XLstrtok2 = "--"
End Function

Y a continuación se muestra su hoja de cálculo y las fórmulas para poner los grados en diferentes columnas a la derecha de la cadena combinada con el punto y coma.

Asegúrese de que sus columnas sean lo suficientemente anchas. Si lo deseamos, podemos agregar más código en la parte inferior diciendo

With ActiveSheet.Columns("A:E")
    .AutoFit
    .HorizontalAlignment = xlLeft
End With

Copie la última columna a la derecha tanto como sea necesario. Por ejemplo, copie E1:E3 a F1:F3.

Copie la última fila hacia abajo tanto como sea necesario. Por ejemplo, copie A3:E3 a A4:E4 y escriba nuevos datos en A4.

Por supuesto, es aconsejable insertar una fila en la parte superior para los títulos adecuados.

Dime si algo de esto no está claro. O si esto es aceptable. Preste atención a la entrada de datos y su coherencia (por ejemplo, a veces muestra PHD y otras veces Ph.D) para determinar si se necesitan columnas adicionales, como se muestra a continuación para las variantes de PHD.

Hoja de cálculo ampliada

Fórmulas ampliadas

información relacionada