Textteile in mehreren Zellen aufteilen auf je eine Zeile
#1
Hallo,

ich hab viele Zellen in einer Spalte die mit Werten befüllt sind, ich will nun jeden einzelnen Wert in eine eigene Zeile untereinander schreiben. Gentrennt sind die Werte mit Komma, sofern mehr als einer in einer Zelle steht.
Hat jemand ne Ahnung, wie ich das schnell und einfach aufdröseln kann? Danke.

Ist:
[
Bild bitte so als Datei hochladen: Klick mich!
]

Soll:
[
Bild bitte so als Datei hochladen: Klick mich!
]

Gruß


Angehängte Dateien
.xlsx   Beispiel_01.xlsx (Größe: 10,43 KB / Downloads: 15)
Top
#2
warum nicht einfach:  Daten - Text in Spalten (Komma als Trennzeichen)
zuvor mit Funktion wechseln die Leerzeichen entfernen
Top
#3
Hi,

das hatte ich schon versucht, aber dann hab ich ja in einer Zeile mehrere Spalten mti Werten. Ich möchte alle Werte in einer Spalte und dann jeder einzelne Wert eine neue Zeile.

Gruß
Top
#4
Moin

Mit PQ.
Code:
let
    Source = Excel.CurrentWorkbook(){[Name="Bereich"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}),
    #"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(#"Changed Type", {{"Column1", Splitter.SplitTextByDelimiter(", ", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Column1"),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Column1", type text}}),
    #"Filtered Rows" = Table.SelectRows(#"Changed Type1", each [Column1] <> null and [Column1] <> "")
in
    #"Filtered Rows"
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Top
#5
brauchst du das öfters,  dann VBA von @shift-del

oder wenn einmalig:


Angehängte Dateien
.xlsx   Beispiel_02.xlsx (Größe: 112,57 KB / Downloads: 4)
Top
#6
(26.04.2021, 22:20)bug99 schrieb: VBA von @shift-del
Nix VBA sondern PQ.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Top
#7
immer dieses neuartige Zeug  :) :)

ich bin doch noch auf dem Stand von excel 2003,
auch wenn ich mir nun office 2019 gegönnt habe
Top
#8
Hallo Alex,

das wäre dann eine VBA-Variante:

Code:
Sub BauteillisteErstellen()
  Dim i As Long, j As Long, k As Long, l As Long
  Dim varQ As Variant, varT As Variant, varZ As Variant
  With Worksheets("Ist")
    varQ = Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp)).Value
  End With
  ReDim varZ(1 To 1, 0)
  For i = 1 To UBound(varQ, 1)
    varT = Split(varQ(i, 1), ",")
    k = UBound(varT) + 1
    If k >= 0 Then
      l = UBound(varZ, 2)
      ReDim Preserve varZ(1 To 1, 1 To l + k)
      For j = 0 To k - 1
        varZ(1, l + j + 1) = Replace(Trim(varT(j)), Chr(10), "")
      Next j
    End If
  Next i
  Worksheets("Soll").Cells(1, 1).Resize(UBound(varZ, 2)).Value = Application.Transpose(varZ)
End Sub

Gruß Uwe
Top
#9
C1[:C441]: =XMLFILTERN("<a><b>"&WECHSELN(TEXTVERKETTEN(", ";;WECHSELN(A$1:A$79;",";", "));", ";"</b><b>")&"</b></a>";"//b")

in altem Excel (wg TEXTVERKETTEN erst ab xl2019, wg XMLFILTERN erst ab xl2013) C1:C441 markieren, eintragen und mit {} abschließen (Formelarray). In xl365 reicht normaler Eintrag in C1.

Quelle: Die SPLIT-Formel XMLFILTERN fand shift-del im Netz: https://www.office-hilfe.com/support/threads/22254/
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Top
#10
Danke für die verschiedenen Vorschläge, werde mal alle durchtesten und schauen, welche mir am besten gefällt :)

Gruß
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste