Wie verschiebe ich einige Daten in einer Spalte in eine neue Spalte

Wie verschiebe ich einige Daten in einer Spalte in eine neue Spalte

Ich suche nach einer Formel, um Daten in neue Spalten aufzuteilen. Ich kann das ganz einfach machen, möchte sie aber kategorisieren.

D. h. ich habe eine Spalte mit Informationen zum Abschluss jeder Person, wie:

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

Die Daten sind für jede Person mit unterschiedlicher Anzahl von Abschlüssen unterschiedlich. Ich möchte alle BS in eine neue Spalte verschieben, alle MS in eine andere und PHD in eine weitere. Ich kann die Daten in neue Spalten aufteilen, aber nicht in die richtigen Spalten, da die Daten für jede Zeile unterschiedlich sind.

Danke.

Antwort1

Mit Daten in der SpalteA, InB1eingeben:

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

und kopieren Sie nach unten. InC1eingeben:

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

und kopieren Sie nach unten. InT1 (T1)eingeben:

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

und kopiere nach unten:

Bildbeschreibung hier eingeben

Antwort2

Angenommen

  • VBA ist akzeptabel,
  • Office 2000 oder höher (für die Split-Funktion. Wenn Sie eine ältere Version als 2003 verwenden, sagen Sie mir Bescheid, damit ich das noch einmal überprüfen kann.)
  • Ihr Format ist konsistent, mit einem Semikolon als Trennzeichen.

fügen Sie dann diesen Code hinzu:

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

Unten sehen Sie Ihre Tabelle und die Formeln zum Eintragen der Grade in die verschiedenen Spalten rechts neben der kombinierten Zeichenfolge mit den Semikolons.

Stellen Sie sicher, dass Ihre Spalten breit genug sind. Falls gewünscht, können wir unten mehr Code hinzufügen, der besagt:

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

Kopieren Sie die letzte Spalte so weit wie nötig nach rechts. Kopieren Sie beispielsweise E1:E3 nach F1:F3.

Kopieren Sie die letzte Zeile so weit nach unten wie nötig. Kopieren Sie beispielsweise A3:E3 nach A4:E4 und geben Sie die neuen Daten in A4 ein.

Natürlich ist es sinnvoll, oben eine Zeile für richtige Überschriften einzufügen.

Sagen Sie mir, wenn irgendetwas davon unklar ist. Oder ob das akzeptabel ist. Achten Sie auf die Dateneingabe und deren Konsistenz (z. B. wird manchmal PHD und manchmal Ph.D angezeigt), um festzustellen, ob zusätzliche Spalten erforderlich sind, wie unten für PHD-Varianten gezeigt.

Erweitertes Arbeitsblatt

Erweiterte Formeln

verwandte Informationen