Jak podzielić zawartość komórki arkusza na kilka części

Informacje tekstowe importowane do arkusza kalkulacyjnego często umieszczane są w pojedynczej komórce. Jeżeli kreator importu nie radzi sobie z ich podziałem na kilka części trzeba zastosować formuły arkusza. Poznaj praktyczne zastosowanie kreatora importu danych oraz funkcji przeznaczonych do wyszukiwania i wycinania tekstu.

Arkusze kalkulacyjne stosowane są nie tylko do wykonywania różnych obliczeń. Bardzo często używa się ich w roli prostych baz danych, które umożliwiają sortowanie, przeglądanie i analizowanie informacji. Aby usprawnić i przyspieszyć pracę, wartości komórek importuje się również z innych źródeł. Powoduje to często kłopoty z prawidłowym formatowaniem danych.

Przykładem takiej operacji może być pobieranie rekordów z pliku tekstowego. To bardzo często wykorzystywana opcja. Kreator importu, który się wtedy uruchamia pozwala odpowiednio podzielić tekstowe wpisy na fragmenty i umieścić w odpowiednich kolumnach. Jako znaków odniesienia używa on przecinków, średników, spacji czy znaków tabulacji. Czasami jednak mechanizm ten zawodzi. Dzieje się tak bardzo często wtedy, gdy nieprecyzyjnie bądź nieprawidłowo określony został standard kodowania znaków. W takiej sytuacji pozostaje uporządkować zaimportowanie dane za pomocą odpowiednich funkcji arkusza. Przyjrzyjmy się tym mechanizmom. Działają one podobnie w każdym arkuszu kalkulacyjnym. Ich działanie zademonstrujemy na przykładzie Excela.

1. Podział danych za pomocą kreatora importu

Załóżmy, że z pliku tekstowego importowane są dane dotyczące różnych osób. Format rekordu uwzględnia tytuł danej osoby, jej imię i nazwisko. Aby zaimportować taki plik wystarczy przejść na kartę Dane arkusza i wybrać polecenie Z tekstu umieszczone w sekcji Dane zewnętrzne. Po wskazaniu pliku pojawia się okno kreatora. Najczęściej zostawia się zaznaczoną opcję Rozdzielany i na liście Pochodzenie pliku wybiera rodzaj kodowania używany przy jego zapisie. Jeżeli w kolejnych krokach nie uda się prawidłowo podzielić danych być może przyczyną jest źle dobrany format. Wybierz znak rozdzielający, na przykład spacja, a potem określ formatowanie docelowe. Podgląd podziału widoczny jest u dołu okna. Zakończ pracę kreatora przyciskiem Zakończ i wskaż, gdzie mają znaleźć się importowane dane.

Kreator ułatwia formatowanie importowanych danych. Nie zawsze jednak zdaje egzamin

Kreator ułatwia formatowanie importowanych danych. Nie zawsze jednak zdaje egzamin

2. Użycie funkcji LEWY do wycinania tekstu

Co jednak zrobić, gdy nie uda się prawidłowo podzielić elementów rekordu na poszczególne komórki? W takiej sytuacji cały rekord umieszczony zostaje w pojedynczej komórce i trzeba go rozdzielić za pomocą odpowiednich formuł. Na ratunek przychodzą takie funkcje arkusza, jak LEWY, PRAWY i FRAGMENT.TEKSTU. Polecenie LEWY wyświetla określoną liczbę znaków, liczoną od lewej strony tekstu podanego jako parametr. Składnia wygląda następująco: LEWY(tekst_źródłowy;liczba_znaków). tekst_źródłowy określa się w prosty sposób, wystarczy przecież wpisać adres komórki zawierającej informacje o osobie. Argument liczba_znaków wyznaczymy za pomocą innej funkcji.

Formuła oparta na funkcji LEWY, wydzielająca pierwszy człon rekordu

Formuła oparta na funkcji LEWY, wydzielająca pierwszy człon rekordu

3. Wyszukiwanie znaków w tekście

