TEXTJOIN-funktionen i Excel för att sammanfoga text från flera celler

  • Dela Detta
Michael Brown

I handledningen visas hur du använder TEXTJOIN-funktionen för att sammanfoga text i Excel med praktiska exempel.

Fram till nyligen fanns det två vanliga metoder för att sammanfoga cellinnehåll i Excel: concatenation-operatorn och CONCATENATE-funktionen. I och med TEXTJOIN verkar det som om ett kraftfullare alternativ har dykt upp, som gör det möjligt att sammanfoga text på ett mer flexibelt sätt, inklusive alla avgränsare däremellan. Men i själva verket finns det mycket mer att göra!

    Excel TEXTJOIN-funktionen

    TEXTJOIN i Excel sammanfogar textsträngar från flera celler eller intervall och separerar de kombinerade värdena med en avgränsare som du anger. Det kan antingen ignorera eller inkludera tomma celler i resultatet.

    Funktionen finns i Excel för Office 365, Excel 2021 och Excel 2019.

    Syntaxen för TEXTJOIN-funktionen är följande:

    TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)

    Var:

    • Avgränsare (obligatoriskt) - är en avgränsare mellan varje textvärde som du kombinerar. Vanligtvis anges det som en textsträng inom dubbla citattecken eller som en hänvisning till en cell som innehåller en textsträng. Ett nummer som anges som avgränsare behandlas som text.
    • Ignore_empty (obligatoriskt) - Bestämmer om tomma celler ska ignoreras eller inte:
      • TRUE - ignorerar alla tomma celler.
      • FALSE - inkluderar tomma celler i den resulterande strängen.
    • Text1 (obligatoriskt) - första värde som ska sammanfogas. Kan anges som en textsträng, en referens till en cell som innehåller en sträng eller en array av strängar, t.ex. ett intervall av celler.
    • Text2 , ... (valfritt) - ytterligare textvärden som ska sammanfogas. Högst 252 textargument tillåts, inklusive text1 .

    Låt oss till exempel kombinera adressdelarna från cellerna B2, C2 och D2 i en cell och separera värdena med ett kommatecken och ett mellanslag:

    Med funktionen CONCATENATE måste du ange varje cell individuellt och sätta en avgränsare (", ") efter varje referens, vilket kan vara besvärligt när du slår ihop innehållet i många celler:

    =CONCATENATE(A2, ", ", B2, ", ", ", C2)

    Med Excel TEXTJOIN anger du avgränsaren bara en gång i det första argumentet och anger ett cellintervall i det tredje argumentet:

    =TEXTJOIN(", ", TRUE, A2:C2)

    TEXTJOIN i Excel - 6 saker att komma ihåg

    För att effektivt använda TEXTJOIN i dina arbetsblad finns det några viktiga punkter att ta hänsyn till:

    1. TEXTJOIN är en ny funktion som endast är tillgänglig i Excel 2019 - Excel 365. I tidigare Excel-versioner kan du använda CONCATENATE-funktionen eller operatorn "&" i stället.
    2. I nya versioner av Excel kan du också använda CONCAT-funktionen för att sammanfoga värden från separata celler och intervall, men utan alternativ för avgränsare eller tomma celler.
    3. Varje nummer som lämnas till TEXTJOIN för avgränsare eller . text argumenten omvandlas till text.
    4. Om avgränsare inte anges eller är en tom sträng (""), sammanfogas textvärdena utan någon avgränsare.
    5. Funktionen kan hantera upp till 252 textargument.
    6. Den resulterande strängen kan innehålla högst 32 767 tecken, vilket är cellgränsen i Excel. Om denna gräns överskrids returnerar en TEXTJOIN-formel felet #VALUE!.

    Hur man sammanfogar text i Excel - exempel på formler

    För att bättre förstå fördelarna med TEXTJOIN ska vi ta en titt på hur man använder funktionen i verkliga scenarier.

    Konvertera kolumnen till en kommaseparerad lista

    När du vill sammanfoga en vertikal lista och separera värdena med ett kommatecken, semikolon eller någon annan avgränsare är TEXTJOIN rätt funktion att använda.

    I det här exemplet ska vi sammanfoga vinster och förluster för varje lag i tabellen nedan. Detta kan göras med följande formler, som endast skiljer sig åt i det område av celler som sammanfogas.

    För lag 1:

    =TEXTJOIN(",", FALSE, B2:B6)

    För lag 2:

    =TEXTJOIN(",", FALSE, C2:C6)

    Och så vidare.

    I alla formler används följande argument:

    • Avgränsare - ett kommatecken (",").
    • Ignore_empty sätts till FALSE för att inkludera tomma celler eftersom vi måste visa vilka spel som inte spelades.

    Resultatet blir fyra kommaseparerade listor som representerar varje lags vinster och förluster i kompakt form:

    Sammanfoga celler med olika avgränsare

    I en situation där du behöver separera de kombinerade värdena med olika avgränsare kan du antingen ange flera avgränsare som en arraykonstant eller ange varje avgränsare i en separat cell och använda en intervallreferens för avgränsare argument.

    Antag att du vill sammanfoga celler som innehåller olika namndelar och få resultatet i detta format: Efternamn , Förnamn Mellannamn .

    Som du kan se är efternamn och förnamn separerade med ett kommatecken och ett mellanslag (", ") medan förnamn och mellannamn endast är separerade med ett mellanslag (" "). Vi inkluderar dessa två avgränsare i en arraykonstant {", ", "," "} och får följande formel:

    =TEXTJOIN({", ","," "}, TRUE, A2:C2)

    Där A2:C2 är de namndelar som ska kombineras.

    Alternativt kan du skriva avgränsarna utan citationstecken i några tomma celler (t.ex. ett kommatecken och ett mellanslag i F3 och ett mellanslag i G3) och använda intervallet $F$3:$G$3 (tänk på de absoluta cellreferenserna) för avgränsare argument:

    =TEXTJOIN($F$3:$G$3, TRUE, A2:C2)

    Genom att använda detta allmänna tillvägagångssätt kan du sammanfoga cellinnehåll i olika former.

    Om du till exempel vill ha resultatet i Förnamn Mellanbokstav Efternamn formatet och använder sedan funktionen LEFT för att extrahera det första tecknet (initialen) från cell C2. När det gäller avgränsare sätter vi ett mellanslag (" ") mellan förnamnet och den mellersta initialen, ett punkt och ett mellanslag (". ") mellan initialen och efternamnet:

    =TEXTJOIN({" ",". "}, TRUE, B2, LEFT(C2,1), A2)

    Sammanfoga text och datum i Excel

    I ett specifikt fall, när du sammanfogar text och datum, fungerar det inte att ange datum direkt i en TEXTJOIN-formel. Som du kanske minns lagrar Excel datum som serienummer, så formeln returnerar ett nummer som representerar datumet, vilket visas i skärmdumpen nedan:

    =TEXTJOIN(" ", TRUE, A2:B2)

    För att åtgärda detta måste du konvertera datumet till en textsträng innan du sammanfogar det. Och här är TEXT-funktionen med önskad formatkod ("mm/dd/ååå" i vårt fall) till nytta:

    =TEXTJOIN(" ", TRUE, A2, TEXT(B2, "mm/dd/ååå"))

    Sammanfoga text med radbrytningar

    Om du vill sammanfoga text i Excel så att varje värde börjar på en ny rad använder du CHAR(10) som avgränsare (där 10 är ett tecken för radavbrott).

    Om du till exempel vill kombinera text från cellerna A2 och B2 och separera värdena med en radbrytning är det här formeln du ska använda:

    =TEXTJOIN(CHAR(10), TRUE, A2:B2)

    Tips: För att resultatet ska visas på flera rader som i skärmbilden ovan, se till att funktionen Wrap text är aktiverad.

    TEXTJOIN IF för att sammanfoga text med villkor

    Eftersom Excel TEXTJOIN kan hantera matriser av strängar kan den också användas för att villkorligt slå samman innehållet i två eller flera celler. Använd IF-funktionen för att utvärdera ett antal celler och återge en matris av värden som uppfyller villkoret till text1 argument för TEXTJOIN.

    Anta att du vill hämta en lista med följande från tabellen i skärmbilden nedan: Anta att du vill hämta en lista med Lag 1 För att åstadkomma detta, infogar du följande IF-anvisning i text1 argument:

    IF($B$2:$B$9=1, $A$2:$A$9, "")

    I klartext säger formeln ovan: Om kolumn B är lika med 1, återge ett värde från kolumn A i samma rad, annars återge en tom sträng.

    Den fullständiga formeln för Lag 1 tar denna form:

    =TEXTJOIN(", ", TRUE, IF($B$2:$B$9=1, $A$2:$A$9, ""))

    På samma sätt kan du få en kommaseparerad lista över medlemmarna i Team 2:

    =TEXTJOIN(", ", TRUE, IF($B$2:$B$9=2, $A$2:$A$9, ""))

    Observera: På grund av funktionen Dynamiska matriser i Excel 365 och 2021 fungerar detta som en vanlig formel, vilket visas i skärmdumpen ovan. I Excel 2019 måste du ange det som en traditionell matrisformel genom att trycka på genvägen Ctrl + Shift + Enter.

    Sök upp och återge flera matchningar i en kommaseparerad lista

    Som du säkert vet kan Excel-funktionen VLOOKUP bara ge den första matchningen som hittas. Men vad händer om du behöver få fram alla matchningar för ett visst ID, SKU eller något annat?

    Om du vill visa resultaten i separata celler använder du en av de formler som beskrivs i Så här gör du VLOOKUP med flera värden i Excel.

    Om du vill söka upp och återge alla matchande värden i en enda cell som en kommaseparerad lista använder du formeln TEXTJOIN IF.

    För att se hur det fungerar i praktiken kan vi hämta en lista över produkter som köpts av en viss säljare från exempeltabellen nedan. Detta kan enkelt göras med följande formel:

    =TEXTJOIN(", ", TRUE, IF($A$2:$A$12=D2, $B$2:$B$12, ""))

    Där A2:A12 är säljarnamn, B2:B12 är produkter och D2 är den intressanta säljaren.

    Formeln ovan går till E2 och tar fram alla matchningar för målförsäljaren i D2 (Adam). Tack vare den smarta användningen av relativa (för målförsäljaren) och absoluta (för säljarens namn och produkter) cellreferenser kopieras formeln korrekt till cellerna nedan och fungerar bra även för de andra två säljarna:

    Observera: Precis som i det föregående exemplet fungerar detta som en vanlig formel i Excel 365 och 2021 och som en CSE-formel (Ctrl + Shift + Enter ) i Excel 2019.

    Formelns logik är exakt densamma som i det föregående exemplet:

    IF-angivelsen jämför varje namn i A2:A12 med målnamnet i D2 (Adam i vårt fall):

    IF($A$2:$A$12=D2, $B$2:$B$12, "")

    Om det logiska testet är sant (dvs. namnet i D2 matchar namnet i kolumn A) returnerar formeln en produkt från kolumn B, annars returneras en tom sträng ("""). Resultatet av IF är följande matris:

    {"";"";"Bananas";"Apples";"";"";"";"Oranges";"";"Lemons";""}

    Matrisen går till TEXTJOIN-funktionen som text1 Eftersom TEXTJOIN är konfigurerat för att separera värdena med ett kommatecken och ett mellanslag (", ") får vi denna sträng som slutresultat:

    Bananer, äpplen, apelsiner, citroner

    Excel TEXTJOIN fungerar inte

    När TEXTJOIN-formeln resulterar i ett fel är det troligen något av följande:

    • Felet #NAME? uppstår när TEXTJOIN används i en äldre version av Excel där den här funktionen inte stöds (före 2019) eller när funktionens namn är felstavat.
    • Felet #VALUE! uppstår om den resulterande strängen överstiger 32 767 tecken.
    • Felet #VALUE! kan också uppstå om Excel inte känner igen avgränsaren som text, t.ex. om du anger ett tecken som inte går att skriva ut, t.ex. CHAR(0).

    Så här använder du TEXTJOIN-funktionen i Excel. Tack för att du läste och hoppas att vi ses på vår blogg nästa vecka!

    Tillgängliga nedladdningar

    Exempel på Excel TEXTJOIN-formler

    Michael Brown är en hängiven teknikentusiast med en passion för att förenkla komplexa processer med hjälp av mjukvaruverktyg. Med mer än ett decenniums erfarenhet inom teknikbranschen har han finslipat sina kunskaper i Microsoft Excel och Outlook, samt Google Sheets och Docs. Michaels blogg är tillägnad att dela med sig av sin kunskap och expertis med andra, och tillhandahåller lätta att följa tips och handledningar för att förbättra produktiviteten och effektiviteten. Oavsett om du är en erfaren proffs eller nybörjare, erbjuder Michaels blogg värdefulla insikter och praktiska råd för att få ut det mesta av dessa viktiga programvaruverktyg.