Hur du delar upp kommaseparerade värden i rader eller kolumner i Excel

  • Dela Detta
Hugh West

Ibland, när man arbetar i Microsoft Excel Om vi behöver dela upp kommaseparerade kontinuerliga värden i en kolumn i olika kolumner eller rader. När vi importerar data som genererats från andra program i Excel kan alla data placeras i en enda kolumn, separerad med ett kommatecken. Dessutom kan vi behöva extrahera en viss del av data baserat på kravet. Den här artikeln kommer att vägleda dig till att dela upp kommaseparerade värden i flera kolumner eller rader.kolumner/rader med hjälp av flera funktioner och egenskaper.

Ladda ner övningsboken

Du kan ladda ner arbetsboken som vi har använt för att förbereda den här artikeln.

Dela upp kommaseparerade värden i rader eller kolumner.xlsm

5 metoder för att dela upp kommaseparerade värden i rader eller kolumner i Excel

1. Separera data i rader/kolumner med kommatecken med hjälp av funktionen "Text till kolumner" i Excel

1.1. Dela upp värden i kolumner

Först och främst kommer jag att använda Text till kolumner funktionen i Excel för att dela upp data i flera kolumner. Detta är den enklaste metoden att dela upp data i flera kolumner. separera data i kolumner Anta att vi har ett dataset som innehåller flera frukter i en kolumn, separerade med ett kommatecken. Det finns 3 frukter i varje cell. Nu kommer jag att dela upp frukterna i kolumnen B till 3 olika kolumner (kolumner C , D & E ).

Följ nedanstående steg för att utföra uppgiften.

Steg:

  • Välj först hela datasetet och gå till Uppgifter > Verktyg för data > Text till kolumner .

  • Som ett resultat av detta har Guiden Text till kolumner visas. Nu, från den Ursprunglig datatyp avsnittet, väljer du Avgränsad och klicka på Nästa .

  • Från och med den Avgränsare sätter du ett kryss i Komma och tryck på Nästa .

  • Därefter väljer du den Destination plats (här, Cell C5 ) och tryck på Slutförande .

  • Slutligen, efter att ha stängt Guiden Text till kolumner får vi nedanstående resultat: Alla data som är separerade med kommatecken delas upp i kolumner. C , D , och E .

Läs mer: Hur du delar data i en Excel-cell i flera kolumner (5 metoder)

1.2. Dela upp i rader med hjälp av text till kolumner

Nu kommer jag att dela upp värden separerade med kommatecken i flera rader Anta att jag har nedanstående dataset som innehåller några fruktnamn. Innan jag lägger in dessa värden i flera rader delar jag upp dem i kolumner med hjälp av Text till kolumner funktion.

Steg:

  • Välj först Cell B5 , gå till Uppgifter > Text till kolumner .
  • Från och med den Guiden Text till kolumner Välj Ursprunglig datatyp : Avgränsad och klicka på Nästa .
  • Välj nu den Avgränsare typ: Komma och klicka på Nästa .
  • Därefter väljer du den Destination cell (här Cell C5 ) och tryck på Slutförande .
  • Som ett resultat får du nedanstående utdata. Nu ska jag placera den resulterande datan i flera rader. För att göra det kopierar jag intervallet C5:G5 .

  • Senare högerklickar du på Cell B7 , och välj den Transponera från Alternativ för klistra in (se skärmdump).

  • Slutligen får vi det resultat vi letade efter, alla kommaseparerade värden delas upp på rader. 7 till 11 .

Läs mer: Hur du delar upp data i Excel (5 sätt)

2. Excel Power Query för att dela upp kommaseparerade värden i kolumner eller rader

2.1. Power Query för att dela upp värden i kolumner

Den här gången kommer jag att använda excel Power Query för att dela upp kommaseparerade data i flera kolumner. Följ nedanstående instruktioner för att utföra uppgiften.

Steg:

  • Sätt först markören i någon av cellerna i den befintliga datamängden. Gå sedan till Uppgifter > Från tabell/intervall ( Hämta och omvandla data grupp).

  • Excel kommer därför att be dig konvertera datafältet till en tabell. Kontrollera datafältet och tryck på OK för att skapa tabellen.

  • Som ett resultat av detta har Power Query Editor fönstret visas med nedanstående tabell. Från Redigerare för Power Query gå till Hem > Delad kolumn > Av Delimiter .

  • Efter det kan den Dela kolumnen med avgränsare visas. Välj Komma från Välj eller ange avgränsare och tryck på OK (se skärmdump).

  • Som en följd av detta delar Excel upp tabellen i 3 kolumnerna enligt nedan. För att stänga Redigerare för Power Query , gå till Hem > Stäng & Ladda > Stäng & Ladda .

  • Slutligen, här är det slutliga resultatet som vi får: Alla kommaseparerade data delas upp i 3 kolumner i en tabell.

