TEXTJOIN-funktionen i Excel til at flette tekst fra flere celler

  • Del Dette
Michael Brown

Vejledningen viser, hvordan du bruger TEXTJOIN-funktionen til at flette tekst i Excel med praktiske eksempler.

Indtil for nylig var der to fremherskende metoder til at sammenføje celleindhold i Excel: sammenkædningsoperatoren og CONCATENATE-funktionen. Med introduktionen af TEXTJOIN ser det ud til, at der er dukket et mere kraftfuldt alternativ op, som gør det muligt at sammenføje tekst på en mere fleksibel måde, herunder enhver afgrænser imellem. Men i virkeligheden er der meget mere i det!

    Excel TEXTJOIN-funktionen

    TEXTJOIN i Excel samler tekststrenge fra flere celler eller intervaller og adskiller de kombinerede værdier med en hvilken som helst afgrænser, som du angiver. Den kan enten ignorere eller inkludere tomme celler i resultatet.

    Funktionen er tilgængelig i Excel til Office 365, Excel 2021 og Excel 2019.

    Syntaksen for TEXTJOIN-funktionen er som følger:

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

    Hvor:

    • Afgrænser (påkrævet) - er en separator mellem hver tekstværdi, som du kombinerer. Normalt angives den som en tekststreng omsluttet af dobbelte anførselstegn eller som en henvisning til en celle, der indeholder en tekststreng. Et tal, der angives som afgrænsningsstempel, behandles som tekst.
    • Ignore_empty (påkrævet) - Bestemmer, om der skal ses bort fra tomme celler eller ej:
      • TRUE - ignorerer alle tomme celler.
      • FALSE - inkluderer tomme celler i den resulterende streng.
    • Tekst1 (påkrævet) - første værdi, der skal sammenføjes. Kan angives som en tekststreng, en henvisning til en celle, der indeholder en streng, eller et array af strenge, f.eks. et område af celler.
    • Tekst2 , ... (valgfrit) - yderligere tekstværdier, der skal sammenføjes. Der kan maksimalt anvendes 252 tekstargumenter, herunder tekst1 .

    Lad os f.eks. kombinere adressedele fra cellerne B2, C2 og D2 sammen i én celle og adskille værdierne med et komma og et mellemrum:

    Med CONCATENATE-funktionen skal du angive hver celle individuelt og sætte en afgrænser (", ") efter hver reference, hvilket kan være besværligt, når indholdet af mange celler skal slås sammen:

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

    Med Excel TEXTJOIN angiver du kun afgrænseren én gang i det første argument og angiver en række celler som tredje argument:

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

    TEXTJOIN i Excel - 6 ting, du skal huske

    For at bruge TEXTJOIN effektivt i dine regneark er der et par vigtige punkter, som du skal være opmærksom på:

    1. TEXTJOIN er en ny funktion, som kun er tilgængelig i Excel 2019 - Excel 365. I tidligere Excel-versioner skal du i stedet bruge CONCATENATE-funktionen eller operatoren "&".
    2. I nye versioner af Excel kan du også bruge CONCAT-funktionen til at sammenkæde værdier fra separate celler og intervaller, men uden mulighed for afgrænsere eller tomme celler.
    3. Ethvert nummer, der angives til TEXTJOIN for den afgrænser eller tekst argumenter konverteres til tekst.
    4. Hvis afgrænser ikke er angivet eller er en tom streng (""), sammenkædes tekstværdierne uden noget afgrænsningselement.
    5. Funktionen kan håndtere op til 252 tekstargumenter.
    6. Den resulterende streng kan højst indeholde 32.767 tegn, hvilket er cellegrænsen i Excel. Hvis denne grænse overskrides, returnerer en TEXTJOIN-formel fejlen #VALUE!.

    Sådan samler du tekst i Excel - eksempler på formler

    For bedre at forstå alle fordelene ved TEXTJOIN skal vi se på, hvordan du kan bruge funktionen i virkelige scenarier.

    Konverter kolonne til kommasepareret liste

    Når du ønsker at sammenkæde en lodret liste, hvor værdierne er adskilt med et komma, semikolon eller en anden afgrænser, er TEXTJOIN den rigtige funktion at bruge.

    I dette eksempel skal vi sammenkæde sejre og nederlag for hvert hold fra nedenstående tabel. Dette kan gøres med følgende formler, som kun adskiller sig fra hinanden i det område af celler, der sammenkædes.

    For hold 1:

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

    For hold 2:

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

    Og så videre.

    I alle formlerne anvendes følgende argumenter:

    • Afgrænser - et komma (",").
    • Ignore_empty er sat til FALSE for at medtage tomme celler, fordi vi skal vise, hvilke spil der ikke blev spillet.

    Som resultat får du fire kommaseparerede lister, der repræsenterer sejre og nederlag for hvert hold i en kompakt form:

    Saml celler med forskellige afgrænsere

    I en situation, hvor du har brug for at adskille de kombinerede værdier med forskellige afgrænsere, kan du enten angive flere afgrænsere som en arraykonstant eller indtaste hver afgrænser i en separat celle og bruge en områdehenvisning for afgrænser argument.

    Antag, at du vil sammenføje celler, der indeholder forskellige navnedele, og få resultatet i dette format: Efternavn , Fornavn Mellemnavn .

    Som du kan se, er Efternavn og Fornavn adskilt af et komma og et mellemrum (", "), mens Fornavn og Mellemnavn kun er adskilt af et mellemrum (" "). Så vi inkluderer disse to afgrænsere i en arraykonstant {", ", "," "} og får følgende formel:

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

    Hvor A2:C2 er de navnedele, der skal kombineres.

    Alternativt kan du skrive afgrænserne uden anførselstegn i nogle tomme celler (f.eks. et komma og et mellemrum i F3 og et mellemrum i G3) og bruge intervallet $F$3:$G$3 (husk de absolutte cellehenvisninger) til afgrænser argument:

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

    Ved at bruge denne generelle fremgangsmåde kan du flette celleindhold i forskellige former.

    Hvis du f.eks. vil have resultatet i Fornavn Mellemste bogstav Efternavn formatet, og brug derefter funktionen LEFT til at udtrække det første tegn (initialen) fra celle C2. Hvad angår afgrænsningerne, sætter vi et mellemrum (" ") mellem fornavnet og den midterste initial; et punktum og et mellemrum (". ") mellem initialen og efternavnet:

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

    Sammenføje tekst og datoer i Excel

    I et specifikt tilfælde, hvor du fletter tekst og datoer, fungerer det ikke at angive datoer direkte i en TEXTJOIN-formel. Som du måske husker, gemmer Excel datoer som serienumre, så din formel returnerer et tal, der repræsenterer datoen, som vist i skærmbilledet nedenfor:

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

    For at løse dette problem skal du konvertere datoen til en tekststreng, før du sammenføjer den. Og her er TEXT-funktionen med den ønskede formatkode ("mm/dd/åååå" i vores tilfælde) meget nyttig:

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

    Flette tekst med linjeskift

    Hvis du vil flette tekst i Excel, så hver værdi starter på en ny linje, skal du bruge CHAR(10) som afgrænser (hvor 10 er et linjefodstegn).

    Hvis du f.eks. vil kombinere tekst fra cellerne A2 og B2 og adskille værdierne med et linjeskift, skal du bruge denne formel:

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

    Tip. Hvis resultatet skal vises på flere linjer som vist i skærmbilledet ovenfor, skal du sørge for, at funktionen Wrap text (ombrydning af tekst) er aktiveret.

    TEXTJOIN IF for at flette tekst med betingelser

    På grund af Excel TEXTJOINs evne til at håndtere arrays af strenge kan den også bruges til betinget at sammenføje indholdet af to eller flere celler. For at få det gjort skal du bruge IF-funktionen til at evaluere et område af celler og returnere et array af værdier, der opfylder betingelsen, til tekst1 argument for TEXTJOIN.

    Antag, at du fra tabellen i skærmbilledet nedenfor ønsker at hente en liste over Hold 1 For at opnå dette skal du indsætte følgende IF-anvisning i tekst1 argument:

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

    Ovenstående formel siger på almindeligt dansk: Hvis kolonne B er lig med 1, returneres en værdi fra kolonne A i samme række; ellers returneres en tom streng.

    Den fuldstændige formel for Hold 1 tager denne form:

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

    På samme måde kan du få en kommasepareret liste over medlemmerne af Team 2:

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

    Bemærk: På grund af funktionen Dynamiske arrays, der er tilgængelig i Excel 365 og 2021, fungerer dette som en almindelig formel, som vist i skærmbilledet ovenfor. I Excel 2019 skal du indtaste det som en traditionel arrayformel ved at trykke på genvejen Ctrl + Shift + Enter.

    Opslag og returnering af flere match på en kommasepareret liste

    Som du sikkert ved, kan Excel VLOOKUP-funktionen kun returnere det første fundne match. Men hvad hvis du har brug for at få alle matches for et bestemt ID, SKU eller noget andet?

    Hvis du vil have resultaterne i separate celler, skal du bruge en af de formler, der er beskrevet i Sådan VLOOKUPes flere værdier i Excel.

    Hvis du vil søge efter og returnere alle matchende værdier i en enkelt celle som en kommasepareret liste, skal du bruge TEXTJOIN IF-formlen.

    For at se, hvordan det fungerer i praksis, kan vi hente en liste over produkter, der er købt af en given sælger, fra nedenstående eksempeltabel. Dette kan nemt gøres med følgende formel:

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

    Hvor A2:A12 er sælgers navne, B2:B12 er produkter, og D2 er den pågældende sælger.

    Ovenstående formel går til E2 og bringer alle match for målsælgeren i D2 (Adam). På grund af den smarte brug af relative (for målsælgeren) og absolutte (for sælgers navne og produkter) cellehenvisninger kopierer formlen korrekt til nedenstående celler og fungerer også fint for de to andre sælgere:

    Bemærk: Som i det foregående eksempel fungerer dette som en almindelig formel i Excel 365 og 2021 og som en CSE-formel (Ctrl + Shift + Enter ) i Excel 2019.

    Logikken i formlen er nøjagtig den samme som i det foregående eksempel:

    IF-anvisningen sammenligner hvert navn i A2:A12 med målnavnet i D2 (Adam i vores tilfælde):

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

    Hvis den logiske test giver TRUE (dvs. navnet i D2 svarer til navnet i kolonne A), returnerer formlen et produkt fra kolonne B; ellers returneres en tom streng ("""). Resultatet af IF er følgende array:

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

    Matrialet går til TEXTJOIN-funktionen som tekst1 Og da TEXTJOIN er konfigureret til at adskille værdierne med et komma og et mellemrum (", "), får vi denne streng som slutresultat:

    Bananer, æbler, appelsiner, citroner, appelsiner

    Excel TEXTJOIN fungerer ikke

    Når din TEXTJOIN-formel resulterer i en fejl, er det højst sandsynligt en af følgende fejl:

    • Fejlen #NAME? opstår, når TEXTJOIN bruges i en ældre version af Excel, hvor denne funktion ikke understøttes (før 2019), eller når funktionens navn er stavet forkert.
    • Fejlen #VALUE! opstår, hvis den resulterende streng overstiger 32.767 tegn.
    • Fejlen #VALUE! kan også opstå, hvis Excel ikke genkender afgrænseren som tekst, f.eks. hvis du angiver et ikke-printbart tegn som CHAR(0).

    Sådan bruger du TEXTJOIN-funktionen i Excel. Jeg takker for din læsning og håber at se dig på vores blog i næste uge!

    Tilgængelige downloads

    Eksempler på Excel TEXTJOIN-formler

    Michael Brown er en dedikeret teknologientusiast med en passion for at forenkle komplekse processer ved hjælp af softwareværktøjer. Med mere end ti års erfaring i teknologibranchen har han finpudset sine færdigheder i Microsoft Excel og Outlook samt Google Sheets og Docs. Michaels blog er dedikeret til at dele sin viden og ekspertise med andre og giver nemme at følge tips og vejledninger til at forbedre produktiviteten og effektiviteten. Uanset om du er en erfaren professionel eller nybegynder, tilbyder Michaels blog værdifuld indsigt og praktiske råd til at få mest muligt ud af disse vigtige softwareværktøjer.