Aby wydzielić z całego rekordu jego pierwszą część czyli tytuł, należy pobrać z rekordu wszystkie znaki aż do pierwszej spacji. Policzy je funkcja ZNAJDŹ. Działa ona z dwoma lub trzema parametrami i zwraca miejsce poszukiwanego znaku, w określonym tekście, począwszy od danej pozycji. Jeżeli nie podasz pozycji, od której mają być prowadzone poszukiwania funkcja domyślnie rozpocznie je od początku tekstu źródłowego. Składnia polecenia wygląda następująco: ZNAJDŹ(szukany_znak;tekst_źródłowy;opcjonalna_pozycja_startowa). Szukasz pierwszej spacji, w tekście z komórek źródłowych, licząc od jego początku. Jeżeli założymy, że pierwszy rekord umieszczony został w komórce A10 to wyszukiwanie będzie wyglądało następująco: ZNAJDŹ(" ";A10), a funkcja wyświetlająca pierwszy fragment tak: LEWY(A10;ZNAJDŹ(" ";A10)-1). Spacja ujęta jest znakiem cudzysłowu. Ustaw kursor w komórce B2, wpisz znak równości i wprowadź powyższą formułę. Skopiuj ją do pozostałych komórek poniżej.

Kombinacja formuł FRAGMENT.TEKSTU i ZNAJDŹ wycinająca środkową część rekordu

Kombinacja formuł FRAGMENT.TEKSTU i ZNAJDŹ wycinająca środkową część rekordu

4. Wyszukiwanie tekstu wewnątrz łańcucha znaków

Do wyodrębnienia imienia można zastosować kilka różnych metod. W naszej wskazówce posłużymy się funkcją FRAGMENT.TEKSTU. Jej składnia jest następująca: FRAGMENT.TEKSTU(tekst_źródłowy;pozycja_startowa;liczba_zwróconych_znaków). Parametr zawierający tekst źródłowy to oczywiście adres komórki A10. Pierwszy znak, który należy pobrać z tekstu źródłowego to zawsze pierwszy znak po pierwszej spacji. Pozycję spacji, tak jak poprzednio zwraca formuła ZNAJDŹ(" ";A10). Wystarczy dodać do niej liczbę 1. Aby uzyskać liczbę znaków, którą należy wyświetlić wystarczy obliczyć położenie drugiej spacji i odjąć od uzyskanej wartości położenie pierwszej spacji. Do wyszukania drugiej spacji możesz ponownie użyć funkcji ZNAJDŹ ale tym razem z trzema parametrami. Jako trzeci parametr umieść numer znaku, od którego należy rozpocząć poszukiwania czyli numer pierwszej spacji powiększony o jeden: ZNAJDŹ(" ";A10;ZNAJDŹ(" ";A10)+1)). Po dodaniu wszystkich argumentów do funkcji głównej, przybierze ona następującą postać: FRAGMENT.TEKSTU(A10;ZNAJDŹ(" ";A10)+1; ZNAJDŹ(" ";A10;ZNAJDŹ(" ";A10)+1)- ZNAJDŹ(" ";A10)). Wprowadź formułę do komórki C10

Formuła odczytująca z rekordu tekstowego informacje o nazwisku

Formuła odczytująca z rekordu tekstowego informacje o nazwisku

5. Zliczanie znaków łańcucha i funkcja PRAWY

Do pobrania informacji o nazwisku skorzystaj z funkcji PRAWY. Tak, jak poprzednio musisz jej podać w postaci parametru adres tekstu źródłowego oraz liczbę znaków, które ma ona wyświetlić ale liczonych od jego końca. Długość nazwiska można uzyskać zliczając wszystkie znaki rekordu i odejmując od uzyskanej liczby pozycję drugiej spacji. Formułę podającą tę drugą liczbę skonstruowałeś w poprzednim punkcie: ZNAJDŹ(" ";A10;ZNAJDŹ(" ";A10)+1)). Długość całego rekordu uzyskasz za pomocą funkcji . Wystarczy podać jej adres tekstu do zliczania. Formuła wyświetlająca nazwisko, uzupełniona o wszystkie parametry będzie więc wyglądała następująco: PRAWY(A10;DŁ(A10)-ZNAJDŹ(" ";A10;ZNAJDŹ(" ";A10)+1))


Zobacz również