Baza wiedzy / Excel
ZŁĄCZ.TEKSTY w Excelu: składnia, spacje i starsze pliki
Pokażę, skąd bierze się każdy znak etykiety i dlaczego funkcja CONCATENATE nie ma opcji separatora ani pomijania pustych komórek.

W starszym skoroszycie widzisz ZŁĄCZ.TEKSTY i chcesz zrozumieć, skąd bierze się gotowa etykieta. Funkcja dokleja kolejne argumenty w jeden tekst. Nie ma osobnego argumentu separatora ani przełącznika pomijania pustych komórek. Spacje i przecinki dodajesz jako zwykłe fragmenty tekstu.
Ja zaczynam od rozpisania elementów etykiety. Wtedy łatwo zobaczyć, gdzie ma znaleźć się spacja, a gdzie numer albo nazwisko. Dokumentacja Microsoftu potwierdza składnię ZŁĄCZ.TEKSTY(tekst1;[tekst2];...) i wskazuje tę funkcję jako zachowaną dla zgodności z wcześniejszymi wersjami.
Mały przykład z trzema komórkami
Poniższe dane są syntetyczne. W pierwszym wierszu arkusza mogą znajdować się nagłówki; wartości wpisz do wskazanych komórek drugiego wiersza.
| Komórka | Wartość |
|---|---|
| A2 | Jan |
| B2 | Adam |
| C2 | Kowalski |
=ZŁĄCZ.TEKSTY(A2;" ";B2;" ";C2)
Otrzymasz Jan Adam Kowalski. Funkcja łączy pięć argumentów: imię, spację, drugie imię, kolejną spację i nazwisko. Spacja w cudzysłowie jest elementem wyniku. Średnik oddzielający argumenty w formule nie trafia do etykiety.
Jeżeli usuniesz oba argumenty ze spacjami, powstanie JanAdamKowalski. Funkcja nie rozpoznaje imion i nie zgaduje miejsca podziału. Ta przewidywalność jest przydatna, o ile opiszesz wszystkie potrzebne znaki.
Operator ampersand daje prostszy zapis
Ten sam wynik możesz otrzymać tak:
=A2&" "&B2&" "&C2
Microsoft pokazuje operator & jako alternatywę dla ZŁĄCZ.TEKSTY. W krótkiej etykiecie często wybieram właśnie ten zapis, bo widzę kolejno wszystkie fragmenty. Oba warianty wymagają jawnego dodania spacji.
Podobnie zbudujesz etykietę zamówienia. Jeśli A2 zawiera tekst Ala, a B2 liczbę 17, formuła =ZŁĄCZ.TEKSTY("Klient: ";A2;", numer: ";B2) da Klient: Ala, numer: 17. To osobny przykład, z innym znaczeniem komórek niż tabela imion. Wynik jest tekstem do prezentacji.
Puste drugie imię nie usuwa separatora
Wróć do tabeli imion i usuń wartość z B2. W formule nadal pozostają dwie osobne spacje, więc między Janem a nazwiskiem będą dwa znaki spacji. ZŁĄCZ.TEKSTY nie ma argumentu ignoruj_puste, który usunąłby zbędny separator.
Nie dodawaj PRAWDA jako drugiego argumentu w nadziei na włączenie takiej opcji. Każdy argument tej funkcji jest kolejnym elementem do połączenia. To inne znaczenie niż w POŁĄCZ.TEKSTY. Podobieństwo polskich nazw łatwo prowadzi do skopiowania składni niewłaściwej funkcji.
Jeżeli chcesz separator i pomijanie rzeczywiście pustych komórek, użyj w obsługiwanej wersji Excela:
=POŁĄCZ.TEKSTY(" ";PRAWDA;A2:C2)
W tym przykładzie pustego B2 wynik to Jan Kowalski. Dokumentacja POŁĄCZ.TEKSTY opisuje zarówno ogranicznik, jak i opcję pomijania pustych komórek. Komórka zawierająca samą spację nie jest jednak pustą komórką. Najpierw sprawdź dane.

