Baza wiedzy / Excel
POŁĄCZ.TEKSTY w Excelu: separatory, puste pola i zakresy
Łączę pola w czytelną etykietę i listę osób. Pokazuję, dlaczego całe zakresy nie tworzą automatycznie par oraz jak traktować puste komórki.

Masz imię, nazwisko i opcjonalny dział w trzech kolumnach. Chcesz zrobić jedną czytelną etykietę, bez podwójnych separatorów przy pustym dziale. Ja wybieram wtedy POŁĄCZ.TEKSTY, czyli angielskie TEXTJOIN. Ważne jednak, żeby najpierw ustalić, które komórki mają tworzyć jeden element wyniku.
Poprawna nazwa i wersja Excela
Oficjalna polska nazwa to POŁĄCZ.TEKSTY. Zapis TEKST.ZŁĄCZ nie jest poprawną nazwą tej funkcji. W polskich formułach wpisuj POŁĄCZ.TEKSTY.
Microsoft wskazuje Office 2019 lub subskrypcję Microsoft 365, a lista zastosowań obejmuje także Excel 2021 i 2024. Nie opisuję tej funkcji jako dostępnej w każdym pudełkowym Excelu 2016. Jeżeli formuła ma trafić do innej osoby, wersję programu warto uzgodnić przed przygotowaniem pliku.
=POŁĄCZ.TEKSTY(ogranicznik;ignoruj_puste;tekst1;[tekst2];...)
Pierwszy argument to separator, drugi decyzja o pomijaniu pustych komórek. Dalej podajesz teksty lub zakresy. W przykładach używam polskich nazw i średników; angielska wersja stosuje TEXTJOIN, TRUE i przecinki. Separator argumentów zależy od ustawień regionalnych, natomiast separator wewnątrz cudzysłowu jest częścią tworzonego tekstu.
Jedna etykieta z jednego wiersza
Przyjmijmy poniższe dane syntetyczne. Nagłówki są w wierszu 1. Komórka C2 jest rzeczywiście pusta; napis „pusta” w tabeli służy tylko objaśnieniu i nie powinien zostać wpisany do arkusza.
| Wiersz | A: imię | B: nazwisko | C: dział |
|---|---|---|---|
| 2 | Jan | Kowalski | pusta |
| 3 | Anna | Nowak | Marketing |
=POŁĄCZ.TEKSTY(" ";PRAWDA;A2:C2)
Wynik to Jan Kowalski. Po skopiowaniu formuły do następnego wiersza powstanie Anna Nowak Marketing. Separator jest spacją, a pusta komórka nie wymusza dopisania kolejnej spacji na końcu pierwszej etykiety.
Jeżeli potrzebujesz wyłącznie imienia i nazwiska, wybierz A2:B2. Zakres jest częścią wymagania. Dopisanie kolumny z działem, identyfikatorem lub uwagami zmienia zawartość etykiety, nawet jeśli formuła nadal wygląda zwięźle. Nie wybieram całego wiersza tylko dlatego, że tak jest szybciej go zaznaczyć.
Przecinek jest innym separatorem niż spacja
=POŁĄCZ.TEKSTY(", ";PRAWDA;A2:C2)
Dla pierwszego wiersza otrzymasz Jan, Kowalski. Dla drugiego Anna, Nowak, Marketing. Przecinek pojawia się także między imieniem i nazwiskiem, ponieważ separator dotyczy każdej pary kolejnych dołączanych wartości. Funkcja nie interpretuje imienia i nazwiska jako jednej osoby: widzi osobne wartości z komórek.
To dobry powód, żeby projektować etykietę etapami. Jeśli imię i nazwisko mają stanowić jeden fragment, najpierw połącz je spacją. Dopiero potem dodaj dział innym separatorem. Dzięki temu zasady kompozycji pozostają czytelne zamiast zależeć od niejawnego znaczenia kolumn.
Puste komórki i pozornie puste dane
Argument PRAWDA pomija puste komórki. Przy FAŁSZ separator może zostać również przy pustym polu, więc pierwszy wiersz skończy się dodatkowym przecinkiem i spacją. Wybór zależy od celu: czytelna etykieta zwykle potrzebuje pominięcia braków, natomiast stały układ pól może wymagać zachowania pozycji.
Komórka zawierająca spację nie jest pustą komórką. W przykładzie nie utożsamiam też automatycznie faktycznie pustego pola z każdym wynikiem formuły wyglądającym na pusty. Jeśli źródło zawiera różne reprezentacje braków, najpierw ustalam regułę przygotowania danych. Sam wygląd komórki nie wystarcza do rozpoznania jej zawartości.
Nie traktuję usunięcia separatora jako naprawy brakującej informacji. Etykieta bez działu może być czytelna, ale nadal nie wiadomo, do którego działu należy dana osoba. Jeśli ta informacja jest wymagana, zachowuję osobny sygnał jakości danych zamiast ukrywać problem w ładniejszym tekście.
Dwa zakresy nie tworzą automatycznie par
=POŁĄCZ.TEKSTY(", ";PRAWDA;A2:A3;B2:B3)
Ten zapis da Jan, Anna, Kowalski, Nowak. Najpierw przekazujesz zakres imion, potem zakres nazwisk. Nie dostaniesz listy Jan Kowalski, Anna Nowak. Funkcja nie odgaduje, że sąsiednie kolumny mają być połączone wierszami przed złożeniem listy.
Ja w takim prostym pliku robię to w dwóch etapach. W D2 wpisuję =POŁĄCZ.TEKSTY(" ";PRAWDA;A2:B2) i kopiuję do D3. Otrzymuję dwie gotowe etykiety. Następnie łączę je w listę:
=POŁĄCZ.TEKSTY("; ";PRAWDA;D2:D3)
Wynik to Jan Kowalski; Anna Nowak. Kolumna pomocnicza pokazuje, co stanowi jeden element, i ułatwia zauważenie brakującego nazwiska. Na dwóch rekordach nie potrzebuję komplikować formuły tablicami. Wystarczy rozdzielić przygotowanie elementu od składania listy.

