Wróć do informacji o e-podręczniku Wydrukuj Pobierz materiał do PDF Pobierz materiał do EPUB Pobierz materiał do MOBI Zaloguj się, aby dodać do ulubionych Zaloguj się, aby skopiować i edytować materiał Zaloguj się, aby udostępnić materiał Zaloguj się, aby dodać całą stronę do teczki

Numer PESEL podzielony jest na segmenty liczb, w których zawarte są informacje na temat jego posiadacza. Pierwsze dwie cyfry odpowiadają za rok, trzecia i czwarta za miesiąc, a piąta i szósta za dzień miesiąca urodzenia posiadacza numeru. Dziesiąta cyfra informuje o płci posiadacza. Aby wykorzystać tę wiedzę, musimy sprawnie operować funkcjami tekstowymi. Tylko wtedy będziemy mogli efektywnie wydobywać z numeru PESEL potrzebne nam dane.

Funkcja FRAGMENT.TEKSTU

FRAGMENT.TEKSTU(tekst;pozycja_początkowa;liczba_znaków)

  • tekst to pole zawierające ciąg znaków, z którego mają być wyodrębnione znaki,

  • pozycja_początkowa oznacza numer znaku, od którego chcemy zacząć pobieranie ciągu (numeracja rozpoczyna się od 1, to oznacza, że pierwszy znak ma numer 1),

  • liczba_znaków pokazuje, ile znaków chcemy pobrać.

Na podstawie numeru PESEL chcemy określić dzień i miesiąc urodzenia danej osoby. Dane te zakodowane są na trzecim, czwartym, piątym i szóstym miejscu. W tym celu wprowadzamy następującą formułę:

=FRAGMENT.TEKSTU(90080517455;3;4)

90080517455 to nasz przykładowy numer PESEL. Jako pozycja_początkowa wybierzemy 3, a jako liczba_znaków wprowadzimy 4.

Formuła zwróci nam wynik 0805. Dwie pierwsze cyfry oznaczają miesiąc, kolejne dwie dzień miesiąca, możemy więc stwierdzić, że osoba obchodzi urodziny piątego sierpnia.

Czasem jednak chcemy wyodrębnić tylko ciąg liczb z lewej strony. Służy do tego osobna funkcja.

Funkcja LEWY

LEWY(tekst;[liczba_znaków])

  • tekst to komórka lub ciąg tekstowy, z którego mają być wyodrębnione znaki,

  • liczba_znaków to parametr nieobowiązkowy – pokazuje, ile znaków chcemy pobrać. Jeżeli nie uwzględnimy tego argumentu, funkcja zwróci jeden znak od lewej strony podanego tekstu.

Załóżmy, że chcemy dowiedzieć się, w którym roku urodził się posiadacz numeru PESEL. W tym przypadku wyodrębnimy pierwsze dwie cyfry, odpowiadające za rocznik.

=LEWY(90080517455;2)

Wynik powyższej formuły to 90. Oznacza to, że osoba urodziła się w 1990 roku. Jednak w przypadku, gdyby zwrócona cyfra równałaby się 22, to nie mamy pewności, czy osoba urodziła się w 1922 czy 2022 roku. Aby dało się rozróżnić, czy osoba została urodzona po 2000 roku, zasady tworzenia numeru PESEL zostały zmienione. Dla osób urodzonych w latach 2000‑2099 dodana jest liczba 20 do cyfr oznaczających miesiąc urodzenia. Musimy więc sprawdzić cyfry znajdujące się na trzecim i czwartym miejscu numeru. Jeśli są to cyfry z przedziału <01, 12>, to osoba została urodzona przed rokiem 2000, jeśli jednak znajdują się tam cyfry z przedziału <21,32>, to osoba została urodzona po 2000 roku.

Możemy również potrzebować szybkiego dostępu do cyfry kontrolnej, ponieważ chcemy z jej pomocą sprawdzić poprawność numeru PESEL. Znajduje się ona na samym końcu, więc znajdzie tu zastosowanie następująca funkcja.

Funkcja PRAWY

PRAWY(tekst;[liczba_znaków])

  • tekst to komórka lub ciąg tekstowy, z którego mają być wyodrębnione znaki,

  • liczba_znaków to parametr nieobowiązkowy – pokazuje, ile znaków chcemy pobrać. Jeżeli nie podamy tego argumentu, funkcja zwróci jeden znak od prawej strony podanego tekstu.

Do pobrania cyfry kontrolnej z numeru PESEL użyjemy następującej formuły:

=PRAWY(90080517455;1)

Z racji tego, że parametr liczba_znaków jest nieobowiązkowy, to nie musimy go podawać. Przyjmie on wtedy domyślną wartość – jeden. Wtedy formuła wyglądać będzie następująco:

=PRAWY(90080517455)

Wynik formuły to 5. Na podstawie zwróconej wartości możemy wykonywać dalsze obliczenia sprawdzające poprawność numeru PESEL.

Funkcja ZNAJDŹ

