Składnia i przykłady funkcji DŁ, LEWY, PRAWY, FRAGMENT.TEKSTU i ZŁĄCZ.TEKSTY – wycinanie fragmentów tekstu, numer PESEL w arkuszu, typowe błędy i ćwiczenie.
Funkcje tekstowe pracują na ciągach znaków: mierzą ich długość, wycinają fragment z początku, z końca albo ze środka i sklejają kilka tekstów w jeden. W zadaniach maturalnych służą najczęściej do rozebrania na części danych „sklejonych" w jeden ciąg – numeru PESEL, kodu produktu, daty zapisanej jako tekst – żeby dalej liczyć już na wyciętych kawałkach.
Cztery zasady, które obowiązują we wszystkich funkcjach tekstowych:
DŁ ją policzy, a FRAGMENT.TEKSTU może ją wyciąć."Kraków", " ", "-". Bez cudzysłowu Excel szuka nazwy zakresu i zwraca #NAZWA?.PRAWY("2026";2) zwraca tekst "26", nie liczbę 26.W polskiej wersji Excela argumenty oddzielamy średnikiem. Argumenty zapisane w nawiasach kwadratowych są opcjonalne.
=DŁ(tekst)
=LEWY(tekst; [liczba_znaków])
=PRAWY(tekst; [liczba_znaków])
=FRAGMENT.TEKSTU(tekst; nr_poz_pocz; liczba_znaków)
=ZŁĄCZ.TEKSTY(tekst1; [tekst2]; …)
=tekst1 & tekst2
| A | B | |
|---|---|---|
| 1 | Matura 2026 | |
| 2 | 07231212345 | |
| 3 |
| Formuła | Wynik | Co się dzieje |
|---|---|---|
| =DŁ(A1) | 11 | 6 liter, spacja i 4 cyfry |
| =LEWY(A1;6) | Matura | pierwsze 6 znaków |
| =LEWY(A1) | M | bez drugiego argumentu: 1 znak |
| =PRAWY(A1;4) | 2026 | ostatnie 4 znaki |
| =FRAGMENT.TEKSTU(A1;3;4) | tura | 4 znaki, licząc od trzeciego |
| =FRAGMENT.TEKSTU(A1;8;50) | 2026 | za dużo znaków: Excel zwraca do końca tekstu, bez błędu |
| =FRAGMENT.TEKSTU(A1;20;3) | (pusty tekst) | początek poza tekstem: pusty wynik, nie błąd |
| =FRAGMENT.TEKSTU(A1;0;3) | #ARG! | pozycja początkowa musi wynosić co najmniej 1 |
| =ZŁĄCZ.TEKSTY("Rok: ";PRAWY(A1;4)) | Rok: 2026 | funkcje można zagnieżdżać |
| =A1&"!" | Matura 2026! | operator & zamiast ZŁĄCZ.TEKSTY |
| =LEWY(A2;2) | 07 | dwie pierwsze cyfry numeru PESEL: rok urodzenia |
| =FRAGMENT.TEKSTU(A2;3;2) | 23 | cyfry 3–4: miesiąc (23, czyli marzec 2007 – dla roczników 2000+ do miesiąca dodane jest 20) |
| =FRAGMENT.TEKSTU(A2;5;2) | 12 | cyfry 5–6: dzień urodzenia |
| =FRAGMENT.TEKSTU(A2;10;1) | 4 | dziesiąta cyfra: parzysta, więc kobieta |
| =PRAWY(A2) | 5 | ostatni znak: cyfra kontrolna |
| Polska nazwa | Angielska nazwa | Co robi |
|---|---|---|
| DŁ | LEN | długość tekstu |
| LEWY | LEFT | znaki od początku |
| PRAWY | RIGHT | znaki od końca |
| FRAGMENT.TEKSTU | MID | fragment ze środka |
| ZŁĄCZ.TEKSTY | CONCATENATE | łączenie tekstów |
| ZŁĄCZ.TEKST | CONCAT | nowsza wersja ZŁĄCZ.TEKSTY, przyjmuje też zakresy (Excel 2019 i nowsze) |
| POŁĄCZ.TEKSTY | TEXTJOIN | łączenie z separatorem, np. całej kolumny przecinkami (Excel 2019 i nowsze) |
Zero na początku znika. Numer PESEL 07231212345 wpisany do komórki jako liczba zamieni się w 7231212345 – Excel nie przechowuje zer wiodących w liczbach. Wtedy LEWY(A2;2) zwróci 72 zamiast 07, a wszystkie dalsze pozycje przesuną się o jeden. Kolumnę z numerami PESEL trzeba trzymać jako tekst: przy imporcie pliku tekstowego ustaw dla tej kolumny format „Tekstowy", a przy ręcznym wpisywaniu zacznij od apostrofu ('07231212345) albo wcześniej ustaw format komórek na Tekstowy.
Tekst to nie liczba. =PRAWY(A2;1) zwraca tekst "5". Porównanie =PRAWY(A2;1)=5 daje FAŁSZ, bo tekst i liczba są dla Excela dwiema różnymi rzeczami. Wynik trzeba najpierw zamienić na liczbę: =PRAWY(A2;1)*1 albo =WARTOŚĆ(PRAWY(A2;1)). Dopiero taką wartość można porównywać z liczbą albo podstawiać do MOD. Pełny wzór na płeć z numeru PESEL: =JEŻELI(MOD(FRAGMENT.TEKSTU(A2;10;1)*1;2)=0;"K";"M").
Brak cudzysłowów. =ZŁĄCZ.TEKSTY(A1;Kraków) zwraca #NAZWA?, bo Excel szuka nazwy Kraków, a nie tekstu. Tekst wpisany wprost zawsze w cudzysłowie.
Sklejone bez spacji. =A1&B1 da KowalskaAnna. Spację trzeba dokleić jako osobny tekst: =A1&" "&B1.
Pozycja liczona od zera. =FRAGMENT.TEKSTU(A2;0;2) zwraca #ARG!, a pomyłka o jeden w drugą stronę (start od 4 zamiast od 3) daje poprawnie wyglądający, ale zły wynik. Wypisz numer na kartce i ponumeruj znaki od 1, zanim wpiszesz wzór.
Trzy funkcje o podobnej nazwie. ZŁĄCZ.TEKSTY (starsza, działa w każdej wersji), ZŁĄCZ.TEKST (od Excela 2019, przyjmuje też zakresy) i POŁĄCZ.TEKSTY (od Excela 2019, z separatorem). W starszym Excelu dwie ostatnie zwrócą #NAZWA?. Na maturze wystarczy ZŁĄCZ.TEKSTY albo operator &.
Angielska wersja arkusza. Nazwy funkcji zależą od języka programu – w angielskim Excelu to LEN, LEFT, RIGHT, MID i CONCATENATE (tabela wyżej), a argumenty oddziela zwykle przecinek zamiast średnika.
Arkusz wygląda tak (B1 to numer PESEL zapisany jako tekst). Wpisz wynik każdej formuły.
| A | B | C | |
|---|---|---|---|
| 1 | Kraków 2026 | 02290512345 | |
| 2 |
| Formuła | Wynik |
|---|---|
| =DŁ(A1) | |
| =LEWY(A1;6) | |
| =PRAWY(A1;2) | |
| =FRAGMENT.TEKSTU(A1;8;4) | |
| =FRAGMENT.TEKSTU(A1;2;3) | |
| =FRAGMENT.TEKSTU(B1;10;1) | |
| =PRAWY(B1) |
Z numeru PESEL w komórce B1 odczytaj: =FRAGMENT.TEKSTU(B1;3;2) zwraca , więc osoba urodziła się w miesiącu numer roku . Dzień urodzenia z =FRAGMENT.TEKSTU(B1;5;2) to . Dziesiąta cyfra jest parzysta, więc to .
Tak – każda spacja to znak. Tekst złożony z ośmiu spacji ma długość 8, a pusta komórka 0. Jeśli dane z pliku mają spację na końcu, DŁ ją doliczy – to częsty powód, dla którego „11-cyfrowy" numer PESEL ma w arkuszu długość 12.
Nic złego: LEWY, PRAWY i FRAGMENT.TEKSTU zwracają po prostu tyle znaków, ile jest, bez dopełniania spacjami. Błąd #ARG! pojawia się tylko przy ujemnej liczbie znaków albo przy pozycji początkowej mniejszej niż 1.
Obie, ale to dwie różne funkcje. ZŁĄCZ.TEKSTY to starsza wersja, dostępna w każdym Excelu. ZŁĄCZ.TEKST pojawiła się w Excelu 2019 i przyjmuje też całe zakresy, np. A1:A5. W praktyce najkrócej jest użyć operatora &.
Pozycję spacji zwraca funkcja ZNAJDŹ: =ZNAJDŹ(" ";A1) dla „Anna Kowalska" daje 5. Nazwisko zaczyna się o jeden znak dalej, więc =FRAGMENT.TEKSTU(A1;ZNAJDŹ(" ";A1)+1;DŁ(A1)) zwraca „Kowalska" – liczba znaków jest celowo za duża, bo funkcja i tak zatrzyma się na końcu tekstu. Imię to analogicznie =LEWY(A1;ZNAJDŹ(" ";A1)-1).
Na liczbach tak – Excel po cichu zamienia liczbę na tekst, więc =LEWY(2026;2) zwraca „20". Pułapką są daty: w komórce data jest liczbą kolejnego dnia (np. 1 stycznia 2026 to 46023), więc LEWY(data;4) zwróci cyfry tej liczby, a nie rok. Do dat służą funkcje daty: ROK, MIESIĄC, DZIEŃ.
Nie. Dla Excela ="a"="A" to PRAWDA, a LICZ.JEŻELI z kryterium „k" policzy też „K". Jeśli wielkość liter ma znaczenie, porównaj funkcją PORÓWNAJ (angielskie EXACT), która zwraca PRAWDA tylko przy identycznym zapisie.
Najczęściej to spacja albo znak niewidoczny na końcu wartości, przeniesiony z pliku tekstowego. Zbędne spacje z początku i końca usuwa funkcja USUŃ.ZBĘDNE.ODSTĘPY (angielskie TRIM): =DŁ(USUŃ.ZBĘDNE.ODSTĘPY(A2)) powinno już dać 11. Warto to sprawdzić od razu po imporcie danych, zanim zacznie się wycinać pozycje.
Do tego hasła nie mamy jeszcze przypisanych pojedynczych zadań. Cały spis zadań maturalnych z tego działu jest tutaj:
Zagadnienia z tego samego obszaru matury – warto je powtórzyć razem: