W dzisiejszym poście zajmiemy się wyciąganiem tekstu po ograniczniku, między ogranicznikami bądź przed ogranicznikiem. W pytaniu od widzów nr 104 napisaliśmy formułę w Excelu, która wyciągała tekst znajdujący się pomiędzy przedostatnim a ostatnim ogranicznikiem np. oznaczony na rysunku nr 1 na czerwono.

rys. nr 1 — Tekst który będziemy wyciągać

Formuły te w Excelu były skomplikowane. W Power Query możemy zrobić to samo, ale dużo szybciej. Ponadto możemy wyciągnąć tekst znajdujący się za konkretnym ogranicznikiem, przed lub pomiędzy dwoma konkretnymi ogranicznikami. Zagadnienie to omówimy na podstawie przykładowych danych przedstawionych na rysunku nr 2.

rys. nr 2 — Przykładowe dane

W przykładowych danych mamy zestawione różne ścieżki do plików, z których będziemy chcieli wyciągnąć konkretną informację. Pierwszym krokiem jest zaczytanie danych do Power Query. Otrzymamy Dane w Edytorze zapytań przedstawione na rysunku nr 3.

rys. nr 3 — Edytor zapytań

Z zastosowanych kroków usuwamy krok o nazwie Zmieniono typ. Będziemy dodawać kolumny zawierające wyciągnięte informacje z tekstu z danych wejściowych. Rozwijamy polecenie wyodrębnij (punkt 2 na rys. nr 4) z karty Dodaj kolumnę, a następnie wybieramy polecenie Tekst przed ogranicznikiem (punkt 3 na rys. nr 4).

rys. nr 4 — Tekst przed ogranicznikiem

Otworzy nam się okno Tekstu przed ogranicznikiem, gdzie w polu Ogranicznik musimy wybrać lub wpisać ogranicznik oznaczający koniec zawartości, którą chcemy wyodrębnić. Wpisujemy / (backslash). Rozwijamy opcje zaawansowane, gdzie możemy wybrać dodatkowe parametry. Domyślnie Power Query czyta dane od lewej do prawej strony i znajdzie nam pierwsze wystąpienie ogranicznika. W opcjach zaawansowanych możemy wybrać ilość ograniczników, które chcemy pominąć. W polu liczba ograniczników do pominięcia wpisujemy wartość 1, czyli chcemy pominąć pierwsze wystąpienie ogranicznika (rys. nr 5). Tak ustawione parametry zatwierdzamy przyciskiem OK.

rys. nr 5 — Okno tekstu przed ogranicznikiem

Otrzymamy dane z nową kolumną o nazwie Tekst przed ogranicznikiem przedstawione na rysunku nr 6.

rys. nr 6 — dane z kolumną z tekstem przed ogranicznikiem

Ważne jest, że domyślnie rozpatrujemy dane od lewej strony, a w opcjach zaawansowanych możemy ten parametr zmienić. Opcja ta jest zapisana w pasku formuły naszej funkcji (Text.BeforeDelimiter), co zostało zaznaczone kolorem zielonym na rys. nr 7.

rys. nr 7 — Funkcja Text.BeforeDelimiter

Możemy edytować nasze zapytanie klikając na koło zębate obok nazwy kroku Wstawiony tekst przed ogranicznikiem (rys. nr 8).

rys. nr 8 — Koło zębate do edycji kroku

Ponownie otworzy nam się okno Tekstu przed ogranicznikiem gdzie możemy wybrać jedną z dwóch opcji rozpatrywania danych: Od początku danych wejściowych lub Od końca danych wejściowych (rys. nr 9).

rys. nr 9 — Parametry tekstu przed ogranicznikiem

Jeśli ustawimy parametr Od końca danych wyjściowych otrzymamy dane przedstawione na rysunku nr 10.

rys. nr 10 — Nowa kolumna z tekstem przed ogranicznikiem patrząc od końca

W tym przypadku Power Query będzie przeszukiwał dane od prawej strony. Ponieważ nie jest to domyślne działanie nasza formuła się rozbudowała (rys. nr 11).

rys. nr 11 — Rozbudowana formuła funkcji

W kolejnej nowej kolumnie chcemy otrzymać tekst za ogranicznikiem. W tym celu rozwijamy polecenie Wyodrębnij (punkt 2 na rys. nr 12) z karty Dodaj kolumnę, a następnie wybieramy polecenie Tekst za ogranicznikiem (punkt nr 3).

rys. nr 12 — Tekst za ogranicznikiem

Otworzy nam się okno Tekstu za ogranicznikiem, gdzie w polu Ogranicznik wpisujemy znak (/).Identycznie jak dla pierwszego przypadku, czyli Tekstu przed ogranicznikiem. Następnie w opcjach zawansowanych, wybieramy czy chcemy rozpatrywać dane od lewej do prawej strony czy od końca oraz wpisujemy liczbę ograniczników, które chcemy pominąć. Wpisujemy w naszym przykładzie, że chcemy pominąć 2 ograniczniki oraz rozpatrywanie danych domyślne, czyli od lewej do prawej. Ustawione parametry zatwierdzamy przyciskiem OK (rys. nr 13).

rys. nr 13 — Okno tekstu za ogranicznikiem

Otrzymamy dane przedstawione na rysunku nr 14.

rys. nr 14 — Nowa kolumna z tekstem za ogranicznikiem

Ostatnie nasze przekształcenie danych będzie dotyczyć wyodrębnienia tekstu między konkretnymi ogranicznikami. W tym celu rozwijamy polecenie Wyodrębnij (punkt 2 na rys. nr 15) z karty Dodaj kolumnę, a następnie wybieramy polecenie Tekst między ogranicznikami (punkt 3).

