Funktion „Text in Spalten aufteilen“ in Excel

Funktion „Text in Spalten aufteilen“ in Excel

I have an excel spreadsheet with rows of data as shown below. There is a code with the product name and then a number.

QA32 Product One (Large) 23
AZ63 Product Two 96
PR65 Product Three 149

How do I split each field into a column?

I tried the "split text into columns" on excel using the delimited option and separating by spaces but the fact that some product names had more that one word caused the some numbers to be in the wrong column. E.g.,

Code     Name       Number       
QA32    Product      One       (Large)    23
AZ63    Product      Two         96
PR65    Product      Three       149

This is the desired result:

Code        Name                Number
QA32    Product One (Large)       23
AZ63    Product Two               96
PR65    Product Three             149

Help is appreciated!

Antwort1

Verwenden Sie FIND-function, um die Position Ihres ersten und letzten Leerzeichens zu bestimmen. Verwenden Sie anschließend , MID-functionum Ihre Daten in drei Teile aufzuteilen. Wenn Sie die Position Ihrer Leerzeichen kennen, ist das Aufteilen einfach. Das Finden des ersten Leerzeichens ist ebenfalls trivial, da FINDvon links nach rechts gesucht wird. Leider gibt es keine Möglichkeit, Excel anzuweisen, von rechts nach links zu suchen.

Der schwierige Teil ist also, das letzte Leerzeichen zu bestimmen! Hier verwenden wir eine Array-Formel.
Um eine Array-Formel einzugeben, fügen Sie die Formel in eine Zelle ein und drücken nicht Enter.
Stattdessen drücken Sie Ctrl+ Shift+ Enter.

{=MAX((MID(A2,ROW(A:A),1)=" ")*ROW(A:A))}

Bei erfolgreichem Abschluss fügt Excel eine beginnende und eine schließende geschweifte Klammer an.


Fügen Sie alle Formeln in die angegebenen Zellen ein und verwenden Sieautofill down

A2: Ihre Daten kommen hierhin
B2: =FIND(" ",A2,1)
C2: =MAX((MID(A2,ROW(A:A),1)=" ")*ROW(A:A)) <-Array-Formel!
D2: =MID(A2,1,B2-1)
E2: =MID(A2,B2+1,C2-B2-1)
F2:=MID(A2,C2+1,LEN(A2))

Ergebnisbildschirm
Bildbeschreibung hier eingeben

Antwort2

Wenn ein geeigneter Algorithmus zurückgeben soll:

  • Code = Das erste Wort
  • Produkt = Alles zwischen dem ersten und dem letzten Wort
  • Nummer = Das letzte Wort

Dann sollten die folgenden Formeln funktionieren.

Angenommen, Ihre Daten liegen in A1:

Code:     =LEFT(TRIM(A1),FIND(" ",TRIM(A1))-1)
Product:  =TRIM(MID(SUBSTITUTE(TRIM(A1)," ",REPT(" ",99)),100,LEN(SUBSTITUTE(TRIM(A1)," ",REPT(" ",99)))-198))
Number:   =TRIM(RIGHT(SUBSTITUTE(TRIM(A1)," ",REPT(" ",99)),99))

verwandte Informationen