Läs mer: Hur du delar upp data i flera kolumner i Excel

2.2. Dela upp data i rader

Här kommer jag att dela upp värden separerade med kommatecken i flera rader med hjälp av Excel Power Query .

Steg:

  • Vi har några kommaseparerade frukter i Cell B5 & C5 . För att ansöka Power Query till dessa värden, klicka på Cell B5 eller . C5 , och gå till Uppgifter > Från tabell/intervall .

  • Därefter ska Skapa en tabell visas, kontrollera tabellområdet och tryck på OK Därför kommer nedanstående tabell att skapas i Redigerare för Power Query fönster.
  • Välj sedan tabellen, gå till Hem > Delad kolumn > Av Delimiter .

  • Nu Dela kolumnen med avgränsare visas. Från dialogrutan Välj eller ange avgränsare avsnitt välja Komma , gå till Avancerade alternativ och klicka på Rader från fältet: Dela upp i När du är klar trycker du på OK .

  • När du trycker på OK får vi nedanstående resultat. Gå till Hem > Stäng & Ladda > Stäng & Ladda för att visa resultatet på Excel-arbetsbladet.

  • Till slut fick vi följande resultat: Alla kommaseparerade värden delas upp i rader. 2 till 7 .

3. Kombinera funktionerna LEFT, RIGHT, MID, FIND & LEN för att dela upp kommaseparerade värden i kolumner

Vi kan använda Excel-funktioner för att dela upp data som är separerade med kommatecken i flera kolumner. I princip kan vi extrahera delar av data i olika kolumner med hjälp av kombinationer av Excel-funktioner baserade på en avgränsare (kommatecken, mellanslag, semikolon). I den här metoden kommer jag att extrahera data från 3 positioner från en kontinuerlig textsträng som finns i kolumnen B och placera dem i flera kolumner.

3.1. Hitta det första ordet

Först extraherar jag det första ordet från den kontinuerliga textsträngen med hjälp av VÄNSTER och HITTA funktioner.

Steg:

  • Skriv in nedanstående formel i Cell C5 och tryck på Gå in på från tangentbordet.
= VÄNSTER(B5,FIND(",", B5)-1)

  • När du anger formeln returnerar Excel ' Datum som är det första ordet i Cell B5 .

Här kan HITTA funktionen returnerar platsen för 1:a kommatecken. Därefter VÄNSTER funktionen extraherar det första ordet före det första kommatecknet.

3.2. Extrahera det andra ordet

Nu kommer jag att använda kombinationen av MID och HITTA funktioner för att extrahera det andra ordet från Cell B5 .

Steg:

  • Skriv in följande formel i Cell D5 och slå på Gå in på .
=MID(B5,FIND(",",B5)+1,FIND(",",B5,FIND(",",B5)+1)-FIND(",",B5)-1)

  • Som en följd av detta ger formeln ovan följande resultat Vindruvor ; den 2:a ord av Cell B5 .

Här kan MID funktionen returnerar tecknen från mitten av textsträngen i Cell B5 . och den HITTA funktionen returnerar platsen för 2:a sträng i Cell B5 .

3.3. Hitta det tredje ordet

Anta att jag tar ut 3:e ord från Cell B5 baserat på kommatecknets placering. Vid utdragning av 3:e ord, kommer jag att använda ordet RÄTT , LEN , och HITTA funktioner.

Steg:

  • Skriv in nedanstående formel i Cell D5 Tryck sedan på Gå in på .
=RIGHT(B5, LEN(B5)-FIND(",", B5,FIND(",",B5)+1))

  • När du har tryckt på Gå in på , kommer Excel att ge följande resultat Vattenmelon som är den 3:e ord av våra kontinuerliga uppgifter i Cell B5 .

