Trudność: 🟡 (średnie)
Czasem będziesz dostawać od współpracowników pliki w MS Excel, które nie do końca odpowiadają Twoim potrzebom.
Wyobraź sobie listę osób wypisanych jak na poniższym obrazku. Czy taką listę da się posortować wg nazwisk? Wszystko się da! Ale po co się męczyć? Lepiej rozbić taką listę na osobne kolumny.
W jednej będą imiona, w drugiej nazwiska. Zanim zaczniemy ćwiczyć… przygotuj sobie plik podobny do tego na obrazku (dowolne imiona i nazwiska w kolumnie B):
Metoda 1 – narzędzie Excel
- Zaznacz komórki myszką.
- We wstędze Dane kliknij Tekst jako kolumny. Uruchomisz w ten sposób kreator rozkładania tekstu w kolumny.
- W kreatorze, w kroku 1/3 upewnij się, że zaznaczona jest opcja Rozdzielany i przejdź do kroku 2.
- Odhacz Tabulator i zaznacz Spacja (bo właśnie spacja jest między imionami i nazwiskami).
- W kroku 3/3 zmień Miejsce docelowe na D2 (od tej komórki w dół i prawo pojawią się wyniki).
- Kliknij Zakończ
Metoda 2 – formuła
Na początek zastanów się w jaki sposób oddzielić imiona i nazwiska. Zauważ, że imiona są od początku tekstu do spacji, a nazwiska od spacji do końca tekstu. Jeśli więc dowiemy się na kórej pozycji jest spacja, to zadanie jest łatwe.
- Ustaw się w komórce C3 i wpisz formułę: =ZNAJDŹ(” “;B3) (ta formuła poszuka w tekście w komórce B3 spacji). Zwróć uwagę, że spacja podana jest w cudzysłowie!
- Skopiuj formułę w dół.
Wiesz już na której pozycji jest spacja. Teraz wystarczy “złapać” tekst od lewej strony aż do pozycji spacji minus jeden (żeby pominąć samą spację).
- Ustaw się w D3 i napisz formułę: =LEWY(B3;C3-1) (zastanów się dlaczego odejmujemy jedynkę)
- Skopiuj formułę w dół. Powinny się wyświetlić imiona.
Z nazwiskami nie jest już tak wesoło. Wiemy, że są po spacji do końca tekstu. Musimy skorzystać z funkcji FRAGMENT.TEKSTU()
- W komórce E3 napisz: =FRAGMENT.TEKSTU(B3;C3+1;20) – ta funkcja pobierze z komórki B3 tekst zaczynając od pozycji spacji plus jeden (wyliczone to jest w komórce C3) i wyświetli 20 kolejnych znaków. Dlaczego 20? Bo musimy podać jakąś liczbę znaków i zakładamy, że nikt nie będzie miał dłuższego nazwiska. Można się pokusić o obliczenie długości tekstu funkcją DŁ() ale nie jest to w tym przypadku potrzebne.
Metoda 3 – magia
Skorzystamy z funkcji Wypełnianie błyskawiczne licząc na to, że Excel domyśli się co chcemy zrobić. Procedura wygląda tak:
- Ustaw się obok pierwszego imienia i nazwiska.
- Wpisz Jan
- Skopiuj komórkę Jan w dół za kwadracik w prawym dolnym rogu komórki
- Rozwiń wskazany na obrazku przycisk opcji
- Wybierz Wypełnianie błyskawiczne
- Powtórz operację dla pierwszego nazwiska
Wypróbuj skrót klawiaturowy Ctrl + e i zobacz inne przydatne skróty.
Podsumowanie – którą metodę stosować?
Jeśli rozbijanie tekstu na kolumny jest jednorazowe, to polecam metodę 1 lub 3. Jeśli jednak w kolumnie B pojawiać się będą nowe nazwiska, lista będzie zmieniana, odświeżana… to najlepsza będzie metoda 2.