Funkcje Tekstowe i Daty
Wyciąganie fragmentów tekstu, sklejanie i obliczenia na datach. Zadania z przetwarzania danych tekstowych wracają w arkuszu maturalnym regularnie.
Kolumna z numerem PESEL, kodem produktu albo adresem e-mail i polecenie, żeby wyciągnąć z niej konkretny fragment — to zadanie wraca w arkuszu regularnie. Potrzebujesz do niego trzech funkcji wycinających i ZNAJDŹ, a cała trudność siedzi w liczeniu pozycji, bo znaki numerowane są od jedynki, nie od zera. Drugi stały motyw to daty, które arkusz trzyma jako liczby, więc odejmujesz je jak zwykłe wartości. To błąd, który pojawia się zawsze, więc na formatowanie komórek uczulamy już na pierwszych zajęciach. Najlepiej trafia analogia do programowania: kto pisał w C++, od razu rozumie, po co komu int, string czy bool.
1. Wycinanie fragmentów tekstu
Typowe zadanie: z kolumny z numerem PESEL, kodem produktu albo adresem e-mail wyciągnij określony fragment. Wystarczą trzy funkcje.
LEWY(tekst; n)— pierwsze znaków.PRAWY(tekst; n)— ostatnie znaków.FRAGMENT.TEKSTU(tekst; start; ile)— wycinek od wskazanej pozycji.
Z numeru PESEL rok urodzenia wyciągniesz przez LEWY(A2; 2), a miesiąc przez
FRAGMENT.TEKSTU(A2; 3; 2).
Funkcje tekstowe zwracają tekst, nie liczbę. Jeśli chcesz na wyniku liczyć,
opakuj go w WARTOŚĆ(). Bez tego porównania i sumowania mogą dawać dziwne rezultaty.
2. Szukanie i sklejanie
ZNAJDŹ(czego; gdzie)— pozycja znaku, rozróżnia wielkość liter.DŁ(tekst)— długość tekstu.ZŁĄCZ.TEKSTY()lub operator&— sklejanie.
Połączenie tych funkcji rozwiązuje klasyk z adresem e-mail: żeby wyciągnąć nazwę użytkownika sprzed małpy, znajdujesz jej pozycję i bierzesz tyle znaków od lewej, pomniejszone o jeden:
3. PESEL — kompletny rozbiór
To najczęstszy konkretny przykład w arkuszach CKE, bo w jednym ciągu siedzi data urodzenia, płeć i cyfra kontrolna. Warto znać cały rozbiór, a nie tylko wycinanie dwóch pierwszych znaków.
PESEL: 0 3 2 5 1 4 0 1 2 3 4
pozycje: 1 2 3 4 5 6 7 8 9 10 11
rok mc dzien numer kontrolna
^ cyfra plci (poz. 10)
=LEWY(A2; 2) rok (dwie cyfry)
=FRAGMENT.TEKSTU(A2; 3; 2) miesiac ZAKODOWANY
=FRAGMENT.TEKSTU(A2; 5; 2) dzien
=FRAGMENT.TEKSTU(A2; 10; 1) cyfra plci
=PRAWY(A2; 1) cyfra kontrolnaMiesiąc koduje stulecie. Dla osób urodzonych w latach 1900–1999 miesiąc zapisany jest zwyczajnie (01–12). Dla urodzonych po 2000 roku do numeru miesiąca dodaje się 20, więc styczeń to 21, a grudzień 32. W przykładzie wyżej miesiąc 25 oznacza maj 2003, a nie dwudziesty piąty miesiąc.
Płeć rozstrzyga dziesiąta cyfra: parzysta oznacza kobietę, nieparzysta mężczyznę.
Plec:
=JEZELI(MOD(WARTOSC(FRAGMENT.TEKSTU(A2;10;1)); 2)=0; "K"; "M")
Rok urodzenia z uwzglednieniem stulecia:
=JEZELI(WARTOSC(FRAGMENT.TEKSTU(A2;3;2))>20;
2000+WARTOSC(LEWY(A2;2));
1900+WARTOSC(LEWY(A2;2)))
Pelna data urodzenia:
=DATA(rok; MOD(WARTOSC(FRAGMENT.TEKSTU(A2;3;2)); 20); WARTOSC(FRAGMENT.TEKSTU(A2;5;2)))Zwróć uwagę na WARTOŚĆ() wokół każdego wycinka. Bez niej porównanie >20 działa na tekście i daje wyniki, które wyglądają losowo — to najczęstsza przyczyna „dziwnych” odpowiedzi w tym zadaniu.
4. Czyszczenie i przekształcanie tekstu
Dane z pliku tekstowego prawie nigdy nie są gotowe do użycia. Te funkcje doprowadzają je do porządku szybciej niż ręczne poprawianie.
=USUN.ZBEDNE.ODSTEPY(A2) usuwa spacje z przodu, z tylu i podwojne w srodku =PODSTAW(A2; "-"; "") usuwa wszystkie myslniki (np. z numeru telefonu) =ZASTAP(A2; 1; 3; "048") podmienia 3 znaki od pozycji 1 =LITERY.WIELKIE(A2) ABC =LITERY.MALE(A2) abc =Z.WIELKIEJ.LITERY(A2) Jan Kowalski =DL(A2) dlugosc - sprawdzenie, czy PESEL ma 11 znakow
ZNAJDŹ rozróżnia wielkość liter i nie przyjmuje symboli wieloznacznych, a SZUKAJ.TEKST ignoruje wielkość liter i rozumie ? oraz *. Gdy polecenie mówi „niezależnie od wielkości liter”, to sygnał do użycia tej drugiej.5. Daty to liczby
Arkusz przechowuje daty jako kolejne liczby, dlatego można je od siebie odejmować. Różnica dwóch dat to po prostu liczba dni.
DZIŚ()— dzisiejsza data, odświeża się sama.ROK(),MIESIĄC(),DZIEŃ()— wyciągają część daty.=B2 - A2— liczba dni między datami.DZIEŃ.TYG()— numer dnia tygodnia, przydatny przy filtrowaniu weekendów.
Po odjęciu dat komórka często sama przyjmuje format daty i pokazuje coś w rodzaju „1900-01-15" zamiast liczby 15. Trzeba wtedy ręcznie ustawić format liczbowy — to nie błąd formuły, tylko formatowania, ale na egzaminie wygląda jak zły wynik.
=DATA(2026; 5; 12) buduje date z trzech liczb
=DATA.WARTOSC("2026-05-12") zamienia tekst na prawdziwa date
=DNI.ROBOCZE(A2; B2) dni robocze miedzy datami (bez weekendow)
=NR.SER.OST.DN.MIES(A2; 0) ostatni dzien tego miesiaca
=TEKST(A2; "RRRR-MM") data jako tekst w zadanym formacieROK(DZIŚ()) - ROK(A2) daje rok za dużo każdemu, kto nie miał jeszcze w tym roku urodzin. Poprawny wynik daje =ZAOKR.DO.CAŁK((DZIŚ() - A2) / 365,25) albo funkcja DATA.RÓŻNICA(A2; DZIŚ(); "Y").DATA.WARTOŚĆ albo ponowny import z poprawnie ustawionym typem kolumny.6. O czym pamiętać
- Numeracja znaków zaczyna się od 1, nie od zera jak w programowaniu.
- Separator argumentów zależy od ustawień — w polskiej wersji zwykle średnik.
- Spacje w danych psują porównania; warto oczyścić je funkcją
USUŃ.ZBĘDNE.ODSTĘPY(). - Wynik funkcji tekstowej wyrównuje się do lewej — to szybki sygnał, że masz tekst, a nie liczbę.
Plan pracy na 210 minut, kolejność rozwiązywania i format plików wynikowych, na którym najłatwiej stracić punkty.
Korepetycje z informatyki
Zdajesz maturę rozszerzoną z informatyki?
Prowadzimy indywidualne przygotowanie do matury z informatyki — algorytmy, Python i C++, bazy danych i arkusz kalkulacyjny. Zajęcia online, na arkuszach CKE. Zobacz program i cennik.
Zobacz korepetycje z informatykiUczysz się w technikum informatycznym? Prowadzimy też przygotowanie do kwalifikacji INF.02, INF.03 i INF.04. Zobacz egzaminy zawodowe →
Nadal czujesz się niepewnie?
To tylko jeden z pewniaków. Na kursie przechodzimy przez nie wszystkie, krok po kroku, aż poczujesz ten spokój.
Pomóżcie mi zdać maturę!