Här kan LEN funktionen returnerar längden på Cell B5 . Då är det HITTA funktionen returnerar kommatecknets plats i Cell B5 Senare, beroende på resultatet av HITTA och LEN funktioner RÄTT funktionen extraherar det högra ordet från Cell B5 .

  • Eftersom jag har tagit emot alla 1:a , 2:a , och 3:e ord i olika kolumner för den första raden, nu ska jag försöka få ett liknande resultat för resten av raderna. För att göra det, välj intervallet C5:D5 och använda Handtag för fyllning ( + ).

  • Här är det slutliga resultatet som vi kommer att få.

4. Excel VBA för att dela upp kommaseparerade värden i kolumner eller rader

4.1. VBA för att dela upp värden i kolumner

Du kan dela upp data som är separerade med ett kommatecken i flera kolumner med hjälp av en enkel VBA kod.

Steg:

  • Gå först till det kalkylblad där du vill dela upp data. Högerklicka sedan på arkets namn och klicka på Visa kod för att få upp den VBA fönster.

  • Skriv sedan nedanstående kod i Modul och Kör koden genom att använda F5 nyckel.
 Sub SplitData() Dim Range() As String, Count As Long, x As Variant For r = 5 To 10 Range = Split(Cells(r, 2), ",") Count = 3 For Each x In Range Cells(r, Count) = x Count = Count + 1 Next x Next r End Sub 

Här ' r ' anger rader som innehåller data. Å andra sidan anger ' Räkning=3 ' anger en kolumn. C , som är den första kolumnen för att visa de delade uppgifterna.

  • När du kör koden kommer data separerade med kommatecken i kolumnen B delas upp i kolumner C , D , och E enligt nedan:

4.2. Dela upp värden i rader

Nu ska jag dela upp kommaseparerade värden i olika rader med hjälp av Excel VBA. Följ nedanstående steg för att utföra uppgiften.

Steg:

  • Först går du till det kalkylblad där du har data och högerklickar på Visa kod .

  • Som en följd av detta har VBA fönstret visas. Skriv nedanstående kod i fönstret Modul och tryck på koden genom att trycka på F5 på tangentbordet.
 Sub SplitRows() Dim rng As Range Dim rng1 As Range Dim cell As Range Dim N As Long Dim address As String Dim update As Boolean Dim ret As Variant On Error Resume Next address = Application.ActiveWindow.RangeSelection.address Set rng = Application.InputBox("Ange ett intervall", "Input Box", address, , , , , , 8) Set rng = Application.Intersect(rng, rng.Worksheet.UsedRange) If rng Is Nothing ThenExit Sub If rng.Columns.Count> 1 Then MsgBox "Cannot select more than one column" Exit Sub End If Set rng1 = Application.InputBox("Destination Cell", "Input Box", , , , , , , , 8) Set rng1 = rng1.Range("A1") If rng1 Is Nothing Then Exit Sub update = Application.ScreenUpdating Application.ScreenUpdating = False For Each cell In rng ret = Split(cell.Value, ",") rng1.Worksheet.Range(rng1.Offset(N,0), rng1.Offset(N + UBound(ret, 1), 0)) = Application.WorksheetFunction.Transpose(ret) N = N + UBound(ret, 1) + 1 Next Application.ScreenUpdating = update End Sub 

  • När du kör koden visas nedanstående inmatningsruta, ange nedanstående dataområde och tryck på OK .

  • Som ett resultat visas en annan inmatningsruta. Lägg in målcellen där och tryck på OK .

  • I slutändan får vi nedanstående resultat: Alla kommaseparerade värden i vårt dataset delas upp i rader. 8 till 13 .

5. Använd Excel Flash Fill för att dela upp kommaseparerade värden i olika kolumner

Vi kan skriva en del av de kommaseparerade uppgifterna i en annan kolumn och sedan tillämpa Flash Fill för att få fram resten av uppgifterna med samma mönster.

Steg:

  • Typ ' Datum ' i Cell C5 Senare, när du börjar skriva R ' i Cell C6 Excel förstår att jag vill ha frukterna i den första positionen från alla rader.

  • Tryck helt enkelt på Gå in på för att få nedanstående resultat. Nu kan du använda denna liknande metod för att dela upp andra kommaseparerade värden i flera kolumner.

Slutsats

I artikeln ovan har jag försökt diskutera flera metoder för att dela upp kommaseparerade värden i rader eller kolumner i Excel. Förhoppningsvis är dessa metoder och förklaringar tillräckliga för att lösa dina problem. Låt mig veta om du har några frågor.

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.