Łączenie tekstu nie zachowuje każdego formatu komórki
Jeśli do etykiety dodajesz datę albo procent, wynik może nie zachować sposobu wyświetlania komórki. Microsoft opisuje użycie funkcji TEKST do jawnego formatowania wartości podczas łączenia. Format widoczny w źródle oraz zawartość gotowego ciągu to oddzielne sprawy.
Nie podaję jednego kodu formatowania jako uniwersalnego dla wszystkich ustawień językowych. W pliku dla innego odbiorcy uzgadniam zapis dat i liczb, a dopiero potem buduję etykietę. Sam tekst 01/02 bywa niejednoznaczny nawet wtedy, gdy powstał z poprawnej wartości daty.
Pozostawiam też oryginalne pola obok wyniku, jeśli mają służyć do dalszej analizy. Złożenie wszystkiego w jedną komórkę jest wygodne prezentacyjnie, ale utrudnia późniejsze filtrowanie po osobnych cechach. Etykieta jest dodatkiem do uporządkowanej tabeli, a nie koniecznym zamiennikiem jej kolumn.
Ograniczenia i prostsze alternatywy
Dokumentacja podaje maksymalnie 252 argumenty tekstowe, przy czym argument może być zakresem. Wynik przekraczający 32767 znaków powoduje błąd VALUE, czyli #ARG! w polskim Excelu i #VALUE! w angielskim. POŁĄCZ.TEKSTY nie jest więc narzędziem do umieszczania dowolnie dużej tabeli w jednej komórce.
Jeżeli funkcja nie jest rozpoznawana, sprawdź nazwę, wersję programu i separator argumentów. Pomylenie TEKST.ZŁĄCZ z POŁĄCZ.TEKSTY jest innym problemem niż przekroczenie długości wyniku. Nie naprawisz błędnej nazwy przez skrócenie zakresu.
Dla dwóch obowiązkowych pól wystarczy czasem operator &, na przykład =A2&" "&B2. Starsza funkcja CONCATENATE ma nazwę ZŁĄCZ.TEKSTY, a nie SCAL.TEKSTY. Nie przypisuję tym alternatywom automatycznego zarządzania separatorami i pomijaniem pustych pól takiego jak w pokazanej formule.
Ćwiczenie: najpierw element, potem lista
Przygotuj wiersz z imieniem, nazwiskiem i pustym działem. Złóż najpierw pełną nazwę, a następnie połącz ją z działem przez przecinek i spację. Wyjaśnij, dlaczego w pustym przypadku nie chcesz przecinka na końcu. Potem uzupełnij dział i przewidź wynik przed odczytaniem formuły.
Następnie zrób listę dwóch pełnych nazw tak jak w przykładzie z kolumną D. Porównaj ją z połączeniem A2:A3 i B2:B3 bez etapu pomocniczego. Jeżeli potrafisz wyjaśnić różnicę kolejności, umiesz świadomie określić granice jednego elementu. Do wcześniejszego przygotowania fragmentów tekstu przydadzą się FRAGMENT.TEKSTU i SZUKAJ.TEKST.
Najważniejsze w pigułce
Jak brzmi polska nazwa TEXTJOIN?
POŁĄCZ.TEKSTY. Zapis TEKST.ZŁĄCZ nie jest poprawną nazwą funkcji.
Czy dwa zakresy tworzą listę imion z nazwiskami?
Nie automatycznie. W przykładzie A2:A3, B2:B3 najpierw łączone są imiona, potem nazwiska. Najpierw przygotuj pełne nazwy wierszami, a potem połącz ich listę.
Czy TEXTJOIN działa w pudełkowym Excelu 2016?
Microsoft wskazuje Office 2019 lub subskrypcję Microsoft 365, a także nowsze wymienione edycje. Nie należy zakładać dostępności w każdym Excelu 2016.
Przy pracy nad artykułem użyto w zautomatyzowany sposób sztucznej inteligencji. Jeśli też chcesz tak umieć, sprawdź ten projekt.
