Spis treści
Tutorial pokazuje na praktycznych przykładach jak wykorzystać funkcję TEXTJOIN do scalania tekstu w Excelu.
Do niedawna istniały dwie dominujące metody łączenia zawartości komórek w Excelu: operator konkatenacji i funkcja CONCATENATE. Wraz z wprowadzeniem TEXTJOIN wydaje się, że pojawiła się potężniejsza alternatywa, która pozwala łączyć tekst w bardziej elastyczny sposób, włączając w to dowolny delimiter pomiędzy nimi. Ale tak naprawdę jest w tym dużo więcej!
Funkcja TEXTJOIN w programie Excel
TEXTJOIN w Excelu łączy ciągi tekstowe z wielu komórek lub zakresów i oddziela połączone wartości za pomocą dowolnego delimitera określonego przez użytkownika. Może ignorować lub uwzględniać puste komórki w wyniku.
Funkcja jest dostępna w programie Excel dla Office 365, Excel 2021 i Excel 2019.
Składnia funkcji TEXTJOIN jest następująca:
TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)Gdzie:
- Delimiter (wymagane) - jest separatorem pomiędzy każdą łączoną wartością tekstową. Zazwyczaj jest podawany jako łańcuch tekstowy ujęty w cudzysłów lub odwołanie do komórki zawierającej łańcuch tekstowy. Liczba podana jako separator jest traktowana jako tekst.
- Ignoruj_puste (wymagane) - Określa czy ignorować puste komórki czy nie:
- TRUE - ignorowanie wszelkich pustych komórek.
- FALSE - uwzględnienie pustych komórek w wynikowym ciągu znaków.
- Tekst1 (wymagane) - pierwsza wartość do złączenia. Może być podana jako ciąg tekstowy, odwołanie do komórki zawierającej ciąg lub tablica ciągów, np. zakres komórek.
- Tekst2 , ... (opcjonalnie) - dodatkowe wartości tekstowe do połączenia. Dopuszczalne jest maksymalnie 252 argumentów tekstowych, w tym. tekst1 .
Jako przykład połączmy części adresowe z komórek B2, C2 i D2 razem w jedną komórkę, oddzielając wartości przecinkiem i spacją:
W przypadku funkcji CONCATENATE musiałbyś określić każdą komórkę indywidualnie i umieścić delimiter (", ") po każdym odniesieniu, co może być kłopotliwe podczas łączenia zawartości wielu komórek:
=CONCATENATE(A2, ", ", B2, ", ", C2)
W programie Excel TEXTJOIN ogranicznik określa się tylko raz w pierwszym argumencie, a w trzecim podaje się zakres komórek:
=TEXTJOIN(", ", TRUE, A2:C2)
TEXTJOIN w Excelu - 6 rzeczy, o których warto pamiętać
Aby skutecznie wykorzystać TEXTJOIN w swoich arkuszach, należy zwrócić uwagę na kilka ważnych kwestii:
- TEXTJOIN to nowa funkcja, która jest dostępna tylko w Excelu 2019 - Excel 365. We wcześniejszych wersjach Excela proszę zamiast niej używać funkcji CONCATENATE lub operatora "&".
- W nowych wersjach programu Excel można również użyć funkcji CONCAT do łączenia wartości z oddzielnych komórek i zakresów, ale bez opcji dotyczących ograniczników lub pustych komórek.
- Każdy numer dostarczony do TEXTJOIN dla delimiter lub tekst argumenty są konwertowane na tekst.
- Jeśli delimiter nie jest określone lub jest pustym łańcuchem (""), wartości tekstowe są konkatenowane bez żadnego ogranicznika.
- Funkcja może obsłużyć do 252 argumentów tekstowych.
- Wynikowy ciąg znaków może zawierać maksymalnie 32 767 znaków, co jest limitem komórek w Excelu. Jeśli limit ten zostanie przekroczony, formuła TEXTJOIN zwraca błąd #VALUE!
Jak dołączyć do tekstu w Excelu - przykłady formuł
Aby lepiej zrozumieć wszystkie zalety TEXTJOIN, przyjrzyjmy się, jak używać tej funkcji w rzeczywistych scenariuszach.
Konwersja kolumny na listę rozdzielaną przecinkami
Kiedy szukasz konkatenacji listy pionowej oddzielając wartości przecinkiem, średnikiem lub innym ogranicznikiem, TEXTJOIN jest właściwą funkcją do użycia.
W tym przykładzie będziemy konkatenować zwycięstwa i porażki każdej drużyny z poniższej tabeli. Można to zrobić za pomocą poniższych formuł, które różnią się tylko zakresem łączonych komórek.
Dla zespołu 1:
=TEXTJOIN(",", FALSE, B2:B6)
Dla zespołu 2:
=TEXTJOIN(",", FALSE, C2:C6)
I tak dalej.
We wszystkich wzorach wykorzystywane są następujące argumenty:
- Delimiter - przecinek (",").
- Ignoruj_puste jest ustawiona na FALSE, aby uwzględnić puste komórki, ponieważ musimy pokazać, które gry nie zostały rozegrane.
W rezultacie otrzymasz cztery listy oddzielone przecinkami, które reprezentują zwycięstwa i porażki każdej drużyny w zwartej formie:
Połącz komórki z różnymi ogranicznikami
W sytuacji, gdy trzeba oddzielić połączone wartości różnymi ogranicznikami, można podać kilka ograniczników jako stałą tablicową lub wprowadzić każdy ogranicznik do osobnej komórki i użyć odwołania do zakresu dla delimiter argument.
Załóżmy, że chcesz połączyć komórki zawierające różne części nazwy i uzyskać wynik w tym formacie: Nazwisko , Imię Imię drugie .
Jak widać, Nazwisko i Imię są oddzielone przecinkiem i spacją (", "), natomiast Imię i Środek tylko spacją (" "). Zatem włączamy te dwa delimitery do stałej tablicowej {", ",""} i otrzymujemy następujący wzór:
=TEXTJOIN({", ",""}, TRUE, A2:C2)
Gdzie A2:C2 to części nazwy, które mają być połączone.
Alternatywnie można wpisać delimitery bez cudzysłowów w pustych komórkach (np. przecinek i spacja w F3 i spacja w G3) i użyć zakresu $F$3:$G$3 (proszę pamiętać o bezwzględnych odwołaniach do komórek) dla delimiter argument:
=TEXTJOIN($F$3:$G$3, TRUE, A2:C2)
Korzystając z tego ogólnego podejścia, można scalać zawartość komórek w różnych formach.
Na przykład, jeśli chcesz uzyskać wynik w Imię i nazwisko Środkowy inicjał Nazwisko format, a następnie użyć funkcji LEWO, aby wyodrębnić pierwszy znak (inicjał) z komórki C2. Jeśli chodzi o ograniczniki, umieszczamy spację (" ") między imieniem a inicjałem środkowym; kropkę i spację (". ") między inicjałem a nazwiskiem:
=TEXTJOIN({" ","."}, TRUE, B2, LEFT(C2,1), A2)
Dołączanie tekstu i dat w programie Excel
W szczególnym przypadku, gdy scalasz tekst i daty, dostarczanie dat bezpośrednio do formuły TEXTJOIN nie będzie działać. Jak być może pamiętasz, Excel przechowuje daty jako numery seryjne, więc twoja formuła zwróci liczbę reprezentującą datę, jak pokazano na zrzucie ekranu poniżej:
=TEXTJOIN(" ", TRUE, A2:B2)
Aby to naprawić, należy przed złączeniem daty przekonwertować ją na ciąg tekstowy. I tu z pomocą przychodzi funkcja TEXT z żądanym kodem formatu ("mm/dd/rr" w naszym przypadku):
=TEXTJOIN(" ", TRUE, A2, TEXT(B2, "mm/dd/rrrr"))
Scalanie tekstu z przerwami w linii
Jeśli chciałbyś scalić tekst w Excelu tak, aby każda wartość zaczynała się w nowym wierszu, użyj CHAR(10) jako separatora (gdzie 10 to znak linefeed).
Na przykład, aby połączyć tekst z komórek A2 i B2 oddzielając wartości przerwą w linii, należy użyć takiej formuły:
=TEXTJOIN(CHAR(10), TRUE, A2:B2)
Wskazówka. Aby wynik był wyświetlany w wielu liniach, jak pokazano na powyższym zrzucie ekranu, upewnij się, że funkcja Zawijanie tekstu jest włączona.
TEXTJOIN IF do łączenia tekstu z warunkami
Ze względu na zdolność Excela TEXTJOIN do obsługi tablic łańcuchów, można go również wykorzystać do warunkowego łączenia zawartości dwóch lub więcej komórek. Aby to zlecić, należy użyć funkcji JEŻELI do oceny zakresu komórek i zwrócić tablicę wartości spełniających warunek do tekst1 argument TEXTJOIN.
Z tabeli pokazanej na poniższym zrzucie ekranu, załóżmy, że chcesz pobrać listę Zespół 1 Aby to osiągnąć, należy zagnieździć następujące polecenie IF w tekst1 argument:
IF($B$2:$B$9=1, $A$2:$A$9, "")
W języku angielskim powyższa formuła mówi: If column B equals 1, return a value from column A in the same row; otherwise return an empty string.
Kompletny wzór na Zespół 1 przyjmuje taki kształt:
=TEXTJOIN(", ", TRUE, IF($B$2:$B$9=1, $A$2:$A$9, ""))
W podobny sposób można uzyskać rozdzieloną przecinkami listę członków grupy Zespół 2:
=TEXTJOIN(", ", TRUE, IF($B$2:$B$9=2, $A$2:$A$9, ""))
Uwaga. Ze względu na funkcję Dynamic Arrays dostępną w Excelu 365 i 2021, działa to jako zwykła formuła, pokazana na powyższym zrzucie ekranu. W Excelu 2019 musisz wprowadzić ją jako tradycyjną formułę tablicową, naciskając skrót Ctrl + Shift + Enter.
Wyszukaj i zwróć wiele dopasowań w liście rozdzielonej przecinkami
Jak zapewne wiesz, funkcja VLOOKUP w Excelu może zwrócić tylko pierwszy znaleziony mecz. Ale co, jeśli musisz uzyskać wszystkie mecze dla określonego identyfikatora, SKU lub czegoś innego?
Aby wyprowadzić wyniki w osobnych komórkach, użyj jednej z formuł opisanych w rozdziale Jak VLOOKUPować wiele wartości w Excelu.
Aby wyszukać i zwrócić wszystkie pasujące wartości w pojedynczej komórce w postaci listy rozdzielonej przecinkami, należy użyć formuły TEXTJOIN JEŻELI.
Aby zobaczyć jak to działa w praktyce, pobierzmy z przykładowej tabeli poniżej listę produktów zakupionych przez danego sprzedawcę. Można to łatwo zrobić za pomocą poniższego wzoru:
=TEXTJOIN(", ", TRUE, IF($A$2:$A$12=D2, $B$2:$B$12, ""))
Gdzie A2:A12 to nazwy sprzedawców, B2:B12 to produkty, a D2 to interesujący nas sprzedawca.
Powyższa formuła przechodzi do E2 i przynosi wszystkie dopasowania dla docelowego sprzedawcy w D2 (Adam). Dzięki sprytnemu użyciu względnych (dla docelowego sprzedawcy) i bezwzględnych (dla nazw sprzedawców i produktów) odniesień do komórek, formuła poprawnie kopiuje się do poniższych komórek i działa ładnie również dla pozostałych dwóch sprzedawców:
Uwaga. Podobnie jak w poprzednim przykładzie, działa to jako zwykła formuła w programie Excel 365 i 2021, a także jako formuła CSE (Ctrl + Shift + Enter ) w programie Excel 2019.
Logika formuły jest dokładnie taka sama jak w poprzednim przykładzie:
Instrukcja IF porównuje każdą nazwę w A2:A12 z nazwą docelową w D2 (w naszym przypadku Adam):
IF($A$2:$A$12=D2, $B$2:$B$12, "")
Jeśli test logiczny oceniany jest na TRUE (tzn. nazwa w D2 pasuje do nazwy w kolumnie A), formuła zwraca produkt z kolumny B; w przeciwnym razie zwracany jest pusty łańcuch (""). Wynikiem działania IF jest następująca tablica:
{"";"";"Bananas";"Apples";"";"";"";"Oranges";"";"Lemons";""}
Tablica trafia do funkcji TEXTJOIN jako. tekst1 argument. a ponieważ TEXTJOIN jest skonfigurowany do oddzielania wartości przecinkiem i spacją (", "), otrzymujemy ten ciąg jako wynik końcowy:
Banany, jabłka, pomarańcze, cytryny
Excel TEXTJOIN nie działa
Kiedy twoja formuła TEXTJOIN skutkuje błędem, najprawdopodobniej jest to jeden z następujących elementów:
- Błąd #NAME? występuje, gdy TEXTJOIN jest używany w starszej wersji Excela, w której ta funkcja nie jest obsługiwana (sprzed 2019 roku) lub gdy nazwa funkcji jest błędnie zapisana.
- Błąd #VALUE! pojawia się, jeśli łańcuch wynikowy przekracza 32 767 znaków.
- Błąd #VALUE! może również wystąpić, jeśli Excel nie rozpoznaje ogranicznika jako tekstu, na przykład jeśli podasz jakiś niedrukowalny znak, taki jak CHAR(0).
Tak wygląda wykorzystanie funkcji TEXTJOIN w Excelu. Dziękuję za przeczytanie i mam nadzieję, że zobaczymy się na naszym blogu za tydzień!
Dostępne pliki do pobrania
Przykłady formuły Excel TEXTJOIN