"Excel" funkcija TEXTJOIN, skirta sujungti tekstą iš kelių langelių

  • Pasidalinti
Michael Brown

Mokomojoje programoje pateikiama praktinių pavyzdžių, kaip naudoti TEXTJOIN funkciją tekstui sujungti "Excel" programoje.

Dar visai neseniai "Excel" programoje buvo du paplitę ląstelių turinio sujungimo būdai: glaudinimo operatorius ir funkcija CONCATENATE. Atrodo, kad atsiradus TEXTJOIN atsirado galingesnė alternatyva, leidžianti lanksčiau sujungti tekstą, įskaitant bet kokius skiriamuosius ženklus. Tačiau iš tiesų yra kur kas daugiau!

    "Excel" TEXTJOIN funkcija

    TEXTJOIN programoje "Excel" sujungia teksto eilutes iš kelių langelių ar intervalų ir sujungtas reikšmes atskiria bet kokiu jūsų nurodytu skiriamuoju ženklu. Į rezultatą galima nekreipti dėmesio arba įtraukti tuščius langelius.

    Ši funkcija yra "Excel" programoje "Office 365", "Excel 2021" ir "Excel 2019".

    Funkcijos TEXTJOIN sintaksė yra tokia:

    TEXTJOIN(riboženklis, ignore_empty, text1, [text2], ...)

    Kur:

    • Skirtukas (privaloma) - tai skirtukas tarp kiekvienos derinamos teksto reikšmės. Paprastai jis pateikiamas kaip teksto eilutė, įrašyta dvigubomis kabutėmis, arba nuoroda į ląstelę, kurioje yra teksto eilutė. Skaičius, pateiktas kaip skirtukas, laikomas tekstu.
    • Ignore_empty (būtina) - Nustato, ar ignoruoti tuščius langelius, ar ne:
      • TRUE - ignoruokite tuščius langelius.
      • FALSE - į gautą eilutę įtraukti tuščius langelius.
    • Tekstas1 (privaloma) - pirmoji jungiama reikšmė. Gali būti pateikta kaip teksto eilutė, nuoroda į ląstelę, kurioje yra eilutė, arba eilučių masyvas, pvz., ląstelių intervalas.
    • Tekstas2 , ... (neprivaloma) - papildomos teksto reikšmės, kurias reikia sujungti. Leidžiama pateikti ne daugiau kaip 252 teksto argumentus, įskaitant tekstas1 .

    Pavyzdžiui, sujungkime B2, C2 ir D2 langelių adresų dalis į vieną langelį ir atskirkime reikšmes kableliu ir tarpeliu:

    Naudojant funkciją CONCATENATE, reikėtų nurodyti kiekvieną langelį atskirai ir po kiekvienos nuorodos įrašyti skiriamąjį ženklą (", "), o tai gali trukdyti sujungiant daugelio langelių turinį:

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

    Naudodami "Excel TEXTJOIN", pirmajame argumente tik vieną kartą nurodote skirtuką, o trečiajame argumente pateikiate ląstelių intervalą:

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

    TEXTJOIN "Excel" programoje - 6 dalykai, kuriuos reikia prisiminti

    Norėdami efektyviai naudoti TEXTJOIN darbalapiuose, atkreipkite dėmesį į keletą svarbių dalykų:

    1. TEXTJOIN - tai nauja funkcija, kuri veikia tik "Excel 2019" - "Excel 365". Ankstesnėse "Excel" versijose vietoj jos naudokite funkciją CONCATENATE arba operatorių "&".
    2. Naujose "Excel" versijose CONCAT funkcija taip pat galite sujungti reikšmes iš atskirų ląstelių ir intervalų, tačiau nėra skiriamųjų ženklų ar tuščių ląstelių parinkčių.
    3. Bet koks TEXTJOIN pateiktas skaičius, skirtas skirtukas arba tekstas argumentai konvertuojami į tekstą.
    4. Jei skirtukas nenurodyta arba yra tuščia eilutė (""), teksto reikšmės sujungiamos be jokių skiriamųjų ženklų.
    5. Funkcija gali apdoroti iki 252 tekstinių argumentų.
    6. Gautoje eilutėje gali būti ne daugiau kaip 32 767 simboliai, t. y. "Excel" ląstelės riba. Jei ši riba viršijama, TEXTJOIN formulė grąžina #VALUE! klaidą.

    Kaip sujungti tekstą "Excel" programoje - formulių pavyzdžiai

    Kad geriau suprastumėte visus TEXTJOIN privalumus, apžvelkime, kaip šią funkciją naudoti realiuose scenarijuose.

    Stulpelio konvertavimas į kableliais atskirtą sąrašą

    Jei norite sujungti vertikalų sąrašą, kuriame reikšmės atskiriamos kableliu, kabliataškiu ar bet kokiu kitu skiriamuoju ženklu, reikia naudoti funkciją TEXTJOIN.

    Šiame pavyzdyje sujungsime kiekvienos komandos pergales ir pralaimėjimus iš toliau pateiktos lentelės. Tai galima padaryti naudojant šias formules, kurios skiriasi tik sujungiamų langelių diapazonu.

    1 komandai:

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

    2 komandai:

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

    Ir taip toliau.

    Visose formulėse naudojami šie argumentai:

    • Skirtukas - kablelis (",").
    • Ignore_empty nustatoma į FALSE, kad būtų įtraukti tušti langeliai, nes reikia parodyti, kurie žaidimai nebuvo žaidžiami.

    Gausite keturis kableliais atskirtus sąrašus, kuriuose kompaktiškai pateikiamos kiekvienos komandos pergalės ir pralaimėjimai:

    Sujungti ląsteles su skirtingais skirtukais

    Jei reikia sujungtas reikšmes atskirti skirtingais riboženkliais, galite pateikti kelis riboženklius kaip masyvo konstantą arba įvesti kiekvieną riboženklį atskiroje ląstelėje ir naudoti diapazono nuorodą skirtukas argumentas.

    Tarkime, norite sujungti ląsteles, kuriose yra skirtingų pavadinimų dalių, ir gauti tokio formato rezultatą: Pavardė , Vardas Vidurinysis vardas .

    Kaip matote, pavardė ir vardas atskiriami kableliu ir tarpu (", "), o vardas ir vidurinysis vardas - tik tarpu (" "). Taigi šiuos du skirtukus įtraukiame į masyvo konstantą {", "," "} ir gauname tokią formulę:

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

    Kai A2:C2 yra pavadinimų dalys, kurias reikia sujungti.

    Arba galite įvesti skirtukus be kabučių kai kuriuose tuščiuose langeliuose (tarkime, kablelį ir tarpą F3 langelyje ir tarpą G3 langelyje) ir naudoti intervalą $F$3:$G$3 (nepamirškite absoliučių langelių nuorodų). skirtukas argumentas:

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

    Taikydami šį bendrąjį metodą galite sujungti ląstelių turinį įvairiomis formomis.

    Pavyzdžiui, jei norite, kad rezultatas būtų Vardas ir pavardė Vidurinysis inicialas Pavardė formatą, tada naudokite funkciją LEFT, kad iš ląstelės C2 ištrauktumėte pirmąjį simbolį (inicialą). Kalbant apie skirtukus, tarp vardo First name (Pirmas vardas) ir Middle initial (Vidurinis inicialas) dedame tarpą (" "), o tarp vardo Initial (Pradinis vardas) ir Last name (Pavardė) dedame tašką ir tarpą (". "):

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

    Teksto ir datų sujungimas programoje "Excel

    Konkrečiu atveju, kai jungiate tekstą ir datas, datų pateikimas tiesiogiai į TEXTJOIN formulę neveiks. Kaip pamenate, "Excel" saugo datas kaip eilės numerius, todėl jūsų formulė grąžins datą žymintį skaičių, kaip parodyta toliau pateiktame paveikslėlyje:

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

    Kad tai išspręstumėte, prieš jungdami datą turite ją konvertuoti į teksto eilutę. Čia praverčia funkcija TEXT su norimo formato kodu ("mm/dd/yyyy" mūsų atveju):

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

    Sujungti tekstą su eilučių pertraukomis

    Jei norite sujungti tekstą "Excel" programoje taip, kad kiekviena reikšmė prasidėtų naujoje eilutėje, kaip skirtuką naudokite CHAR(10) (kur 10 yra eilutės pabaigos simbolis).

    Pavyzdžiui, jei norite sujungti A2 ir B2 langelių tekstą, atskirdami reikšmes eilutės pertrauka, naudokite šią formulę:

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

    Patarimas. Kad rezultatas būtų rodomas keliomis eilutėmis, kaip parodyta pirmiau pateiktoje ekrano kopijoje, įsitikinkite, kad įjungta teksto apvyniojimo funkcija.

    TEXTJOIN IF - sujungti tekstą su sąlygomis

    Dėl "Excel TEXTJOIN" gebėjimo tvarkyti eilučių masyvus, ją taip pat galima naudoti dviejų ar daugiau langelių turiniui sąlyginai sujungti. Norėdami tai padaryti, naudokite funkciją IF, kad įvertintumėte langelių intervalą ir grąžintumėte sąlygą atitinkančių reikšmių masyvą į tekstas1 TEXTJOIN argumentas.

    Tarkime, kad iš toliau pateiktame paveikslėlyje parodytos lentelės norite gauti sąrašą 1 komanda Kad tai pasiektumėte, įterpkite šį IF teiginį į tekstas1 argumentas:

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

    Lietuviškai formulė skamba taip: jei stulpelis B lygus 1, grąžinkite tos pačios eilutės stulpelio A reikšmę; priešingu atveju grąžinkite tuščią eilutę.

    Išsami formulė 1 komanda įgauna tokią formą:

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

    Panašiai galite gauti kableliais atskirtą narių sąrašą Komanda 2:

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

    Pastaba. Dėl "Excel 365" ir 2021 m. turimos dinaminių masyvų funkcijos ši formulė veikia kaip įprasta formulė, parodyta pirmiau pateiktoje ekrano nuotraukoje. 2019 m. "Excel" programoje ją turite įvesti kaip tradicinę masyvų formulę, paspausdami spartųjį klavišą Ctrl + Shift + Enter.

    Ieškoti ir grąžinti kelis atitikmenis kableliais atskirtame sąraše

    Kaip tikriausiai žinote, "Excel" VLOOKUP funkcija gali grąžinti tik pirmą rastą atitikmenį. Bet ką daryti, jei reikia gauti visus tam tikro ID, SKU ar ko nors kito atitikmenis?

    Norėdami rezultatus išvesti į atskiras langelius, naudokite vieną iš formulių, aprašytų skyrelyje Kaip "Excel" programoje VLOOKUP nustatyti kelias reikšmes.

    Jei norite ieškoti ir grąžinti visas vienoje ląstelėje esančias sutampančias reikšmes kaip kableliais atskirtą sąrašą, naudokite formulę TEXTJOIN IF.

    Kad pamatytumėte, kaip tai veikia praktiškai, iš toliau pateiktos pavyzdinės lentelės gaukime tam tikro pardavėjo įsigytų produktų sąrašą. Tai galima lengvai padaryti naudojant šią formulę:

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

    Kai A2:A12 yra pardavėjų pavadinimai, B2:B12 - produktai, o D2 - dominantis pardavėjas.

    Pirmiau pateikta formulė eina į E2 ir suveda visus tikslinio pardavėjo atitikmenis į D2 (Adam). Dėl sumaniai naudojamų santykinių (tikslinio pardavėjo) ir absoliučių (pardavėjų pavadinimų ir produktų) ląstelių nuorodų formulė teisingai nukopijuojama į toliau esančias ląsteles ir puikiai veikia ir kitiems dviem pardavėjams:

    Pastaba. Kaip ir ankstesniame pavyzdyje, ši formulė veikia kaip įprasta formulė "Excel 365" ir 2021 m., o "Excel 2019" - kaip CSE formulė (Ctrl + Shift + Enter ).

    Formulės logika yra lygiai tokia pati kaip ir ankstesniame pavyzdyje:

    Teiginyje IF kiekvienas A2:A12 esantis vardas lyginamas su D2 esančiu tiksliniu vardu (mūsų atveju - Adam):

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

    Jei loginio testo reikšmė yra TRUE (t. y. pavadinimas D2 sutampa su pavadinimu A stulpelyje), formulė grąžina produktą iš B stulpelio; priešingu atveju grąžinama tuščia eilutė (""). IF rezultatas yra toks masyvas:

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

    Masyvas patenka į TEXTJOIN funkciją kaip tekstas1 argumentas. Kadangi TEXTJOIN yra sukonfigūruotas taip, kad reikšmės būtų atskiriamos kableliu ir tarpeliu (", "), kaip galutinį rezultatą gauname šią eilutę:

    Bananai, obuoliai, apelsinai, citrinos

    "Excel" TEXTJOIN neveikia

    Kai TEXTJOIN formulėje atsiranda klaida, greičiausiai ji yra viena iš šių:

    • #NAME? klaida atsiranda, kai TEXTJOIN naudojamas senesnėje "Excel" versijoje, kurioje ši funkcija nepalaikoma (iki 2019 m.), arba kai funkcijos pavadinimas parašytas neteisingai.
    • #VALUE! klaida įvyksta, jei gauta eilutė viršija 32 767 simbolių.
    • Klaida #VALUE! taip pat gali atsirasti, jei "Excel" neatpažįsta skyrybos ženklo kaip teksto, pavyzdžiui, jei pateikiate kokį nors nespausdinamą simbolį, pvz., CHAR(0).

    Štai kaip "Excel" programoje naudoti funkciją TEXTJOIN. Dėkoju, kad perskaitėte, ir tikiuosi, kad kitą savaitę susitiksime mūsų tinklaraštyje!

    Galimi atsisiuntimai

    "Excel" TEXTJOIN formulės pavyzdžiai

    Michaelas Brownas yra atsidavęs technologijų entuziastas, mėgstantis supaprastinti sudėtingus procesus naudojant programinės įrangos įrankius. Turėdamas daugiau nei dešimtmetį patirtį technologijų pramonėje, jis patobulino savo įgūdžius „Microsoft Excel“ ir „Outlook“, taip pat „Google“ skaičiuoklėse ir dokumentuose. Michaelio tinklaraštis skirtas dalytis savo žiniomis ir patirtimi su kitais, jame pateikiami lengvai įgyvendinami patarimai ir vadovėliai, kaip pagerinti produktyvumą ir efektyvumą. Nesvarbu, ar esate patyręs profesionalas, ar pradedantysis, Michaelo tinklaraštyje rasite vertingų įžvalgų ir praktinių patarimų, kaip išnaudoti visas šių pagrindinių programinės įrangos įrankių galimybes.