Trzy podobne nazwy, trzy różne role
| Nazwa PL | Nazwa EN | Najważniejsza cecha |
|---|---|---|
| ZŁĄCZ.TEKSTY | CONCATENATE | Starsza funkcja łącząca argumenty |
| ZŁĄCZ.TEKST | CONCAT | Przyjmuje także zakresy |
| POŁĄCZ.TEKSTY | TEXTJOIN | Ma separator i opcję pomijania pustych |
Do nowego rozwiązania dobieram funkcję według potrzeb oraz wersji używanej przez odbiorcę. ZŁĄCZ.TEKST jest następcą ZŁĄCZ.TEKSTY, ale również nie wstawia separatorów automatycznie. Microsoft podaje Office 2019 lub subskrypcję Microsoft 365 jako warunek dostępności nowszych funkcji na Windows i Mac.
Nie zakładam, że każdy program opisany tylko jako „Excel 2016” obsłuży nowszą funkcję. Sprawdź edycję i aktualizacje. Gdy utrzymujesz starszy plik, pozostawienie prostej formuły ZŁĄCZ.TEKSTY może wynikać z wymogu zgodności. Nie ma potrzeby przepisywać jej wyłącznie dla zmiany nazwy.
Format liczb i granice zastosowania
Łączenie wartości z tekstem nie zachowuje automatycznie sposobu wyświetlania liczby. Data albo procent mogą wymagać jawnego formatowania przez TEKST. Microsoft pokazuje tę różnicę w poradniku łączenia tekstu i liczb. Pole przeznaczone do dalszych obliczeń zachowaj osobno.
Dokumentacja ZŁĄCZ.TEKSTY podaje maksymalnie 255 elementów. Do sklejania dużego zakresu wygodniejsze są funkcje zaprojektowane do przyjmowania zakresów. Nie buduję jednak całego eksportu danych w jednej komórce. Osobne kolumny zachowują strukturę, którą później łatwiej filtrować i sprawdzać.
Łączenie nazw nie tworzy też bezpiecznego identyfikatora osoby. Dwie osoby mogą mieć to samo imię i nazwisko. Etykieta pomaga czytać raport, ale klucz rekordu powinien mieć własną definicję. Tego ograniczenia nie naprawia żadna funkcja tekstowa.
Ćwiczenie: zobacz każdy znak
Zbuduj etykietę z trzech podanych komórek, a potem usuń drugie imię. Zapisz wynik z zaznaczeniem każdego odstępu. Porównaj ZŁĄCZ.TEKSTY, operator & oraz POŁĄCZ.TEKSTY z pomijaniem pustych.
Następnie wpisz do B2 pojedynczą spację. Wyjaśnij, dlaczego to inna sytuacja niż pusta komórka. Jeśli umiesz wskazać pochodzenie każdego znaku wyniku, łatwiej poprawisz później adres, opis produktu albo etykietę zamówienia. Powiązane funkcje znajdziesz w dziale Excel.
Najważniejsze w pigułce
Czy ZŁĄCZ.TEKSTY ma argument separatora?
Nie. Każdą spację lub przecinek dodajesz jako osobny tekst albo część innego argumentu. Separator argumentów formuły nie jest znakiem wyniku.
Jak pominąć puste komórki i dodać jedną spację?
W obsługiwanej wersji użyj POŁĄCZ.TEKSTY z separatorem spacji i argumentem PRAWDA. ZŁĄCZ.TEKSTY nie ma takiej opcji.
Czy ZŁĄCZ.TEKSTY i ZŁĄCZ.TEKST to ta sama funkcja?
To CONCATENATE i jej nowszy następca CONCAT. ZŁĄCZ.TEKST przyjmuje także zakresy; automatyczny separator zapewnia dopiero POŁĄCZ.TEKSTY.
Przy pracy nad artykułem użyto w zautomatyzowany sposób sztucznej inteligencji. Jeśli też chcesz tak umieć, sprawdź ten projekt.
