Excel Power Query #62 — Wszystkie cyfry z tekstu

W dzisiejszym poście nauczymy się jak wyciągnąć wszystkie cyfry z tekstu w Power Query. W poprzednim odcinku na temat Power Query pokazywaliśmy jak wyciągnąć cyfry znajdujące się na początku tekstu bądź na jego końcu. W przykładowych danych mamy tabelę, gdzie tekst został pomieszany z cyframi (rys. nr 1).

Rys. nr 1 – przykładowe dane
Rys. nr 1 – przykładowe dane

W celu zaczytania danych do Power Query wybieramy polecenie Z tabeli/zakresu  z karty Dane (rys. nr 2).

Rys. nr 2 – polecenie Z tabeli/zakresu
Rys. nr 2 – polecenie Z tabeli/zakresu

Otworzy nam się edytor zapytań Power Query z wczytaną tabelą z przykładowymi danymi przedstawiony na rys. nr 3.

Rys. nr 3 – edytor zapytań Power Query z wczytanymi danymi
Rys. nr 3 – edytor zapytań Power Query z wczytanymi danymi

Teraz zajmiemy się odpowiednim przekształcaniem tych danych. W pierwszym kroku musimy skopiować naszą kolumnę. W tym celu wybieramy polecenie Duplikuj kolumnę  z karty Dodaj kolumnę (rys. nr 4).

Rys. nr 4 – polecenie Duplikuj kolumnę
Rys. nr 4 – polecenie Duplikuj kolumnę

Otrzymamy dane ze zduplikowaną kolumną przedstawione na rys. nr 5.

Rys. nr 5 – dane ze zduplikowaną kolumną
Rys. nr 5 – dane ze zduplikowaną kolumną

Teraz zmienimy sobie nazwę nowej kolumny w pasku formuły, aby nie dodawać nowego kroku. Zmieniamy tekst zaznaczony na rys. nr 6 na „Cyfry”. Zapis ze zmienioną nazwą kolumny powinien wyglądać następująco:

=Table.DuplikateColumn(#"Zmieniono typ", "Tekst", "Cyfry")

Rys. nr 6 – nazwa nowej kolumny, którą chcemy zmienić w pasku formuły
Rys. nr 6 – nazwa nowej kolumny, którą chcemy zmienić w pasku formuły

Jeśli nie pokazuje Ci się pasek formuły, możesz go uruchomić zaznaczając checkbox przy poleceniu Pasek formuły na karcie Widok (rys. nr 7).

Rys. nr 7 – uruchamianie paska formuły
Rys. nr 7 – uruchamianie paska formuły

Kiedy mamy już zduplikowaną kolumnę, zaznaczamy ją i rozwijamy polecenie Podziel kolumny (punkt 2 na rys. nr 8) z karty Strona główna (punkt 1), następnie wybieramy polecenie Według liczby znaków (punkt 3).

Rys. nr 8 – ścieżka dostępu do polecenia Według liczby znaków
Rys. nr 8 – ścieżka dostępu do polecenia Według liczby znaków

Otworzy nam się okno Dzielenia kolumny według liczby znaków, gdzie w polu Liczba znaków wpisujemy wartość 1, następnie wybieramy w polu Podziel checkbox przy opcji Powtarzalne. Ważne jest abyśmy rozwinęli opcje zaawansowane, gdzie w polu Podziel na wybieramy dzielenie na Wiersze. Tak ustawione parametry dzielenia kolumny zatwierdzamy przyciskiem OK (rys. nr 9).

Rys. nr 9 – parametry dzielenia kolumny według liczby znaków
Rys. nr 9 – parametry dzielenia kolumny według liczby znaków

Otrzymamy podzielone dane, których fragment został przedstawiony na rys. nr 10.

Rys. nr 10 – fragment danych podzielonych według liczby znaków
Rys. nr 10 – fragment danych podzielonych według liczby znaków

W kolumnie Tekst mamy zduplikowane nasze oryginalne wartości, a w kolumnie Cyfry mamy podział na wszystkie pojedyncze znaki. Nasza kolumna Cyfry zaimportowała się domyślnie jako dane tekstowe, musimy zmienić typ danych. W tym celu klikamy na ikonkę ABC przy nazwie kolumny i z listy rozwijanej wybieramy typ Liczna całkowita (rys. nr 11).

Rys. nr 11 – zmiana typu danych w kolumnie Cyfry
Rys. nr 11 – zmiana typu danych w kolumnie Cyfry

Pojawi nam się okienko, w którym musimy potwierdzić decyzję o zmianie typu danych za pomocą przycisku Zamień bieżącą (rys. nr 12).

Rys. nr 12 – okno Zmień typ kolumny
Rys. nr 12 – okno Zmień typ kolumny

Otrzymamy zmienione dane, gdzie w miejscach znaków tekstowych otrzymamy "Error", ponieważ Power Query nie rozpozna cyfry. Natomiast w miejscach, gdzie mieliśmy do czynienia ze spacją otrzymamy wartość "null" (rys. nr 13).

Rys. nr 13 – dane po zmianie typu danych z tekstu na liczby całkowite
Rys. nr 13 – dane po zmianie typu danych z tekstu na liczby całkowite

Dzięki temu, że otrzymaliśmy błędy (error), w miejscach znaków tekstowych, możemy je łatwo usunąć. Rozwijamy polecenie Usuń wiersze (punkt 2 na rys. nr 14) z karty Strona główna (punkt 1), następnie wybieramy polecenie Usuń błędy (punkt 3).

Rys. nr 14 – ścieżka dostępu do polecenia Usuń błędy
Rys. nr 14 – ścieżka dostępu do polecenia Usuń błędy

Otrzymamy dane po usunięciu wierszy z błędami przedstawione na rys. nr 15 .

Rys. nr 15 – dane po usunięciu wierszy z błędami (error)
Rys. nr 15 – dane po usunięciu wierszy z błędami (error)

W kolejnym kroku chcielibyśmy pozbyć się wierszy z wartościami null, które powstały w miejsce spacji. W tym celu rozwijamy filtry (ikona trójkąta obok nazwy kolumny) i z podręcznego menu wybieramy polecenie Usuń puste (rys. nr 16).

Rys. nr 16 – polecenie Usuń puste
Rys. nr 16 – polecenie Usuń puste

Otrzymamy dane bez pustych wierszy przedstawione na rys. nr 17.

Rys. nr 17 – dane po usunięciu pustych wierszy
Rys. nr 17 – dane po usunięciu pustych wierszy

Możemy zauważyć, że przy konkretnym tekście mamy tylko te wiersze, gdzie znalazły się cyfry, bez względu czy były one na początku, na końcu czy w środku tekstu. Otrzymaliśmy wyciągnięte wszystkie cyfry z tekstu, lecz nie są one jeszcze odpowiednio zgrupowane. Zaznaczamy kolumnę Tekst i wybieramy polecenie Grupowanie według z karty Strona główna (rys. nr 18).

Rys. nr 18 – polecenie Grupowanie według
Rys. nr 18 – polecenie Grupowanie według

Otworzy nam się okno Grupowania według, gdzie wybieramy typ grupowanie Podstawowy. W polu Nazwa nowej kolumny zmieniamy domyślną nazwę Liczność na Cyfry, następnie w polu Operacja wybieramy z listy rozwijanej Wszystkie wiersze. Tak ustawione parametry grupowania według zatwierdzamy przyciskiem OK (rys. nr 19).

Rys. nr 19 – parametry Grupowania według
Rys. nr 19 – parametry Grupowania według

Otrzymamy pogrupowane dane przedstawione na rys. nr 20.

Rys. nr 20 – pogrupowane dane
Rys. nr 20 – pogrupowane dane

Pod skrótem Table ukryta jest tabelka zarówno z danymi z kolumny Tekst jak i z kolumny Cyfry. Nam zależy tylko na danych z kolumny cyfry, więc zrobimy małe przekształcenie w pasku formuły. Zamiast znaku podkreślenia, który oznacza cały wiersz wpiszemy nazwę kolumny. Zapis formuły powinien wyglądać następująco:

=Table.Group (#"Przefiltrowano wiersze", {"Tekst"}, {{"Cyfry" each [Cyfry], type table [Tekst=anynonnull, Cyfry=numer]}})

Otrzymamy dane tylko z kolumny Cyfry ukryte pod słowem List w naszej tabeli przedstawione na rys. nr 21.

Rys. nr 21 – dane pogrupowane jako lista
Rys. nr 21 – dane pogrupowane jako lista

W pasku formuły nadal mamy typ danych table oraz dodatkowe domyślne dane. Musimy wprowadzić dodatkowe zmiany, między innymi zamienić table na list. Zapis formuły powinien wyglądać następująco:

=Table.Group (#"Przefiltrowano wiersze", {"Tekst"}, {{"Cyfry" each [Cyfry], type list}})

Dzięki takiej zmianie oprócz słowa list mamy zaznaczony odpowiednią ikonką typ danych w kolumnie cyfry, co widać na rys. nr 22.

Rys. nr 22 – dane po zmianie typu na listopad
Rys. nr 22 – dane po zmianie typu na listopad

Dodatkowo dzięki takiej zmianie możemy bez problemu rozwinąć takie dane. W tym celu rozwijamy ikonkę ze strzałkami obok nazwy kolumny Cyfry i wybieramy polecenie Wyodrębnij wartości (rys. nr 23).

Rys. nr 23 – polecenie Wyodrębnij wartości
Rys. nr 23 – polecenie Wyodrębnij wartości

Otworzy nam się okno Wyodrębniania wartości z listy, gdzie z listy rozwijanej musimy wybrać Ogranicznik, jakiego Power Query ma użyć do połączenia danych. W naszym przykładzie, ze względu na to że mamy do czynienia z cyframi wybieramy Brak ogranicznika. Tak ustawione parametry wyodrębniania wartości zatwierdzamy przyciskiem OK (rys. nr 24).

Rys. nr 24 – parametry Wyodrębniania wartości z listy
Rys. nr 24 – parametry Wyodrębniania wartości z listy

Otrzymamy wyodrębnione cyfry w drugiej kolumnie przedstawione na rys. nr 25.

Rys. nr 25 – dane wyodrębnione z listy
Rys. nr 25 – dane wyodrębnione z listy

Co istotne mimo że wyciągnęliśmy z danych cyfry mają one przypisany typ danych Tekst. Gdyby zależało nam żeby zmienić typ danych na liczby to stracilibyśmy zera wiodące, czyli nie otrzymalibyśmy wszystkich cyfr z tekstu.

Tak przygotowane dane możemy załadować do Excela za pomocą polecenia Zamknij i załaduj do z karty Strona główna (rys. nr 26).

Rys. nr 26 – polecenie Zamknij i załaduj do
Rys. nr 26 – polecenie Zamknij i załaduj do

W Excelu otworzy nam się okno Importowania danych, gdzie wybieramy sposób wyświetlania danych jako Tabela oraz wskazujemy miejsce wstawienia danych, czyli Istniejący arkusz oraz wskazujemy konkretną komórkę. Tak ustawione parametry importowania danych zatwierdzamy przyciskiem OK (rys. nr 27).

Rys. nr 27 – okno Importowania danych
Rys. nr 27 – okno Importowania danych

Otrzymamy dane wstawione do Excela przedstawione na rys. nr 28.

Rys. nr 28 – dane wstawione do Excela
Rys. nr 28 – dane wstawione do Excela

Jak widać Power Query bez problemu poradził sobie z wyciągnięciem wszystkich cyfr z tekstu bez względu, gdzie się one znajdowały, czy były na końcu tekstu, czy na początku, czy też w środku.


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

Excel — Jak wyciągnąć kod VBA z add-in do Excela — Lista z opcją wyszukiwania — porada #380

W dzisiejszym poście nauczymy się jak skopiować kod add-inn (kod dodatku do Excela), żeby wkleić go do konkretnego pliku Excela. Zadanie to wykonamy na podstawie przykładowych danych z rys. nr 1.

Rys. nr 1 – przykładowe dane
Rys. nr 1 – przykładowe dane

W poprzednim poście  (porada 379) pokazaliśmy jak zainstalować add-inn, dodatek do Excela na przykładzie Jona Acampory. Problem z dodatkami jest taki, że są instalowane na konkretnym urządzeniu (komputerze) i przy kopiowaniu pliku, przenoszeniu pliku na inne urządzenie dodatek nie będzie działał. Podsumowując na innym urządzeniu mimo, że korzystamy z tego samego pliku nie mamy dodatkowych opcji wynikających z dodatku, z którego korzystaliśmy, nie ma również dodatkowej karty XL Campus na pasku narzędzi.

Możemy jednak skopiować kod tego dodatku i podpiąć go pod konkretny plik Excela. Wykonamy to zadanie z kodem Jona Acampory ponieważ jest on darmowy i możemy sobie pozwolić na jego kopiowanie.

Załóżmy że mamy otwarty nasz przykładowy plik Excela (dane z rys. nr 1) i mamy pobrany dodatek Add-inn Jona Acampory na dysk (rys. nr 2).

Rys. nr 2 – dodatek Jona Acampora pobrany na dysk
Rys. nr 2 – dodatek Jona Acampora pobrany na dysk

Istotne jest, że jeśli wykonałeś czynności z poprzedniego postu i masz już zainstalowany dodatek add-in to nie musisz na tym etapie otwierać pliku dodatku. My dla przykładu otworzymy sobie ten plik w Excelu (nie zainstalujemy tylko otworzymy), czyli klikamy na jego nazwę prawym przyciskiem myszy (plik z rozszerzeniem .xlam) i z podręcznego menu rozwijamy polecenie Otwórz za pomocą, a następnie wybieramy program Excel (rys. nr 3).

Rys. nr 3 – Otwieranie dodatku add-in za pomocą programu Excel
Rys. nr 3 – Otwieranie dodatku add-in za pomocą programu Excel

Po uruchomieniu Excela kod Jona Acampory powinien się uruchomić, czyli powinniśmy widzieć kartę XL Campus. Jest tp uruchomienie jednorazowe, czyli jak ponownie uruchomimy Excela to już tego dodatku nie będzie (w przeciwieństwie do porady nr 379, gdzie instalowaliśmy dodatek na stałe na to urządzenie).

Istotne dla nas jest teraz wyciągnięcie kodu z tego dodatku i podpięcie do na stałe do tego pliku. Korzystając ze skrótu klawiszowego Alt+F11, przechodzimy do Edytora zaawansowanego VBA (rys. nr 4).

Rys. nr 4 – edytor zaawansowany VBA
Rys. nr 4 – edytor zaawansowany VBA

Przede wszystkim musimy sobie uruchomić edytor Projektu, a możemy to zrobić wybierając polecenie Project Explorer z karty View (rys. nr 5).

Rys. nr 5 – polecenie Project Explorer
Rys. nr 5 – polecenie Project Explorer

W edytorze projektu widzimy dodatek Add-in oraz nasz plik, który nie posiada pod sobą żadnych modułów, formularzy czy klas. Musimy skopiować elementy zaznaczone na zielono na rys. nr 6 do naszego pliku. Możemy je kopiować dzięki temu, że dodatek Jona Acampora jest darmowy.

Rys. nr 6 – elementy dodatku add-in, które musimy skopiować
Rys. nr 6 – elementy dodatku add-in, które musimy skopiować

Moduły z dodatku kopiujemy na zasadzie przeciągania, czyli przeciągamy wszystkie moduły dodatku add-in do naszego pliku. Po skopiowaniu nasz plik powinien zawierać wszystkie elementy kodu dodatku (przedstawione na rys. nr 7).

Rys. nr 7 – elementy kodu skopiowane do naszego pliku
Rys. nr 7 – elementy kodu skopiowane do naszego pliku

Kiedy już skopiujemy ten kod, musimy poznać na tyle ten dodatek, żeby wiedzieć które makro jest tym głównym, które uruchamia cały proces. W przypadku tego dodatku jest to formularz. Aby uruchomić ten formularz potrzebujemy kodu, który przygotowałem sobie wcześniej. Kod ten powinien wyglądać następująco:

Sub ListaWyszukaj ()

            F_ListSearch.Show

End sub

Zaznaczamy ten kod (rys. nr 8) i kopiujemy go za pomocą skrótu klawiszowego Ctrl+C.

Rys. nr 8 – kod dodatku Add-in (makro)
Rys. nr 8 – kod dodatku Add-in (makro)

Aby wkleić ten kod do naszego pliku klikamy prawym przyciskiem myszy na Modules (moduły w naszym pliku) i z podręcznego menu rozwijamy polecenie Insert, a następnie wybieramy polecenie Module (rys. nr 9).

Rys. nr 9 – polecenie wstawiania modułu (makra)
Rys. nr 9 – polecenie wstawiania modułu (makra)

Otworzy nam się okno, gdzie za pomocą skrótu klawiszowego Ctrl+V możemy wkleić wcześniej skopiowane makro (rys. nr 10).

Rys. nr 10 – miejsce wklejenia skopiowanego makra
Rys. nr 10 – miejsce wklejenia skopiowanego makra

Musimy pamiętać o zapisaniu pliku za pomocą skrótu klawiszowego Ctrl+S. Powyższe działania sprawiły, że mamy działające uruchamiające makro podpięte do naszego pliku. Możemy teraz w Excelu podejrzeć makra klikając polecenie Makra na karcie Deweloper (rys. nr 11). Możemy również skorzystać ze skrótu klawiszowego Alt+F8.

Rys. nr 11 – polecenie Makra na karcie Deweloper
Rys. nr 11 – polecenie Makra na karcie Deweloper

Otworzy nam się okno ze wszystkimi makrami w kodzie przedstawione na rys. nr 12. Nasze makro uruchamiające formularz nazywa się ListaWyszukaj. Musimy je znaleźć na liście wszystkich makr i zaznaczyć. Ważne jest, aby to makro przypiąć do jakiegoś przycisku lub podpiąć pod skrót klawiszowy. My podepniemy je pod skrót klawiszowy ponieważ będziemy go często używać. W tym celu zaznaczamy nasze makro i przechodzimy do jego edycji za pomocą przycisku Opcje (rys. nr 12).

Rys. nr 12 – Nazwa naszego makra na liście wszystkich makr
Rys. nr 12 – Nazwa naszego makra na liście wszystkich makr

Otworzy nam się okno Opcji makra, gdzie możemy sobie wybrać jakiś skrót uruchamiający nasze makro. W polu Klawisz skrótu wpisujemy np. literkę L i otrzymamy skrót klawiszowy uruchamiający makro w postaci Ctrl+L. Wybrany skrót klawiszowy zatwierdzamy przyciskiem OK (rys. nr 13).

Rys. nr 13 – Opcje makra
Rys. nr 13 – Opcje makra

Excel po zatwierdzeniu skrótu klawiszowego powróci do okna Makro, które zamykamy za pomocą znaku x w prawym górnym rogu okna. Teraz możemy sprawdzić działanie makra uruchamiającego nasz dodatek. Wciskamy skrót klawiszowy Ctrl+L aby uruchomić makro ListSearch (rys. nr 14).

Rys. nr 14 – makro ListSearch uruchomione za pomocą skrótu klawiszowego Ctrl+L
Rys. nr 14 – makro ListSearch uruchomione za pomocą skrótu klawiszowego Ctrl+L

W polu w tym oknie możemy zacząć wpisywać nazwę artykułu i funkcja ta ograniczy liste wyszukiwania do słów zawierających dane znaki (rys. nr 15).

Rys. nr 15 – lista rozwijana z wyszukiwaniem
Rys. nr 15 – lista rozwijana z wyszukiwaniem

Kod Jona jest dobrze dopracowany, mianowicie jeśli wpiszemy jakąś wartość i nie wybierzemy czegoś z listy a będziemy chcieli zatwierdzić wpisane znaki przyciskiem Enter, to wyskoczy nam komunikat, że tej wartości nie możemy wpisać bo nie ma jej na liście (rys. nr 16).

Rys. nr 16 – komunikat, że wpisanej wartości nie ma na liście
Rys. nr 16 – komunikat, że wpisanej wartości nie ma na liście

Musimy mieć pewność, że wpisaliśmy pełną nazwę z listy, ponieważ w przeciwnym razie dodatek add-in nie pozwoli nam jej zatwierdzić Enterem.

Analogicznie dodatek zadziała dla listy elementów – kolumny z danymi (bez listy rozwijanej). Uruchamiamy ponownie kod dodatku za pomocą ustawionego przez nas skrótu klawiszowego Ctrl+L. Pojawi nam się okienko ListSearch, które automatycznie wykryje wszystkie elementy z listy w kolumnie (rys. nr 17).

Rys. nr 17 – ListSearch wykrywające elementy z listy w kolumnie (nie listy rozwijanej)
Rys. nr 17 – ListSearch wykrywające elementy z listy w kolumnie (nie listy rozwijanej)

Wszystko działa poprawnie, mamy podpięty kod pod nasz plik i mamy pewność, że po uruchomieniu na innym komputerze zadziała on poprawnie.

Potrzebna nam jest jeszcze drobna modyfikacja tego kodu ponieważ została ona napisana pod język angielski, gdzie znakiem (ogranicznikiem) rozdzielającym elementy jest przecinek (,) a nie jak w polskiej wersji średnik (;). Zaznaczamy dowolną pojedynczą komórkę, a następnie wybieramy polecenie Poprawność danych z karty Dane (rys. nr 18).

Rys. nr 18 – polecenie Poprawność danych
Rys. nr 18 – polecenie Poprawność danych

Otworzy nam się okno Sprawdzania poprawności danych, gdzie w karcie Ustawienia, w polu Dozwolone (Kryteria poprawności) wybieramy z listy rozwijanej opcję Lista, a następnie w polu Źródło dodajemy przykładowe elementy oddzielone odpowiednim znakiem (średnikiem) jak widać na rys. nr 19.

Rys. nr 19 – okno Sprawdzania poprawności danych
Rys. nr 19 – okno Sprawdzania poprawności danych

Otrzymamy prostą, poprawnie działającą listę przedstawioną na rys. nr 20.

Rys. nr 20 – lista rozwijana stworzona poprzez sprawdzanie poprawności danych
Rys. nr 20 – lista rozwijana stworzona poprzez sprawdzanie poprawności danych

Teraz jeśli użyjemy skrótu klawiszowego Ctrl+L, aby uruchomić nasz kod i spróbujemy w okienku ListSearch rozwinąć tą listę otrzymamy tylko jeden element składający się ze wszystkich elementów naszej listy (rys. nr 21).

Rys. nr 21 – elementy z listy rozpoznane przez dodatek jako jeden element
Rys. nr 21 – elementy z listy rozpoznane przez dodatek jako jeden element

Podsumowując kod naszego dodatku nie rozpoznał tej listy, ponieważ jej elementy zostały rozdzielone średnikami, a nie jak w angielskiej wersji przecinkami. Kod ten ma zapisane w pamięci, że znakiem rozdzielającym elementy z listy jest przecinek. Naszym zadaniem jest skorygowanie tego tak, aby kod poprawnie rozpoznawał elementy listy.

Za pomocą skrótu klawiszowego Alt+F11 przechodzimy do kodu w edytorze VBA. Musimy znaleźć w elementach naszego pliku formularz (Forms), żeby wyświetliło się nam odpowiednie okno, w którym wprowadzimy zmiany (rys. nr 22).

Rys. nr 22 – zmiany w kodzie dodatku (formularz)
Rys. nr 22 – zmiany w kodzie dodatku (formularz)

W okienku List Search – ExcelCampus.com musimy kliknąć prawym przyciskiem myszy na szare tło, a następnie wybrać z podręcznego menu polecenie View Code (rys. nr 23).

Rys. nr 23 – polecenie View code
Rys. nr 23 – polecenie View code

Otworzy nam się okno z kodem, który zmodyfikujemy (rys. nr 24).

Rys. nr 24 – okno z kodem
Rys. nr 24 – okno z kodem

Aby wyszukać interesujący nas fragment możemy użyć skrótu klawiszowego Ctrl+F, otworzy nam się okienko Find, gdzie w polu Find What w znakach cudzysłowu wpisujemy szukany znak (przecinek). Wpisany znak zatwierdzamy przyciskiem Find Next (rys. nr 25).

Rys. nr 25 – szukanie w kodzie znaku przecinka
Rys. nr 25 – szukanie w kodzie znaku przecinka

Wyskoczy nam komunikat, że został znaleziony taki element. Zatwierdzamy ten komunikat przyciskiem OK i zamykamy okienko Find. W oknie z kodem mamy podświetlony szukany element kodu co widać na rys. nr 26.

Rys. nr 26 – podświetlony szukany fragment kodu
Rys. nr 26 – podświetlony szukany fragment kodu

Jest to linijka kodu, która wyznacza znak rozdzielający elementy listy. Pamiętamy, że w polskiej wersji oprogramowania podziała elementów odbywa się za pomocą znaku średnika. Udało mi się znaleźć fragment kodu, który należy wstawić w miejsce linijki ze znakiem przecinka. Kopiujemy ten fragment z Notepada ++ za pomocą skrótu klawiszowego Ctrl+C (rys. nr 27).

Rys. nr 27 – fragment kodu, który wkleimy do VBA
Rys. nr 27 – fragment kodu, który wkleimy do VBA

Teraz w VBA wstawiamy fragment kodu ze znakiem przecinka w pojedynczy cudzysłów (robimy z niego komentarz), a następnie wklejamy skopiowany wcześniej kod za pomocą skrótu klawiszowego Ctrl+V. Po drobnych estetycznych poprawkach otrzymamy kod przedstawiony na rys. nr 28. Zostawiam dużo komentarzy, żeby potencjalny użytkownik zrozumiał co tutaj zmieniliśmy.

Rys. nr 28 – Zmieniony kod (teraz średnik będzie znakiem rozdzielającym elementy listy)
Rys. nr 28 – Zmieniony kod (teraz średnik będzie znakiem rozdzielającym elementy listy)

W miejsce przecinka wpisujemy zmienną, która odczyta z wersji oprogramowania Windows odczyta, jaki jest poprawny znak rozdzielający elementy listy. Musimy pamiętać o zapisaniu zmian w kodzie za pomocą skrótu klawiszowego Ctrl+S i wracamy do Excela. Teraz kiedy za pomocą skrótu klawiszowego Ctrl+L wywołamy nasz dodatek ListSearch, otrzymamy trzy elementy listy (rys. nr 29).

Rys. nr 29 – poprawnie rozpoznane elementy listy
Rys. nr 29 – poprawnie rozpoznane elementy listy

Naprawiliśmy tą niedogodność, która nie zawsze występuje, ponieważ jeśli lista rozwijana korzysta ze źródła, którym był zakres komórek, problem ten się nie pojawi. Najczęściej pojawia się taki problem kiedy sami wpisujemy elementy takich list.

Aby sprawdzić czy wszystko działa poprawnie, zamykamy wszystkie okna, arkusze i pliki, a przede wszystkim Excela. Następnie ponownie uruchamiamy nasz plik i korzystając ze skrótu klawiszowego Ctrl+L uruchamiamy nasz dodatek. Podsumowując dzięki naszym modyfikacjom kod działa, ponieważ jest podpięty do pliku. Korzystając ze skrótu klawiszowego Ctrl+F11, uruchamiamy ponownie edytor VBA, żeby pokazać, że mamy uruchomiony tylko nasz plik, nie został uruchomiony plik kodu z rozszerzeniem .xlam, co widać na rys. nr 30

Rys. nr 30 – edytor VBA
Rys. nr 30 – edytor VBA

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

Excel — Jak zainstalować add-in dodatek do Excela — Lista z opcją wyszukiwania — porada #379

W dzisiejszym poście nauczy się jak zainstalować add-in, dodatek do Excela. Pokażemy to na przykładzie dodatku stworzonego przez Jona Acampora – listy rozwijanej z opcją wyszukiwania. Jeśli interesuje cię zainstalowanie takiego dodatku to możesz go pobrać ze strony https://www.excelcampus.com/vba/search-data-validation-drop-down-lists (rys. nr 1). Na tej stronie zostało wytłumaczone jak ten dodatek działa i do czego można go użyć.

Rys. nr 1 – skrót do pobrania dodatku do Excela Jona Acampora
Rys. nr 1 – skrót do pobrania dodatku do Excela Jona Acampora

Zakładamy, że mamy już pobrany ten plik. Ma on rozszerzenie pliku .xlam co widać na rys. nr 2.

Rys. nr 2 – pobrany dodatek do Excela (.xlam)
Rys. nr 2 – pobrany dodatek do Excela (.xlam)

Będziemy potrzebować ścieżkę dostępu do tego dodatku, którą możemy skopiować z paska za pomocą skrótu klawiszowego Ctrl+C (oznaczone zieloną strzałką na rys. nr 2). Następnie przechodzimy do Excela, gdzie mamy przygotowane przykładowe dane przedstawione na rys. nr 3.

Rys. nr 3 – przykładowe dane
Rys. nr 3 – przykładowe dane

W Excelu musimy przejść do opcji. Możemy to zrobić wybierając menu Plik, a następnie polecenie Opcje (w lewym dolnym rogu ekranu (rys. nr 4).

Rys. nr 4 – polecenie Opcje
Rys. nr 4 – polecenie Opcje

Otworzy nam się okno Opcji programu Excel, gdzie przechodzimy na zakładkę Dodatki, następnie w polu Zarządzaj wybieramy z listy rozwijanej Dodatki programu Excel i zatwierdzamy wybór przyciskiem Przejdź (zaznaczone strzałką na rys. nr 5).

Rys. nr 5 – okno Opcji programu Excel
Rys. nr 5 – okno Opcji programu Excel

Otworzy nam się okno Dodatki, gdzie do Listy dostępnych dodatków chcemy dodać dodatek, do którego skopiowaliśmy wcześniej ścieżkę dostępu. Możemy to zrobić klikając przycisk Przeglądaj (rys. nr 6).

Rys. nr 6 – okno dostępnych dodatków
Rys. nr 6 – okno dostępnych dodatków

Otworzy nam się okno przeglądania, gdzie Excel zaproponuje domyślną ścieżkę do swoich dodatków Add-ins, ale my możemy wkleić w to miejsce wcześniej skopiowaną ścieżkę dostępu do naszego pobranego dodatku za pomocą skrótu klawiszowego Ctrl+V . Po wklejeniu ścieżki widzimy nasz pobrany dodatek, który możemy wybrać klikając na jego nazwę dwukrotnie (rys. nr 7).

Rys. nr 7 – pobrany dodatek w oknie przeglądania
Rys. nr 7 – pobrany dodatek w oknie przeglądania

Po wybraniu dodatku Excel go załaduje. Ponownie pojawi się okno Dodatki, gdzie na liście Dostępnych dodatków znajdziemy nasz pobrany dodatek, ponadto powinien się automatycznie zaznaczyć checkbox przy nazwie nowego dodatku (rys. nr 8).

Rys. nr 8 – Nowy dodatek na liście dostępnych dodatków Excela
Rys. nr 8 – Nowy dodatek na liście dostępnych dodatków Excela

W większości sytuacji, po tym jak zaznaczymy nasz wybrany dodatek, wystarczy kliknąć przycisk OK, aby się uruchomił. Przeważnie po uruchomieniu dodatku pojawi się na pasku dodatkowa karta związana z nowym dodatkiem (rys. nr 9).

Rys. nr 9 – nowa karta związana z uruchomionym dodatkiem
Rys. nr 9 – nowa karta związana z uruchomionym dodatkiem

Na tym etapie pokażemy jak działa ten dodatek. Mamy tabelę z listą rozwijaną, zaznaczamy dowolną komórkę z taką listą, a następnie klikamy polecenie List Search na karcie XL Campus (rys. nr 10).

Rys. nr 10 – polecenie List Search z karty XL Campus
Rys. nr 10 – polecenie List Search z karty XL Campus

Pojawi nam się nowy formularz List Search – ExcelCampus.com, który również posiada listę rozwijaną ale istotne jest to, że jak zaczniemy wpisywać jakąś nazwę to Excel ograniczy nam tą listę do nazw zawierających wpisany ciąg znaków (rys. nr 11).

Rys. nr 11 – lista rozwijana ograniczająca się do nazw zawierających wpisany ciąg znaków
Rys. nr 11 – lista rozwijana ograniczająca się do nazw zawierających wpisany ciąg znaków

Po wybraniu elementu a listy rozwijanej i zatwierdzeniu wyboru klawiszem Enter otrzymamy wybrany element w tabeli (rys. nr 12).

Rys. nr 12 – Wybrany element w tabeli
Rys. nr 12 – Wybrany element w tabeli

W dodatku tym ciekawe jest to, że nie musimy mieć stworzonej listy rozwijanej, możemy mieć po prostu wypisane elementy, aby dodatek zadziałał prawidłowo. Załóżmy, że mamy tabele z listą elementów (rys. nr 13). Ustawiamy aktywną komórkę poniżej tej listy i ponownie wybieramy polecenie List Search z karty XL Campus jak na rys. nr 10.

Rys. nr 13 - tabela z listą elementów
Rys. nr 13 — tabela z listą elementów

Pojawi nam się formularz List Search – ExcelCampus.com, który wykrywa tą listę (nie zapisaną jako lista rozwijana) co widać na rys. nr 14.

Rys. nr 14 – wykrywana lista, mimo nie zapisania w postaci listy rozwijanej
Rys. nr 14 – wykrywana lista, mimo nie zapisania w postaci listy rozwijanej

Wystarczy teraz wybrać element z listy, aby został wczytany w zaznaczoną komórkę.

Podsumowując udało nam się zainstalować dodatek do Excela Add-in, ale ma on jedną poważną wadę, mianowicie instaluje się on na danym komputerze i nie przenosi się on razem z plikiem np. przy przesyłaniu lub kopiowaniu pliku. Po otwarciu tego pliku na innym komputerze nie będzie tego dodatku i nie będzie tej karty z poleceniem List Search. W następnej poradzie pokaże jak wyciągnąć z add-in informacje, które możemy dołączyć do pliku. Możemy sobie na to pozwolić ponieważ dodatek ten jest darmowy.


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

Excel — Czy tekst zawiera cyfry — porada #378

W dzisiejszym poście nauczymy się sprawdzać dane tekstowe pod kątem tego, czy zawierają cyfry. Chodzi o to, by sprawdzić czy dany tekst (kod) zawiera cyfry. Jeśli tekst rzeczywiście zawiera cyfry, może to oznaczać, że był wydawany po określonej dacie albo dotyczy to konkretnego działu lub usługi. Zadanie to wykonamy na podstawie przykładowych danych z rys. nr 1.

Rys. nr 1 – przykładowe dane
Rys. nr 1 – przykładowe dane

W tym celu możemy użyć funkcji ZNAJDŹ, która pozwala wyszukać jeden tekst w innym lub funkcji SZUKAJ.TEKST, która działa na takiej samej zasadzie. Różnica między funkcjami polega na tym, że funkcja SZUKAJ.TEKST nie rozróżnia wielkości liter.

W naszym przykładzie wykorzystamy funkcję ZNAJDŹ, która ma krótszy zapis. Pierwszym argumentem funkcji jest szukany_tekst, czyli jakaś cyfra. Drugi argument funkcji to w_tekście, czyli komórka w jakiej chcemy znaleźć tą cyfrę (u nas komórka A2). Zapis funkcji powinien wyglądać następująco:

=ZNAJDŹ(1;A2)

Powyższą formułę zatwierdzamy i otrzymamy wynik przedstawiony na rys. nr 2.

Rys. nr 2 – wynik funkcji ZNAJDŹ
Rys. nr 2 – wynik funkcji ZNAJDŹ

Funkcja ZNAJDŹ zwróci nam numer pozycji szukaj cyfry, oczywiście pod warunkiem, że szukana cyfra pojawia się w przeszukiwanym tekście. Nas nie interesuje pojedyncza cyfra, tylko wiele cyfr. Ponadto jeśli funkcja ZNAJDŹ nie znajdzie szukanej cyfry to zwróci nam błąd argumentu — #ARG! (rys. nr 3).

Rys. nr 3 – błąd zwrócony przez funkcję ZNAJDŹ w sytuacji kiedy nie ma w tekście szukanej cyfry
Rys. nr 3 – błąd zwrócony przez funkcję ZNAJDŹ w sytuacji kiedy nie ma w tekście szukanej cyfry

Tak jak wspominaliśmy nie szukamy jednej cyfry, ale szukamy dowolnej cyfry, więc musimy stworzyć tablicę wszystkich możliwych cyfr i zapisać ją jako pierwszy argument funkcji. Ułatwieniem jest to że w funkcji wpisujemy konkretne cyfry a nie tekst. Zapis funkcji z tablicą powinien wyglądać następująco:

=ZNAJDŹ({0,1,2,3,4,5,6,7,8,9;A2)

Kolejność cyfr w zapisie nie ma znaczenia. Jeśli przy takim zapisie podejrzymy sobie wyniki funkcji w trybie edycji komórki za pomocą klawisza F9 otrzymamy tablicę wyników przedstawioną na rys. nr 4.

Rys. nr 4 – podgląd wyników funkcji ZNAJDŹ
Rys. nr 4 – podgląd wyników funkcji ZNAJDŹ

Funkcja ZNAJDŹ zwróci nam błędy w przypadku, kiedy danej cyfry nie znajdzie oraz pozycję (numer miejsca w tekście), kiedy dana cyfra wystąpi w tekście. Z podglądu wyników formuły wychodzimy za pomocą skrótu klawiszowego Ctrl+Z. Dla nas istotne jest tylko, czy cyfry zostały znalezione, a nie potrzebujemy pozycji danej cyfry.

Skorzystamy tutaj z funkcji CZY.LICZBA, która zwróci nam wartości logiczne PRAWDA i FAŁSZ. Zapis funkcji powinien wyglądać następująco:

=CZY.LICZBA(ZNAJDŹ({0,1,2,3,4,5,6,7,8,9;A2))

Kiedy podejrzymy sobie wyniki formuły w trybie edycji komórki za pomocą klawisza F9 otrzymamy tablicę wartości logicznych przedstawioną na rys. nr 5, gdzie w sytuacji kiedy cyfra zostanie znaleziona funkcja zwróci nam wartość logiczną PRAWDA, natomiast w odwrotnej sytuacji otrzymamy wartość logiczną FAŁSZ.

Rys. nr 5 – Wartości logiczne zwrócone przez funkcję CZY.LICZBA
Rys. nr 5 – Wartości logiczne zwrócone przez funkcję CZY.LICZBA

Z podglądu wyników formuły wychodzimy za pomocą skrótu klawiszowego Ctrl+Z. Wartości logiczne może być ciężko zliczyć, więc za pomocą podwójnej negacji zamieniamy tablicę wartości logicznych na tablicę wartości 0 i 1. Zapis funkcji powinien wyglądać następująco:

=–CZY.LICZBA(ZNAJDŹ({0,1,2,3,4,5,6,7,8,9;A2))

Kiedy podejrzymy sobie wyniki formuły w trybie edycji komórki za pomocą klawisza F9 otrzymamy tablicę wartości 0 i 1 przedstawioną na rys. nr 6.

Rys. nr 6 – tablica wartości 0 i 1 po zastosowaniu podwójnej negacji
Rys. nr 6 – tablica wartości 0 i 1 po zastosowaniu podwójnej negacji

Wartości logiczne FAŁSZ zostają zamienione na wartość 0, natomiast wartości logiczne PRAWDA na wartość 1. Z podglądu wyników formuły wychodzimy za pomocą skrótu klawiszowego Ctrl+Z. Na tym etapie wystarczy zsumować te wartości, korzystając z funkcji SUMA.ILOCZYNÓW. Używamy tej funkcji, aby nie trzeba było pamiętać, aby zatwierdzać naszą formułę, jako tablicową (skrót klawiszowy Ctrl+Shift+Enter). Zapis funkcji powinien wyglądać następująco:

=SUMA.ILOCZYNÓW(–CZY.LICZBA(ZNAJDŹ({0,1,2,3,4,5,6,7,8,9;A2)))

Otrzymamy wynik przedstawiony na rys. nr 7, czyli otrzymamy ilość znalezionych cyfr w tekście.

Rys. nr 7 – wynik funkcji SUMA.ILOCZYNÓW (ilość znalezionych cyfr w tekście)
Rys. nr 7 – wynik funkcji SUMA.ILOCZYNÓW (ilość znalezionych cyfr w tekście)

Po skopiowaniu formuły na wiersze poniżej otrzymamy wyniki przedstawione na rys. nr 8.

Rys. nr 8 – wyniki funkcji SUMA.ILOCZYNÓW dla całej tabeli
Rys. nr 8 – wyniki funkcji SUMA.ILOCZYNÓW dla całej tabeli

Co łatwo zauważyć w wierszu 6 pojawia się nam błąd. Wynika on z tego, że funkcja ta zwraca tylko pierwsze wystąpienie danej cyfry, więc w wierszu nr 6 mamy tylko 2 różne cyfry (0 i 1), funkcja nie bierze pod uwagę powtarzającej się cyfry 0. Podsumowując funkcja sprawdza czy w tekście jest dany znak, a nie ile razy on występuje.

Na koniec musimy zrobić test logiczny, żeby sprawdzić czy wartość otrzymana z naszej formuły jest większa od 0. Zapis powinien wyglądać następująco:

=SUMA.ILOCZYNÓW(–CZY.LICZBA(ZNAJDŹ({0,1,2,3,4,5,6,7,8,9;A2)))>0

Dzięki użyciu testu logicznego otrzymamy wartość logiczną PRAWDA dla sytuacji kiedy cyfry występują w tekście lub wartość logiczną FALSZ, kiedy cyfry nie występują (rys. nr 9).

Rys. nr 9 – sprawdzenie czy tekst zawiera cyfrę
Rys. nr 9 – sprawdzenie czy tekst zawiera cyfrę

Naszym zadaniem było sprawdzenie czy dany tekst zawiera jakąś cyfrę. Nie jest istotne ile jest tych cyfr oraz jaką cyfrę zawiera tekst.


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

Excel — N‑ta wartość spełniająca warunki — FILTRUJ i INDEKS — porada #377

W dzisiejszym poście nauczymy się jak znaleźć n‑tą wartość spełniającą warunki (kryteria). Zadanie to wykonamy na podstawie przykładowych danych z rysunku nr 1.

Rys. nr 1 – przykładowe dane
Rys. nr 1 – przykładowe dane

W wyzwaniu nr 17 pokazywaliśmy jak rozwiązać taki problem klasycznym Excelem i wtedy w ogóle nie wykorzystywaliśmy funkcji związanych z wyszukiwaniem oprócz funkcji INDEKS. Funkcje jakie zostały tam wykorzystane zostały przedstawione na rys. nr 2.

Rys. nr 2 – wyszukiwanie wartości spełniającej 2 warunki w klasycznym Excelu
Rys. nr 2 – wyszukiwanie wartości spełniającej 2 warunki w klasycznym Excelu

Próbowałem rozwiązać taki problem za pomocą rozwiązania zaproponowanego na stronie www.chandoo.org, które opierało się na wykorzystaniu funkcji X.WYSZUKAJ, ale to rozwiązanie jest zbyt skomplikowane dla przeciętnego użytkownika Excela. Rozwiązanie zostało przedstawione na rys. nr 3.

Rys. nr 3 – rozwiązanie zadania za pomocą sposobu ze strony www.chandoo.org
Rys. nr 3 – rozwiązanie zadania za pomocą sposobu ze strony www.chandoo.org

Nasze zadanie wykonamy w Excelu tablicowym, wykorzystamy tutaj funkcje FILTRUJ i INDEKS. Użyjemy najpierw funkcji FILTRUJ, która w chwili nagrywania filmu (wrzesień 2019) była dostępna tylko w programie niejawnych testów Offica (Insider). Pierwszym argumentem funkcji FILTRUJ jest tablica, czyli cała tabela z danymi od komórki A3. Tabela zawiera dużo danych więc aby ją odpowiednio i szybko zaznaczyć, musimy ustawić aktywną komórkę w komórce A3 i za pomocą skrótu klawiszowego Ctrl+Shift+strzałka w bok zaznaczyć cały wiersz, a następnie za pomocą skrótu Ctrl+Shift+strzałka w dół zaznaczyć obszar do ostatniego wiersza. W celu powrotu do komórki, gdzie wpisujemy formułę musimy użyć skrótu klawiszowego Ctrl+Backspace. Drugi argument funkcji to uwzględnienie, czyli testy logiczne sprawdzające (inaczej filtry). W naszym teście chcemy sprawdzić czy w kolumnie Województwo znajduje się to wybrane przez nas województwo (np. lódzkie). Podsumowując zaznaczamy cała kolumnę Województwo (bez nagłówka) i przyrównujemy ją do wartości, którą chcemy sprawdzić, czyli B3:B300=F5. Zapis całej formuły powinien wyglądać następująco:

=FILTRUJ(A3:D300;B3:B300=F5)

Kiedy podejrzymy sobie wynik formuły w trybie edycji komórki za pomocą klawisza F9, otrzymamy sporą tablicę wartości logicznych PRAWDA i FAŁSZ, której fragment został pokazany na rys. nr 4.

Rys. nr 4 – podgląd wyników funkcji FILTRUJ
Rys. nr 4 – podgląd wyników funkcji FILTRUJ

Z podglądu wyników formuły wychodzimy za pomocą skrótu klawiszowego Ctrl+Z. T wynikach wartości logiczne PRAWDA otrzymamy tylko dla sytuacji, kiedy w kolumnie Województwo pojawi się województwo łódzkie, natomiast wartości FAŁSZ będą wszędzie tam gdzie będzie każde inne województwo. Funkcja FILTRUJ zwróci nam tablicę danych dla każdego wystąpienia województwa łódzkiego przedstawioną na rys. nr 5.

Rys. nr 5 – tablica zwrócona przez funkcje FILTRUJ
Rys. nr 5 – tablica zwrócona przez funkcje FILTRUJ

W związku z tym, że nie mamy nałożonego odpowiedniego formatowania wyniki w pierwszej kolumnie nie przypominają dat. Wystarczy zaznaczyć kolumnę z datami i na karcie Narzędzia główne w kategorii Liczba wybrać z listy rozwijanej typ danych Data krótka jak na rys. nr 6.

Rys. nr 6 – szybkie formatowanie danych – typ Data krótka
Rys. nr 6 – szybkie formatowanie danych – typ Data krótka

Otrzymaliśmy dane spełniające jeden warunek (wybrane województwo), a nam zależy na otrzymaniu danych spełniających 2 warunki. Teraz w formule funkcji wystarczy dołożyć drugi filtr (drugie kryterium) dotyczący sprzedawcy. Ze względu na to, że operacje porównania są wykonywane w Excelu na końcu musimy zapisać je w nawiasach. Aby otrzymać drugie kryterium (oba kryteria mają być spełnione jednocześnie) musimy te dwa kryteria przemnożyć przez siebie. W drugim kryterium musimy porównać dane z kolumny Sprzedawca do określonego (wybranego przez nas) sprzedawcy, czyli zapis testu logicznego powinien wyglądać następująco: C3:C300=G5. Zapis całej formuły funkcji FILTRUJ powinien wyglądać następująco:

=FILTRUJ(A3:D300;(B3:B300=F5)*(C3:C300=G5))

Dzięki takiemu zapisowi otrzymaliśmy filtrowanie danych po 2 kryteriach przedstawione na rys. nr 7.

Rys. nr 7 – dane spełniające dwa kryteria
Rys. nr 7 – dane spełniające dwa kryteria

Otrzymaliśmy dane spełniające dwa kryteria, czyli każde wystąpienie województwa łódzkiego i sprzedawcy Kinga. Nasz nałożony filtr jest dynamiczny, mianowicie możemy zmienić sobie nazwę zarówno województwa jak i sprzedawcy rozwijając listy rozwijane w odpowiednich komórkach (rys. nr 8).

Rys. nr 8 – dynamiczny charakter nałożonego filtru
Rys. nr 8 – dynamiczny charakter nałożonego filtru

Podsumowując funkcja FILTRUJ zwraca nam tablicę danych. Naszym celem jest znalezienie n‑tej wartości spełniającej podane warunki. Załóżmy że chcemy wyciągnąć z danych 5‑ty wiersz (n=5). Możemy to zrobić za pomocą INDEKS, wystarczy, że do funkcji INDEKS włożymy tablicę którą otrzymaliśmy z funkcji FILTRUJ. Pierwszym argumentem funkcji INDEKS jest tablica, czyli tablica otrzymana za pomocą funkcji FILTRUJ. Drugi argument funkcji to nr_wiersza, czyli wartość parametru n (w naszym przykładzie wartość 5 zapisana w komórce F2). Zapis formuły powinien wyglądać następująco:

=INDEKS(FILTRUJ(A3:D300;(B3:B300=F5)*(C3:C300=G5));F2)

Po zatwierdzeniu formuły otrzymamy jeden wiersz (5‑ty wiersz) przedstawiony na rys. nr 9.

Rys. nr 9 – 5-ty wiersz zwrócony przez funkcję INDEKS
Rys. nr 9 – 5‑ty wiersz zwrócony przez funkcję INDEKS

Ze względu na to, że nas interesowała w tym przypadku tylko kwota a nie cały wiersz, możemy ograniczyć zakres tablicy w formule funkcji FILTRUJ. Wystarczy zmienić zakres danych A3:D300 na D3:D300. Zapis całej formuły powinien wyglądać następująco:

=INDEKS(FILTRUJ(D3:D300;(B3:B300=F5)*(C3:C300=G5));F2)

Po zatwierdzeniu formuły otrzymamy jeden konkretny wynik przedstawiony na rys. nr 10.

Rys. nr 10 – wynik funkcji INDEKS po zmianie zakresu w funkcji FILTRUJ
Rys. nr 10 – wynik funkcji INDEKS po zmianie zakresu w funkcji FILTRUJ

Jak łatwo zauważyć, wynik ma dziwną postać. Wystarczy zmienić formatowanie na walutowe, aby otrzymać prawidłowo pokazaną daną za pomocą skrótu klawiszowego Ctrl+Shift+4 (rys. nr 11).

Rys. nr 11 – zmiana formatowania na walutowe za pomocą skrótu klawiszowego
Rys. nr 11 – zmiana formatowania na walutowe za pomocą skrótu klawiszowego

Podsumowując w tym przykładzie nie korzystaliśmy z funkcji X.WYSZUKAJ jak w klasycznym Excelu, aby odnaleźć n‑tą wartość, dzięki temu nasza formuła jest prosta (o wiele mniej skomplikowana niż te przedstawione na rys. nr 2 i 3). Czasami praca w Excelu polega na obliczeniu jakichś wartości w najłatwiejszy sposób, nie zawsze trzeba na siłę używać skomplikowanych funkcji, które na pierwszy rzut oka wydają się oczywiste do rozwiązania danego zadania.


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