ZNAJDŹ(szukany_tekst;w_tekście;[liczba_początkowa])

  • szukany_tekst to ciąg znaków, którego szukamy (może być to np. odwołanie do komórki w arkuszu),

  • w_tekście to tekst, w którym szukamy ciągu znaków (tutaj również możemy odwołać się do innej komórki w arkuszu),

  • [liczba_początkowa] to pole opcjonalne; wpisujemy tu pozycję w tekście, od której funkcja ma zacząć poszukiwanie.  Jeśli parametr zostanie pominięty, to przyjmie wartość domyślną 1.

Wyobraźmy sobie, że szukamy konkretnego ciągu cyfr w numerze PESEL, bo chcemy znaleźć osoby, które urodziły się w sierpniu 1990 roku. Nasza formuła wyglądałaby następująco:

=ZNAJDŹ(9008;90080517455)

Wynik formuły to 1, ponieważ poszukiwany ciąg znajduje się na samym początku numeru PESEL. Jeżeli będziemy szukać innego ciągu, np. 8051:

=ZNAJDŹ(8051;90080517455)

Wynik przedstawionej formuły to 4, dlatego że ciąg 8051 rozpoczyna się na czwartej pozycji podanego numeru PESEL.

Funkcja ZŁĄCZ.TEKSTY

ZŁĄCZ.TEKSTY(tekst1;[tekst2])

Jeśli mamy numer PESEL rozdzielony na pojedyncze cyfry w formacie tekstowym, to chcąc je połączyć w całość, możemy użyć funkcji ZŁĄCZ.TEKSTY. Zrobimy to w następujący sposób:

=ZŁĄCZ.TEKSTY("9";"0";"0";"8";"0";"5";"1";"7";"4";"5";"5")

Wynikiem przedstawionej formuły będzie tekst składający się z połączonych tekstów (w tym przypadku cyfr numeru PESEL).

Ciekawostka

Złączyć teksty możemy również bez użycia funkcji ZŁĄCZ.TEKSTY, za pomocą operatora & (ampersand).

Linia 1. znak równości cudzysłów 9 cudzysłów ampersant cudzysłów 0 cudzysłów ampersant cudzysłów 0 cudzysłów ampersant cudzysłów 8 cudzysłów ampersant cudzysłów 0 cudzysłów ampersant cudzysłów 5 cudzysłów ampersant cudzysłów 1 cudzysłów ampersant cudzysłów 7 cudzysłów ampersant cudzysłów 4 cudzysłów ampersant cudzysłów 5 cudzysłów ampersant cudzysłów 5 cudzysłów.

W przypadku samych cyfr możemy pominąć znaki ", wtedy nasza formuła będzie wyglądać tak:

Linia 1. znak równości 9 ampersant 0 ampersant 0 ampersant 8 ampersant 0 ampersant 5 ampersant 1 ampersant 7 ampersant 4 ampersant 5 ampersant 5.

Funkcja USUŃ.ZBĘDNE.ODSTĘPY

USUŃ.ZBĘDNE.ODSTĘPY(tekst)

Jest to funkcja, która z podanego tekstu usuwa wszystkie znaki spacji oprócz pojedynczych oddzielających słowa. Załóżmy, że otrzymujemy dane od klienta, który nie jest biegły w obsłudze komputera, a tym bardziej w obsłudze arkusza kalkulacyjnego. Bardzo prawdopodobne jest, że przez pomyłkę wprowadzi on zbyt dużo znaków odstępu, lub pozostawi niepotrzebne spacje początkowe lub końcowespacja początkowa, końcowaspacje początkowe lub końcowe – może to stanowić dla nas problem. W tej sytuacji wystarczy, że użyjemy następującej formuły:

=USUŃ.ZBĘDNE.ODSTĘPY(" tekst ze zbyt dużą ilością spacji ")

Wynikiem działania tej formuły będzie oczyszczony z nadmiarowych spacji napis: tekst ze zbyt dużą ilością spacji.

Funkcja LITERY.WIELKIE

LITERY.WIELKIE(tekst)

Załóżmy, że nauczyciel poprosił nas, żeby wszystkie dane po obróbce były wypisane wielką literą. Nasz kolega z grupy zaniedbał jednak życzenie nauczyciela i przetworzone dane wypisane są małymi literami.

Zamiast ręcznie zamieniać wszystkie małe litery na wielkie, użyjemy funkcji LITERY.WIELKIE. Zrobimy to w następujący sposób:

=LITERY.WIELKIE("danedlanauczyciela")

Powyższa formuła zwróci tekst: DANEDLANAUCZYCIELA. Tym samym błąd kolegi zostanie naprawiony.

LibreOffice Calc

Nie ma zasadniczych różnic pomiędzy Microsoft ExcelLibreOffice Calc przy podążaniu za scenariuszem e‑materiału.

Słownik

spacja początkowa, końcowa
spacja początkowa, końcowa

z ang. leading spaces, trailing spaces; spacje znajdujące się na początku lub na końcu łańcucha znaków