I_P_W08_M03 Wybrane funkcje tekstowe
Numer PESEL składa się z segmentów, z których każdy zawiera określone informacje o jego posiadaczu. Pierwsze dwie cyfry oznaczają rok urodzenia, trzecia i czwarta - miesiąc, a piąta i szósta - dzień miesiąca. Dziesiąta cyfra informuje o płci. Aby móc wykorzystać te dane w arkuszu kalkulacyjnym, potrzebna jest umiejętność sprawnego posługiwania się funkcjami tekstowymi. Dzięki nim można efektywnie wydobywać z numeru PESEL wszystkie potrzebne informacje.
Funkcja FRAGMENT.TEKSTU
FRAGMENT.TEKSTU(tekst;pozycja_początkowa;liczba_znaków)
tekst - komórka zawierająca ciąg znaków, z którego mają zostać wyodrębnione znaki,
pozycja_początkowa -numer znaku, od którego rozpoczyna się pobieranie fragmentu (numeracja zaczyna się od 1, więc pierwszy znak ma numer 1),
liczba_znaków - określa, ile znaków ma zostać pobranych .
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 chcemy wyodrębnić tylko znaki znajdujące się po lewej stronie tekstu. 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, z którego mają zostać pobrane znaki,
liczba_znaków to parametr opcjonalny (nieobowiązkowy) określający, ile znaków ma zostać wyodrębnionych. Jeśli nie podamy tego argumentu, funkcja zwróci jeden znak z lewej strony 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, co oznacza, że osoba urodziła się w 1990 roku. W sytuacji, gdy zwrócona wartość wynosiłaby 22, nie da się jednoznacznie określić, czy chodzi o rok 1922, czy 2022. Aby umożliwić rozróżnienie osób urodzonych po 2000 roku, zmieniono zasady tworzenia numeru PESEL.
Dla osób urodzonych w latach 2000–2099 do liczby oznaczającej miesiąc dodawane jest 20. Dlatego należy sprawdzić cyfry znajdujące się na trzeciej i czwartej pozycji numeru PESEL:
jeśli mieszczą się w przedziale 1–12, osoba urodziła się przed 2000 rokiem,
jeśli mieszczą się w przedziale 21–32, osoba urodziła się po 2000 roku.
Czasem potrzebujemy szybkiego dostępu do cyfry kontrolnej numeru PESEL, aby sprawdzić jego poprawność. Cyfra ta znajduje się na końcu numeru, dlatego w takiej sytuacji przydatna jest funkcja PRAWY.
Funkcja PRAWY
PRAWY(tekst;[liczba_znaków])
tekst to komórka lub ciąg tekstowy, z którego mają zostać pobrane znaki,
liczba_znaków to parametr opcjonalny (nieobowiązkowy) określający, ile znaków ma zostać wyodrębnionych. Jeśli nie podamy tego argumentu, funkcja zwróci jeden znakz prawej strony 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 poszukujemy (może to być również odwołanie do komórki),
w_tekście to tekst, w którym funkcja ma wyszukać wskazany ciąg znaków (tutaj również możemy odwołać się do innej komórki w arkuszu),
[liczba_początkowa] to parametr opcjonalny określający pozycję, od której ma rozpocząć się wyszukiwanie. Jeśli ten argument zostanie pominięty, funkcja przyjmie wartość domyślną 1.
Wyobraźmy sobie, że chcemy odnaleźć w numerze PESEL konkretny ciąg cyfr, aby wskazać osoby urodzone w sierpniu 1990 roku. W takim przypadku można użyć funkcji ZNAJDŹ:
=ZNAJDŹ(9008;90080517455)
Wynik działania formuły to 1, ponieważ poszukiwany ciąg 9008 znajduje się na samym początku numeru PESEL. Jeżeli będziemy szukać innego ciągu, np. 8051, możemy użyć formuły:
=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
Czasem mamy numer PESEL zapisany jako pojedyncze cyfry w formacie tekstowym. Jeśli chcemy połączyć je w jeden ciąg, możemy skorzystać z funkcji ZŁĄCZ.TEKSTY.
ZŁĄCZ.TEKSTY (tekst1; [tekst2]; ...)
Funkcja łączy podane elementy w jeden ciąg tekstowy.
Przykład:
=ZŁĄCZ.TEKSTY("9";"0";"0";"8";"0";"5";"1";"7";"4";"5";"5")
Wynikiem działania formuły będzie tekst złożony z połączonych elementów - w tym przypadku pełny numer PESEL.
Obie formuły zwrócą ten sam wynik — połączony ciąg znaków tworzący numer PESEL.
Teksty można łączyć nie tylko za pomocą funkcji ZŁĄCZ.TEKSTY, lecz także przy użyciu operatora & (ampersand).
W przypadku samych cyfr można pominąć cudzysłowy:
Obie formuły zwrócą ten sam wynik - połączony ciąg znaków tworzący numer PESEL.
Funkcja USUŃ.ZBĘDNE.ODSTĘPY
USUŃ.ZBĘDNE.ODSTĘPY(tekst)
Funkcja usuwa z podanego tekstu wszystkie nadmiarowe spacje, pozostawiając jedynie pojedyncze odstępy między słowami. Jest szczególnie przydatna, gdy otrzymujemy dane od osób mniej doświadczonych w obsłudze komputera lub arkusza kalkulacyjnego - w takich sytuacjach łatwo o przypadkowe wprowadzenie zbyt wielu spacji albo pozostawienie niepotrzebnych odstępów na początku lub końcu tekstu. Aby oczyścić dane, wystarczy użyć formuły:
=USUŃ.ZBĘDNE.ODSTĘPY(" tekst ze zbyt dużą ilością spacji ")
Wynikiem działania funkcji będzie poprawiony zapis:
tekst ze zbyt dużą ilością spacji.
Funkcja LITERY.WIELKIE
LITERY.WIELKIE(tekst)
Funkcja zamienia wszystkie litery w podanym tekście na wielkie. Przydaje się na przykład wtedy, gdy nauczyciel wymaga, aby dane po obróbce były zapisane wielkimi literami, a ktoś z zespołu przez nieuwagę pozostawił tekst zapisany małymi literami. Zamiast poprawiać wszystko ręcznie, możemy skorzystać z funkcji LITERY.WIELKIE:
=LITERY.WIELKIE(„danedlanauczyciela”)
Wynikiem działania formuły będzie tekst: DANEDLANAUCZYCIELA
Dzięki temu szybko naprawimy błąd i dostosujemy dane do wymagań.
LibreOffice Calc
W LibreOffice Calc funkcja działa analogicznie - nie ma istotnych różnic w stosunku do Microsoft Excel w opisanym scenariuszu.
z ang. leading spaces, trailing spaces; spacje znajdujące się na początku lub na końcu łańcucha znaków