rys. nr 15 — Tekst między ogranicznikami

Otworzy nam się okno Tekstu między ogranicznikami, gdzie wpisujemy ograniczniki w polach Ogranicznik początkowy i końcowy, czyli w naszym przykładzie w obu polach ten sam znak (/). W opcjach zaawansowanych możemy jak w innych omawianych dziś przypadkach ustawić czy chcemy przeszukiwać dane od początku do końca czy odwrotnie. W pytaniu od widzów było zadanie znalezienia tekstu między przedostatnim a ostatnim ogranicznikiem, więc ustawiamy rozpatrywanie danych od prawej do lewej strony (od końca). W polu Liczba ograniczników początkowych do pominięcia wpisujemy 1 ogranicznik, natomiast w polu Liczba ograniczników końcowych do pominięcia zostawiamy 0. Tak ustawione parametry zatwierdzamy przyciskiem OK (rys. nr 16).

rys. nr 16 — Okno tekstu między ogranicznikami

Otrzymamy dane przedstawione na rysunku nr 17, czyli tekst między ostatnim a przedostatnim ogranicznikiem.

rys. nr 17 — Nowa kolumna z tekstem między ogranicznikami

Możemy zagłębić się bardziej w opcje zaawansowane, ale wtedy łatwiej się zgubić, ponieważ opcja Skanuj w poszukiwaniu ogranicznika końcowego daje nam dwie możliwości. Po znalezieniu pierwszego ogranicznika w tej opcji możemy wybrać czy chcemy przeszukiwać dane w lewą stronę od tego ogranicznika czy w prawo. Pokażemy te opcje na przykładzie zmiany drugiego ogranicznika na znak @ oraz przy pominięciu jednego znaku @. Ustawione parametry powinny wyglądać jak na rysunku nr 18.

rys. nr 18 — Zmiany parametrów tekstu między ogranicznikami

Otrzymamy wtedy dane przedstawione na rysunku nr 19. Możemy zauważyć, że w górnych wierszach nie ma znaków @ po znaku /, więc Power Query wyciągnie nam cały tekst do końca. W ostatnim wierszu otrzymamy fragment tekstu między ostatnim znakiem / a drugim znakiem @, zgodnie z ustawionymi parametrami.

rys. nr 19 — zmienione dane

Najlepiej przeczytać dokładnie wszystkie opcje i przetestować ich działanie.

Tak przygotowane dane możemy załadować do Excela za pomocą polecenia Zamknij i załaduj do z karty Narzędzia główne (rys. nr 20).

rys. nr 20 — Zamknij i załaduj do

Otrzymamy dane załadowane do Excela. Zadanie to jest dużo szybsze w Power Query, musimy tylko pamiętać o dokładnym czytaniu parametrów oraz o tym w którą stronę czytamy dane (od początku do końca czy odwrotnie).


Książka Mistrz Excela + promo na 35 urodziny

Chcę Cię poinformować, że w końcu udało mi zebrać środki i dopiąć wszystkich formalności, żeby powstało II wydanie mojej książki Mistrz Excela (zostałem wydawcą)
II wydanie jest wzbogacone o rozdział (nr 22) wprowadzający w genialny dodatek (Power Query) do Excela służący do pobierania, łączenia i wstępnej obróbki danych z wielu źródeł.

Książka Mistrz Excela to historia Roberta, który musi poznać dobrze Excela na potrzeby nowej pracy. Książka jest napisana w formie rozmów Roberta z trenerem, dzięki temu jest przystępniejsza w odbiorze niż standardowe książki techniczne pisane językiem "wykładowym".

Rozmowy zostały podzielone na 22 tematyczne rozdziały, które krok po kroku wprowadzają Cię w tajniki Excela. Robert zaczyna naukę od poznania ciekawych aspektów sortowania i filtrowania danych w Excelu, przechodzi przez formatowanie warunkowe, tabele przestawne, funkcje wyszukujące i wiele innych tematów, by na koniec poznać wstępne informacje o VBA i Power Query.
A wszystko to na praktycznych przykładach i z dużą ilością zdjęć.

Żebyś mógł śledzić postępy Roberta, do książki dołączone są pliki Excela, na których pracuje Robert.

Aktualnie w promocji urodzinowej możesz mieć Mistrza Excela w obniżonej cenie, jeśli tylko wpiszesz kod 35URODZINY
https://exceliadam.pl/produkt/ksiazka-mistrz-excela

Na powyższej stronie znajdziesz dokładniejszy opis książki, opinie osób, które kupiły I wydanie oraz podgląd pierwszego rozdziału książki, żeby upewnić się, czy forma rozmów przy nauce Excela jest dla Ciebie.
Jeśli książka Ci się spodoba poinformuj o niej swoich znajomych.

W ramach promocji na moje 35 urodziny możesz też mieć każdy z moich kursów wideo na Udemy za zaledwie 35 zł. Linki do kursów zamieszczam poniżej. W każdym kursie są udostępnione filmy do podglądu, byś mógł się przekonać czy dany kurs jest dla Ciebie.

Power Query
https://www.udemy.com/course/mistrz-power-query/?couponCode=35URODZINY

Mistrz Excela
https://www.udemy.com/mistrz-excela/?couponCode=35URODZINY

Dashboardy
https://www.udemy.com/course/excel-dashboardy/?couponCode=35URODZINY

Mistrz Formuł
https://www.udemy.com/course/excel-mistrz-formul/?couponCode=35URODZINY

VBA
https://www.udemy.com/course/excel-vba-makra/?couponCode=35URODZINY

Microsoft Power BI
https://www.udemy.com/course/power-bi-microsoft/?couponCode=35URODZINY

Książka Mistrz Excela reklama