Masz adresy, kody pocztowe i nazwy miast wrzucone w jedną kolumnę? Funkcje tekstowe w Excelu pozwalają wyciągnąć z tekstu dokładnie to, czego potrzebujesz – bez ręcznego przepisywania. W tej lekcji poznasz 8 funkcji: od prostych LEWY/PRAWY, przez FRAGMENT.TEKSTU, aż po potężne PODZIEL.TEKST i UNIKATOWE.
To jest Lekcja 10 kursu Excel od podstaw.
Zadanie: wyodrębnij dane z adresu
Mamy adresy w formacie: 01-000, Warszawa, Miodowa 5. Chcemy wyciągnąć osobno: kod pocztowy, miasto, nazwę ulicy i numer.
Zaczniemy od najprostszych formuł i przejdziemy do coraz potężniejszych narzędzi.
1. LEWY i PRAWY – wyciąganie od krawędzi
LEWY wyciąga określoną liczbę znaków od lewej strony tekstu. PRAWY – od prawej.
=LEWY(D13;6) → "01-000" (kod pocztowy - 6 znaków od lewej)
=PRAWY(D13;1) → "5" (numer ulicy - 1 znak od prawej)

Proste i skuteczne – pod warunkiem, że dane mają stałą długość od krawędzi.
2. FRAGMENT.TEKSTU – wyciąganie ze środka
Gdy dane nie są na krawędzi tekstu, potrzebujesz FRAGMENT.TEKSTU. Składnia:
=FRAGMENT.TEKSTU(tekst; liczba_początkowa; liczba_znaków)
Przykład – wyciągnięcie kodu pocztowego:
=FRAGMENT.TEKSTU(D13;1;6) → zaczynamy od 1. znaku, wyciągamy 6 znaków

Problem pojawia się, gdy adresy mają różną długość – musisz ręcznie liczyć znaki i kombinować z formułą JEŻELI.
3. DŁ – sprawdzanie długości tekstu
Pomocnicza formuła DŁ (skrót od „długość”) zwraca liczbę znaków w tekście, łącznie ze spacjami:
=DŁ(D13) → 28 (tekst "01-000, Warszawa, Miodowa 5" ma 28 znaków)

4. JEŻELI + FRAGMENT.TEKSTU – obsługa różnej długości
Gdy adresy mają różną liczbę znaków, łączymy JEŻELI z DŁ i FRAGMENT.TEKSTU:
=JEŻELI(DŁ(D13)=28; FRAGMENT.TEKSTU(D13;27;2); FRAGMENT.TEKSTU(D13;25;2))
Logika: jeśli tekst ma 28 znaków, numer ulicy zaczyna się na pozycji 27. Jeśli 26 – na pozycji 25.

Działa, ale wymaga dużo pracy. Na szczęście w Excelu 365 jest lepszy sposób.
5. TEKST.PRZED i TEKST.PO – nowe formuły Excel 365
Te dwie formuły robią w jednej linijce to, co wcześniej wymagało kombinowania z JEŻELI i FRAGMENT.TEKSTU.
=TEKST.PRZED(D13;",") → "01-000" (wszystko przed pierwszym przecinkiem)
=TEKST.PO(D13;" ";3) → "5" (wszystko po trzeciej spacji)

Możesz je też łączyć – np. wyciągnięcie nazwy ulicy (tekst po drugiej spacji, ale przed ostatnią spacją):
=TEKST.PRZED(TEKST.PO(D13;" ";2);" ")
6. PODZIEL.TEKST – jedna formuła, cały adres rozbity
Najpotężniejsza z formuł tekstowych. Rozbija tekst na części na podstawie separatora:
=PODZIEL.TEKST(D13;", ") → rozbija adres na: kod pocztowy | miasto | ulica z numerem

Bez kombinowania z JEŻELI, DŁ czy FRAGMENT.TEKSTU. Jedna formuła, wynik rozlewa się na sąsiednie kolumny.
7. UNIKATOWE – lista bez duplikatów
Bonus na koniec – formuła UNIKATOWE wyciąga tylko niepowtarzające się wartości z zakresu:
=UNIKATOWE(D13:D27) → lista miast bez powtórzeń

Porównanie metod
| Formuła | Co robi | Wersja Excela | Trudność |
|---|---|---|---|
| LEWY / PRAWY | Wyciąga znaki od krawędzi | Wszystkie | Łatwa |
| FRAGMENT.TEKSTU | Wyciąga ze środka (trzeba liczyć znaki) | Wszystkie | Średnia |
| DŁ | Liczy znaki w tekście | Wszystkie | Łatwa |
| TEKST.PRZED / TEKST.PO | Wyciąga przed/po separatorze | Excel 365 | Łatwa |
| PODZIEL.TEKST | Rozbija tekst na części | Excel 365 | Bardzo łatwa |
| UNIKATOWE | Usuwa duplikaty z listy | Excel 365 | Bardzo łatwa |
Podsumowanie
Jeśli masz Excela 365 – zacznij od PODZIEL.TEKST, TEKST.PRZED i TEKST.PO. Robią w sekundę to, co klasyczne formuły w minuty.
Jeśli masz starszą wersję – LEWY, PRAWY i FRAGMENT.TEKSTU w połączeniu z JEŻELI i DŁ dadzą radę, choć wymagają więcej pracy.
Sprawdź swój poziom Excela
Pobierz darmowy test z 15 zadaniami i sprawdź, ile naprawdę umiesz w Excelu.
