W dzisiejszym poście zajmiemy się tematem powtarzania kodów
kreskowych bądź innych wartości w kolejnych wierszach. Omówimy rozwiązanie tego
zagadnienia w Power Query na podstawie przykładowych danych źródłowych z
rysunku nr 1.
rys. nr 1 — Przykładowe dane
Podczas jednej z moich konsultacji online pojawił się problem
– potrzeba, aby powtarzać kodu kreskowe kilka razy pod rząd w kolejnych
wierszach. Można to zrobić za pomocą VBA, ale tutaj omówimy rozwiązanie w Power
Query. W naszych danych źródłowych kody kreskowe zapisane są w postaci ciągów
cyfr, w drugiej kolumnie mamy podaną ilość powtórzeń danego kodu.
Aby wczytać dane do Power Query wybieramy polecenie Z tabeli
z karty Dane (rys. nr 2).
rys. nr 2 — Z tabeli
Otworzy nam się Edytor zapytań z wczytaną tabelą tKody (rys.
nr 3). W Ustawieniach zapytania usuwamy krok Zmieniono typ z Zastosowanych
kroków, ponieważ jest zbędny. Musimy zmienić typ danych ręcznie.
rys. nr 3 — Edytor zapytań
Nasz kod kreskowy jest zmieniony na liczby, a my chcemy by
był traktowany jako tekst, ponieważ funkcja z jakiej będziemy korzystać w Power
Query radzi sobie z tekstem, natomiast z liczbami nie (trzeba by dokonywać
konwersji). Klikamy na ikonkę ABC123 z boku nazwy tytułu kolumny Kod kreskowy i
z podręcznego menu wybieramy polecenie Tekst (rys. nr 4).
rys. nr 4 — Polecenie Tekst
W kolejnym kroku musimy dodać kolumnę za pomocą polecenie
Kolumna niestandardowa (punkt nr 2 na rysunku nr 5) z karty Dodaj kolumnę.
rys. nr 5 — Kolumna niestandardowa
Otworzy nam się okno Kolumny niestandardowej, gdzie będziemy
korzystać z funkcji. Zmieniamy nazwę kolumny na Powt, a następnie w polu
Formuła kolumny niestandardowej wpisujemy formułę funkcji dla tej kolumny. Do
zapisania formuły użyjemy kolumn z pola Dostępne kolumny (oznaczone strzałkami
na rysunku nr 6). Zapis formuły będzie wyglądał następująco:
Tak wpisane parametry kolumny niestandardowej zatwierdzamy
przyciskiem OK.
rys. nr 6 — Tworzenie kolumny niestandardowej
Otrzymamy dane przedstawione na rysunku nr 7.
rys. nr 7 — dane z nową kolumną
Dane te mają widoczne od razu niedociągnięcie, mianowicie
poszczególne kody nie są od siebie niczym oddzielone. W naszym przykładzie kody
kreskowe mają po 5 znaków, ale nie każde kody są jednakowe. Musimy wprowadzić
modyfikacje w naszą kolumnę niestandardową. Klikamy na ikonkę koła zębatego
obok nazwy kroku Dodano kolumnę niestandardową w Zastosowanych krokach. Otworzy
nam się po raz kolejny okno Kolumny niestandardowej (rys. nr 8), gdzie musimy
zmienić naszą formułę funkcji i wstawić rozdzielenie kodów za pomocą jakiegoś
symbolu (w naszym przykładzie @, bo lubię małpki ?). Zapis formuły będzie wyglądał następująco:
Otrzymamy dane przedstawione na rysunku nr 9, gdzie kody
zostały rozdzielone symbolem @.
rys. nr 9 — Dane z kodami rozdzielonymi znakiem @
Symbole te posłużą nam do rozdzielenia kolumn. Rozwijamy
polecenia Podziel kolumny (punkt nr 2 na rysunku nr 10) z karty Narzędzia
główne i wybieramy polecenie Według ogranicznika (punkt nr 3 na rysunku nr 10).
rys. nr 10 — Podziel kolumny
Otworzy nam się okno Dzielenia kolumny według ogranicznika (rys. nr 11), gdzie Power Query rozpozna nasz ogranicznik. Musimy rozwinąć sobie Opcje zaawansowane, ponieważ chcemy zrobić podział na Wiersze (zaznaczone zielonym prostokątem na rysunku nr 11) , a nie kolumny, czyli podział ma być w dół danych (zaznaczone zieloną strzałką na rysunku nr 11) a nie w bok.
rys. nr 11 _ dzielenie kolumny według ogranicznika
Wprowadzone parametry podziały kolumny zatwierdzamy
przyciskiem OK. i otrzymamy dane przedstawione na rysunku nr 12.
rys. nr 12 — Wydzielone kolumny
Usuwamy krok Zmieniono typ1 z Zastosowanych kroków i
otrzymamy dane przedstawione na rysunku nr 13.
rys. nr 13 — Dane
W danych tych odfiltrujemy puste komórki, czyli klikamy
ikonkę trójkąta przy nazwie kolumny Powt i w podręcznym menu odznaczamy
checkbox przy nazwie Puste (rys. nr 14).
rys. nr 14 — Odfiltrowanie pustych
Nasz filtr zatwierdzamy przyciskiem OK i otrzymamy dane
przedstawione na rysunku nr 15, które możemy wczytać do Excela.
rys. nr 15 — Odfiltrowane dane
Tak naprawdę nie potrzebujemy aż trzech kolumn, ponieważ mamy
te same dane w kolumnie pierwszej i trzeciej (Kod kreskowy i Powt). Wystarczy
nam jedna kolumna z powtórzonymi kodami. Zaznaczamy kolumnę Powt i klikamy na jej
tytuł prawym przyciskiem myszy, z podręcznego menu wybieramy polecenie Usuń
inne kolumny (rys. nr 16).
rys. nr 16 — Usuń inne kolumny
Tak przygotowane dane możemy załadować do Excela. Wybieramy
polecenie Zamknij i załaduj do z karty Narzędzia główne (rys. nr 17).
rys. nr 17 — zamknij i załaduj do
Otworzy nam się okno Ładowania do, gdzie wybieramy sposób
wyświetlania danych jako Tabela, a następnie określamy miejsce wstawienia
danych jako Istniejący arkusz i wskazujemy konkretną komórkę w tym arkuszu
(rys. nr 18). Tak ustawione parametry wstawienia danych zatwierdzamy
przyciskiem Załaduj.
rys. nr 18 — Okno ładowania do
Otrzymamy dane załadowane do Excela przedstawione na rysunku
nr 19.
rys. nr 19 — Dane w Excelu
Mamy obliczoną dodatkowo ilość wszystkich powtórzeń – 88
sztuk. Taką samą ilość pokazuje nam zapytanie tKody w Zapytaniach dotyczących
arkusza (oznaczone zielonymi strzałkami na rysunku nr 20).
rys. 20 — Ilość powtórzeń
Możemy sprawdzić działanie zapytania zmieniając dane w tabeli
z danymi źródłowymi. Wystarczy odświeżyć dane z zapytania aby otrzymać aktualne
wyniki.
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.
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.
W
dzisiejszym poście omówimy temat rozrastającej się listy rozwijanej z
unikatowymi wartościami w
Power Query. Rozwiązanie tego zadania w Excelu przedstawione zostało w poradzie
nr 322 https://exceliadam.pl/?s=porada+322
. W danych źródłowych mamy już
listę rozwijaną a naszym zadaniem jest dodanie do niej kolejnych elementów,
chcemy dopisać do listy nowe osoby. Dane, na których omówimy to zagadnienie
zostały przedstawione na rysunku nr 1.
rys. nr 1 — Przykładowe dane
Rozwiążemy takie zadanie nie korzystając z formuł, ale przy użyciu Power Query – dodatku do Excela. Pierwszym krokiem jest zaczytanie danych do Power Query. Wybieramy polecenie Z tabeli z karty Dane (rys. nr 2).
rys. nr 2 — Z tabeli
Otworzy
nam się edytor zapytań z wczytaną tabelą tSprzedawcy.
rys. nr 3 — Edytor zapytań
Usuwamy krok Zmieniono typ z zastosowanych kroków, bo jest on zbędny.
Następnie odfiltrowujemy kolumnę Sprzedawca po wartościach null, czyli klikamy
na ikonkę trójkąta w nazwie kolumny Sprzedawca i w podręcznym menu ozdnaczamy
checkbox przy wartości null (rys. nr 4). Nasz filtr zatwierdzamy przyciskiem
OK.
rys. nr 4 — Odfiltruj dane po wartości null
W kolejnym kroku usuwamy inne kolumny, czyli klikamy prawym przyciskiem
myszy na tytuł kolumny Sprzedawca i z podręcznego menu wybieramy polecenie Usuń
inne kolumny (rys. nr 5).
rys. nr 5 — Usuń inne kolumny
Otrzymamy dane przedstawione na rysunku nr 6.
rys. nr 6
Interesuje nas tylko kolumna Sprzedawca. Chcemy mieć unikatową listę
sprzedawców, więc rozwijamy polecenie Usuń wiersze (punkt nr 2 na rysunku nr 7)
z karty Narzędzia główne, a następnie wybieramy polecenie Usuń duplikaty (punkt
nr 3 na rysunku nr 7).
rys. nr 7 — Usuń duplikaty
Tak przygotowaną listę danych możemy załadować do Excela. W tym celu
rozwijamy polecenie Zamknij i załaduj (punkt nr 2 na rysunku nr 8) z karty
Narzędzia główne, a następnie wybieramy polecenie Zamknij i załaduj do (punkt
nr 3 na rysunku nr 8).
rys. nr 8 — Zamknij i załaduj do
Otworzy nam się okno Ładowania do, gdzie wybieramy sposób wyświetlania
danych jako Tabela, a nastepnie określamy lokalizaję wstawienia danych –
Istaniejący arkusz i wskazujemy konkretną komórkę. Tak ustawione parametry
zatwierdzamy przyciskiem Załaduj (rys. nr 9).
rys. nr 9 — Okno Ładowania do
Otrzymamy dane wczytane do Excela przedstawione na rysunku nr 10.
rys. nr 10 — Dane wczytane do Excela
Zaznaczamy zakres danych w tabeli z zapytania z Power Query a następnie w
polu obok paska formuły zmieniamy nazwę tego zakresu na Sprzedawcy (pole
oznaczone zieloną strzałką na rysunku nr 11).
rys. nr 11 — Zmiana nazwy zakresu
W kolejnym etapie zaznaczamy zakres w tabeli z danymi źródłowymi i
wybieramy polecenie Poprawność danych (punkr nr 2 na rysunku nr 12) z karty Dane.
rys. nr 12 — Poprawność danych
Otworzy nam się okno Sprawdzania poprawności danych, gdzie w karcie
Ustawienia (rys. nr 13) ustalamy Kryteria poprawności danych i podajemy źródło
danych (klawisz F3) – wcześniej nazwany zakres Sprzedawcy z tabeli zaczytanej z
Power Query. W karcie Komunikat wejściowy odznaczamy checkbox przy opcji
Pokazuj komunikat wejściowy przy wyborze komórki. W karcie Alert o błędzie
odznaczamy checkbox przy opcji Pokazuj alerty po wprowadzeniu nieprawidłowych
danych. Nie chcemy informacji o błędnie wpisanych danych ponieważ chcemy
dopisywać nowe osoby do listy sprzedawców. Tak ustawione parametry zatwierdzamy
przyciskiem OK.
rys. nr 13 — Użycie klawisza F3
Teraz możemy sobie dopisać sprzedawcę w
tabeli z danymi źródłowymi, ale nie ma jej na liście rozwijanej w tej tabeli co
przedstawia rysunek nr 14.
rys. nr 14 — Lista rozwijana
Wynika to z podstawowej wady Power Query –
nie odświeża się automatycznie. Musimy kliknąc prawym przyciskiem myszy na
dowolną komórkę w zakresie Sprzedawcy i z podręcznego menu wybrać polecenie
Odśwież (rys. nr 15).
rys. nr 15 — Odśwież
Po odświeżeniu danych z Power Query dodany sprzedawca będzie widoczny na liście
rozwijanej (rys. nr 16).
rys. nr 16
Istnieje możliwość ustawienia automatycznego odświeżania
danych za pomocą kodu VBA. Korzystając ze skrótu klawiszowego Alt+F11 możemy
przejść do okna Edytora VBA. Jest tam wcześniej przygotowany kod (rys. nr 17).
rys. nr 17 — Alt+F4 przejście do VBA
W arkuszu (Arkusz4 (PQ31)- punkt nr 1 na rysunku nr 18), w
którym mamy te listy , musimy dopisać kod VBA. Kod ten będzie działał tylko w
momencie, kiedy w naszym arkuszu (Worksheet – punkt nr 2 na rysunku nr 18))
dokona się zmiana (Change – Punkt nr 3 na rysunku nr 18). W sytuacji zmiany w
kolumnie A, chcemy aby odpalił się kod VBA i sprawdził czy zmieniane komórki
miały część wspólną z kolumną A. Konkretnie sprawdzamy czy zakres który był
zmieniany ma część wspólną z kolumną która nas interesuje. Jeśli zmiana
nastąpiła w kolumnie A, to nastąpi automatyczne odświeżenie danych w tabeli z
Power Query.
rys. nr 18 — Edytor VBA
Zapisujemy nasz kod za pomocą skrótu klawiszowego Ctrl+S.
Przechodzimy do Excela i możemy sprawdzić działanie kodu VBA. Dopisujemy
kolejnego sprzedawcę (Agnieszka) do danych źródłowych i dane automatycznie się
odświeżą i nasz nowy sprzedawca zostanie dodany do listy rozwijanej, co widać
na rysunku nr 19.
rys. nr 19 — Dane z kodem z VBA
Podsumowując rozrastającą się listę rozwijaną z unikatowymi
wartościami robi się prościej za pomocą Power Query, ale niestety nie jest
automatyczna i musimy pamiętać o odświeżaniu danych. Jedynym sposobem na
zautomatyzowanie jest dodanie kodu VBA, ale to już temat dla bardziej
zaawansowanych użytkowników Excela.
Możemy również zarejestrować makro odświeżania danych w
karcie Deweloper, wybierając polecenie Rejestruj makro (punkt nr 2 na rysunku
nr 20).
rys. nr 20 — Zarejestruj makro
Otworzy się okno Rejestrowania makra, gdzie wpisujemy nazwę
makra i zatwierdzamy przyciskiem OK (rys. nr 21).
rys. nr 21 — Okno rejestrowania makra
Następnie klikamy prawym przyciskiem myszy na dowolną komórkę
z zakresu zapytania z Power Query i z podręcznego menu wybieramy polecenie
Odśwież (rys. nr 22).
rys. nr 22 — Odśwież
Następnie klikamy polecenie Zatrzymaj rejestrowanie (punkt nr
2 na rysunku nr 23) z karty Deweloper.
rys. nr 23 — zatrzymaj rejestrowanie makra
Teraz w VBA mamy dostępny nowy Moduł, odpowiadający
odświeżeniu danych (zaznaczony zieloną strzałką na rysunku nr 24).
rys. nr 24 — Nowy moduł
Dzięki stworzeniu takiego makra mamy automatycznie
rozrastającą się listę rozwijaną.
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.
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.
W dzisiejszym poście nauczymy jak w Power Query znaleźć pary
produktów, które wystąpiły razem w danych. Nie ma znaczenia czy będziemy
bazować na Id produktu czy na jego nazwie. Załóżmy, że mamy listę zakupów z
produktami oznaczonymi numerami Id. Ręczne wyszukiwanie par jest pracochłonne i
męczące. Rozwiązanie tego problemu omówimy na podstawie przykładowych danych
przedstawionych na rysunku nr 1.
rys. nr 1 — Przykładowe dane
W pierwszym kroku musimy wczytać nasze dane do Power Query, w
tym celu wybieramy polecenie Z tabeli (punkt nr 2 na rysunku nr 2) z karty Dane.
rys. nr 2 — Z tabeli
Otworzy nam się Edytor zapytań z wczytaną tabelą tIdProduktu.
W polu Zastosowane kroki usuwamy krok Zmiana typu, ponieważ nie jest nam
potrzebny. Otrzymamy dane przedstawione na rysunku nr 3.
rys. nr 3 — edytor zapytań
W kolejnym etapie musimy zduplikować tą kolumnę. Wybieramy
polecenie Duplikuj kolumnę (punkt nr 2 na rysunku nr 4) z karty Dodaj kolumnę.
rys. nr 4 — duplikuj kolumnę
Następnie dokładamy jeszcze kolumnę z indeksem, żebyśmy
widzieli które to były zakupy. Wybieramy polecenie Kolumna indeksu (punkt nr 2
na rysunku nr 5) a następnie od 01 (punkt nr 3 na rysunku nr 5) z karty Dodaj
kolumnę.
rys.. nr 5 — Dodaj kolumnę indeksu
Aby w Power Query znaleźć pary produktów musimy podzielić
dane po ogranicznikach a następnie odpowiednie dane połączyć. Wybieramy
polecenie Podziel kolumny (punkt nr 2 na rysunku nr 6) z karty Narzędzia
główne, a następnie polecenie Według ogranicznika (punkt nr 3 na rysunku nr 6).
rys. nr 6 — Podziel kolumny według ogranicznika
Otworzy nam się okno Dzielenia kolumny według ogranicznika,
gdzie musimy określić parametry tego dzielenia. W polu Wybierz lub wprowadź
ogranicznik wybieramy Niestandardowy (punkt nr 1 na rysunku nr 7), a następnie
wpisujemy użyty u nas ogranicznik, czyli przecinek i spacja. W opcji Podziel
przy wybieramy checkbox przy Każdym wystąpieniu ogranicznika (punkt nr 2 na
rysunku nr 7). Natomiast w Opcjach zaawansowanych Podziel na (punkt nr 3 na
rysunku nr 7) zaznaczamy checkbox przy Wierszach. Tak dobrane ustawienia
zatwierdzamy przyciskiem OK.
rys. nr 7 — Dzielenie kolumny według ogranicznika
Otrzymamy dane, których fragment został przedstawiony na
rysunku nr 8.
rys. nr 8 Podzielone dane
Power Query przy okazji dzielenia kolumny zamienił nam dane
na liczby. Nie ma to większego znaczenia. Analogicznie postępujemy dla drugiej
kolumny (kopii pierwszej). Wybieramy polecenie Podziel kolumny, a następnie
według ogranicznika z karty Narzędzia główne (jak na rysunku nr 6). Pojawi się
nam okno Dzielenia kolumny według ogranicznika, w której ustawiamy takie same
parametry jak dla pierwszej kolumny (jak na rysunku nr 7) i wybrane parametry
zatwierdzamy klikając przycisk OK. Otrzymamy dane przedstawione na rysunku nr 9.
rys. nr 9 — takie same wartości w dwóch kolumnach
W danych tych pojawia się problem – mamy zduplikowane pary
(zaznaczone na rysunku nr 9 zielonym prostokątem). Można łatwo rozwiązać ten
problem, ponieważ interesuje nas sytuacja, kiedy danej z kolumny pierwszej są
mniejsze od danych z kolumny drugiej. Wystarczy dodać kolumnę warunkową z karty
Dodaj kolumnę (rys. nr 10)
rys. nr 10 — Dodaj kolumnę warunkową
Otworzy nam się okno Dodawania kolumny warunkowej, gdzie
musimy określić Nazwę kolumny – Pary (punkt nr 1 na rysunku nr 11), Następnie
wypełnić warunek w punkcie 2 na rysunku nr 11. Ważne jest, że jeśli warunek
zostanie spełniony to chcemy otrzymać wartość z pierwszej kolumny, natomiast
jeśli nie zostanie spełniony chcemy otrzymać wartość null (punkt nr 3 na
rysunku nr 11). Tak dobrane parametry kolumny warunkowej zatwierdzamy
przyciskiem OK.
rys. nr 11 — okno dodawania kolumny warunkowej
Konkretnie chcemy otrzymać wartość z pierwszej kolumny tylko
wtedy kiedy wartość z pierwszej kolumny jest mniejsza od wartości z drugiej
kolumny. Otrzymamy dane przedstawione na rysunku nr 12. Nie jest to jeszcze
wynik docelowy, bo chcemy otrzymać parę, ale ważne jest, że para pokazuje się
dla jednej sytuacji w pierwszym zakupie.
rys. nr 12 — Dane z kolumną warunkową
Aby otrzymać jako wynik parę, musimy wprowadzić zmiany w zapisie formuły w pasku formuły. Dołożyć z ogranicznikiem wartość z kolumny drugiej. Zapis formuły został przedstawiony na rysunku nr 13 (zieloną strzałką zaznaczono wprowadzoną zmianę). Wprowadzoną zmianę zatwierdzamy przyciskiem Enter.
rys. nr 13 — zapis formuły
W wyniku otrzymamy błąd ponieważ nasze dane zostały zmienione
na liczby. Aby obejść ten problem musielibyśmy użyć funkcji Number.ToText. My
użyjemy łatwiejszego sposobu – z zastosowanych kroków usuniemy krok zmiany typu
danych z tekstu na liczby – Zmieniono typ i Zmieniono typ1 (rys. nr 14).
rys. nr 14 — usunięcie kroków
Otrzymamy wtedy prawidłowe dane przedstawione na rysunku nr 15.
rys. nr 15 — Dane w formie tekstowej
Pozostaje nam pogrupować te produkty po ilości, użyjemy do
tego polecenia Grupowanie według (punkt nr 2 na rysunku nr 16) z karty
Narzędzia główne.
rys. nr 16 — Grupowanie według
Otworzy się nam okno Grupowania według, w którym musimy
określić nazwę nowej kolumny i rodzaj operacji jaką chcemy wykonać. Wybrane
parametry zatwierdzamy przyciskiem OK (rys. nr 17).
rys. nr 17 — Okno Grupowania według
Otrzymamy dane przedstawione na rysunku nr 18.
rys. nr 18 — pogrupowane dane
W danych tych wiele razy powtórzyła nam się wartość null,
więc wystarczy przefiltrować dane, żeby odfiltrować wyniki dla null. Klikamy na
ikonkę trójkącika w nazwie kolumny Pary i odznaczamy w filtrach null (rys. nr 19).
rys. nr 19 — Odfiltrowanie danych dla null
W kolejnym etapie chcemy posortować dane malejąco w obu
kolumnach. Korzystamy z podręcznego menu po naciśnięciu ikonki trójkącika w
tytule kolumn, gdzie wybieramy polecenie Sortuj malejąco (rys. nr 20).
rys. nr 20 — Sortuj malejąco
Otrzymamy końcowe dane, które możemy załadować do Excela.
Korzystamy z polecenia Zamknij i załaduj do z karty Narzędzia główne (rys. nr 21).
rys. nr 21 — Zamknij i załaduj do
W Excelu otworzy nam się okno Ładowania do, gdzie ustawiamy
parametry wstawianych danych. Sposób wyświetlania danych jako tabela i miejsce
wstawienia danych jako istniejący arkusz i wskazujemy konkretną komórkę.
Powyższe parametry zatwierdzamy przyciskiem Załaduj (rys. nr 22).
rys. nr 22 — Okno Ładowanie do
Otrzymamy dane wstawione do Excela przedstawione na rysunku
nr 23.
rys. nr 23 — dane wczytane do Excela
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.
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.
W dzisiejszym poście nauczymy się jak połączyć listy osób
zapisanych na różne kursy za pomocą Power Query – dodatku do Excela. W
przykładowych danych do tego zagadnienia przedstawionych na rysunku nr 1 mamy
podane trzy listy adresów mailowych związanych z różnymi kursami. Naszym
zadaniem jest połączenie tych list i stworzenie skumulowanej tabeli z adresami
mailowymi z zaznaczonymi kursami, na jaki właściciel danego maila się zapisał.
rys. nr 1 — Przykładowe dane
Nasze zadanie ma również na celu to, żeby konkretna osoba
która zapisała się na wszystkie trzy kursy w naszej tabeli występowała jeden
raz (np. Andrzej@gazeta.pl zapisał
się na trzy kursy).
Pierwszym krokiem jest zaczytanie naszych danych bazowych, w
tym celu zaznaczamy dowolną komórkę w pierwszej tabeli i wybieramy polecenie Z
tabeli (punkt nr 2 na rysunku nr 2) z karty Dane. Ułatwieniem tutaj jest, że
tabele wejściowe zostały nazwane Tabela1, Tabela2 i Tabela3.
rys. nr 2 — Z tabeli
Otworzy nam się Edytor zapytań z wczytaną tabelą Tabela1
(rys. nr 3). Z Zastosowanych kroków (Ustawienia zapytania) usuwamy krok
Zmieniono typ, ponieważ jest on niepotrzebny.
rys. nr 3 — Edytor zapytań
Pozostałe tabele możemy wczytać w łatwy sposób, wystarczy że
zduplikujemy sobie Zapytanie. Klikamy prawym przyciskiem myszy na nazwę
Zapytanie1 i z podręcznego menu wybieramy polecenie Duplikuj (rys. nr 4).
Czynność tę powtarzamy dwa razy ponieważ potrzebujemy trzech tabel.
rys. nr 4 — Duplikuj zapytanie
Zaznaczamy sobie zapytanie Tabela1 (2) i w pasku formuły
zmieniamy nazwę Tabela1 na Tabela2 (oznaczone zieloną strzałką na rysunku nr
5). Wprowadzoną zmianę zatwierdzamy przyciskiem Enter.
rys. nr 5 — Zmiany w pasku formuły
Otrzymamy zapytanie Tabela1 (2) z wczytaną drugą tabelą z
danymi (osoby zapisane na kurs Dashboardy) przedstawione na rysunku nr 6. Po
raz kolejny usuwamy niepotrzebny krok Zmieniono typ z Zastosowanych kroków.
rys. nr 6 — Połączone zapytania
Analogicznie wygląda sytuacja dla trzeciego zapytania.
Klikamy na nazwę zapytania Tabela1 (3) i w pasku formuły zmieniamy
nazwę Tabela1 na Tabela3. Wprowadzoną zmianę zatwierdzamy przyciskiem Enter.
Otrzymamy trzecie zapytanie z wczytanymi danymi z tabeli numer 3
przedstawionymi na rysunku nr 7. Po raz kolejny usuwamy niepotrzebny krok
Zmieniono typ z Zastosowanych kroków.
rys. nr 7 — Dane z trzech tabel
Kolejnym krokiem jest zmiana nazwy zapytań nr 2 i 3 we
Właściwościach w panelu bocznym z Ustawieniami zapytania (oznaczone zieloną
strzałką na rysunku nr 8).
rys. nr 8 — Zmiana nazwy zapytania
Kiedy już mamy zaczytane wszystkie trzy tabele, możemy je
połączyć. Rozwijamy polecenie Połącz (punkt nr 2 na rysunku nr 9) z karty
Narzędzia główne i wybieramy polecenie Dołącz zapytania (punkt nr 3 na rysunku
nr 9).
rys. nr 9 — Dołącz zapytania
Pojawi nam się okno Dołączanie, gdzie zaznaczamy checkbox
przy opcji Co najmniej trzy tabele (punkt nr 1 na rysunku nr 10). Następnie
dodajemy Tabelę2 i Tabelę3 z pola Dostępne tabele do pola Tabele do dołączenia
za pomocą przycisku Dodaj (punkt nr 2 na rysunku nr 10). Dołączone tabele
zatwierdzamy przyciskiem OK.
rys. nr 10 — Okno Dołączania zapytań
Otrzymamy jedną tabelę ze skumulowanymi danymi ze wszystkich
trzech tabel (rys. nr 11).
rys. nr 11 — Skumulowane dane
Mimo że dane zostały dołączone to nadal osoby które zapisały
się na większą ilość kursów są wyświetlane osobno, a nam chodzi o to by takie
osoby wyświetlane były w tabeli tylko raz. W tym celu musimy anulować
przestawienie innych kolumn poza kolumną Mail. Klikamy prawym przyciskiem myszy
na tytuł kolumny Mail i z podręcznego menu wybieramy polecenie Anuluj
przestawienie innych kolumn (rys. nr 12).
rys. nr 12 — Anuluj przestawienie innych kolumn
Otrzymamy dane przedstawione na rysunku nr 13, gdzie stworzą
nam się nowe kolumny. Kolumna Atrybuty będzie zawierała nazwy kolumn, natomiast
kolumna Wartość będzie zawierała wartości jakie były przypisane do odpowiednich
adresów mailowych w tych kolumnach.
rys. nr 13 — Dane z nowymi kolumnami
Najważniejszy efekt działania tego polecenia to pozbycie się
z danych wartości null. W kolejnym etapie musimy przekształcić jedną z tych
kolumn (Atrybuty bądź Wartość), zrobimy operację odwrotną. Z karty Przekształć
wybieramy polecenie Kolumna przestawna (punkt nr 2 na rysunku nr 14).
rys. nr 14 — Kolumna przestawna
Otworzy nam się okno Tabeli przestawnej, gdzie stworzymy nowe
kolumny przy użyciu kolumny Atrybyt, czyli powstaną kolumny z nazwami VBA,
Dashboardy i Excel (rys. nr 15). Odpowiednio w każdej z tych kolumn będzie
wpisana wartość z kolumny Wartość (punkt nr 1 na rysunku nr 15). Ponadto musimy
wybrać w Opcjach zaawansowanych wybieramy w jaki sposób będą agregowane nasze
dane – Nie agreguj (punkt nr 2 na rysunku nr 15). Wybrane parametry
zatwierdzamy przyciskiem OK.
rys. nr 15 — Okno kolumny przestawnej
Otrzymamy dane przedstawione na rysunku nr 16, gdzie mamy już
skumulowane dane. Przykładowo właściciel maila Andrzej@gazeta.pl występuje tylko raz na
liście mimo że zapisał się aż na trzy kursy.
rys. nr 16 — Skumulowane dane
Tak przygotowane dane możemy załadować do Excela za pomocą
polecenia Zamknij i załaduj (punkt nr 2 na rysunku nr 17) z karty Narzędzia
główne.
rys. nr 17 Zamknij i załaduj
Ponieważ jednocześnie pobieraliśmy dane z trzech tabel, to
utworzyło nam się w Excelu tylko połączenie. Dane te będą widoczne w panelu
bocznym Zapytania. Gdyby nie były widoczne należy wybrać polecenie Pokaż
zapytania z karty Dane (rys. nr 18).
rys. nr 19 — Pokaż zapytania
Interesuje nas zapytanie Tabela1, bo to w tym zapytaniu
połączyliśmy wszystkie dane (rys. nr 19).
rys. nr 19 — Zapytanie Tabela1
Klikamy prawym przyciskiem myszy na nazwę zapytania Tabela1 i
z podręcznego menu wybieramy polecenie Załaduj do (rys. nr 20).
rys. nr 20 — Załaduj do
Otworzy nam się okno Ładowania do, gdzie wybieramy sposób
przedstawienia załadowanych danych jako Tabela, a następnie lokalizację tych
danych jako Istniejący arkusz i wskazujemy konkretną komórkę (rys. nr 21).
Powyższe parametry zatwierdzamy przyciskiem Załaduj.
rys. nr 21 — Okno Ładowanie do
Otrzymamy dane załadowane do Excela przedstawione na rysunku
nr 22.
rys. nr 22 — Dane w Excelu
Przy tworzeniu danych został zrobiony błąd, którego nie
zauważyliśmy. W Excelu w oknie Zapytania dotyczące skoroszytu jest on
wyszczególniony (rys. nr 23).
rys. nr 23 — Błąd w zapytaniu
Po kliknięciu na ten błąd, otworzy nam się edytor zapytań z
wczytanym błędem w zapytaniu Tabela1 (rys. nr 24).
rys. nr 24 — Edytor zapytań z błędem
W panelu bocznym Ustawienia zapytania klikamy na Źródło w
Zastosowanych krokach. Mamy podany numer wiersza w którym był błąd, więc możemy
go łatwo znaleźć. Kiedy klikniemy na ten wiersz wyświetli nam się pod tabelą
informacja o tym błędzie (rys. nr 25).
rys. nr 25 — Informacja o błędzie
Błąd ten dotyczy maila Sebastian@yahoo.com, który wystąpił w danych
źródłowych dwa razy (dla tego samego kursu) co widać na rysunku nr 26.
rys. nr 26 — Miejsce błędu
Musimy poprawić te dane W Excelu i usunąć powtarzający się
adres mailowy, następnie klikamy prawym przyciskiem myszy na dowolną komórkę w
danych z zapytania i z podręcznego menu wybieramy polecenie Odśwież (rys. nr 27).
rys. nr 27 — Odśwież
Otrzymamy prawidłowe dane przedstawione na rysunku nr 28.
rys. nr 28 — Prawidłowe dane
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.
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.
W dzisiejszym poście omówimy różnice pomiędzy poleceniami
Usuń inne kolumny a Usuń wybrane kolumny w Power Query. Tak naprawdę będą to
różnice pomiędzy funkcjami, które kryją się pod tymi poleceniami, czyli
odpowiednio Table.RemoveColumns oraz Table.SelectColumns. Zagadnienie to
omówimy na podstawie przykładowych danych z rysunku nr 1.
rys. nr 1 — Przykładowe dane
Aby obrazowo wyjaśnić temat – chodzi o to, że mamy za dużo kolumn z danymi i po prostu część z nich chcemy usunąć lub chcemy usunąć wszystkie oprócz zaznaczonych. Mamy tabelę danych w Excelu, zaznaczamy w jej obszarze dowolną komórkę, a następnie wybieramy polecenie Z tabeli (punkt nr 2 na rysunku nr 2) z karty Dane.
rys. nr 2 — Z tabeli
Otworzy nam się edytor zapytań w Power Query z wczytaną
tabelą tSprzedaż (rys. nr 3).
rys. nr 3 — Edytor zapytań
Przede wszystkim, aby dane dobrze się prezentowały musimy
zmienić format danych z kolumny Data. Klikamy na ikonkę po lewej stronie nazwy
kolumny Data a następnie z podręcznego menu wybieramy polecenie Data (rys. nr 4).
rys. nr 4 — Zmiana typu wyświetlania danych
Wyświetli się nam komunikat dotyczący zmiany typu kolumny, w
którym musimy zatwierdzić zmianę klikając przycisk Zamień bieżącą (rys. nr 5).
rys. nr 5 — Komunikat o zmianie typu kolumny
Zakładamy, że w naszym przypadku interesują nas trzy kolumny:
Data, Sprzedawca i Zysk. Zaznaczamy pozostałe kolumny (od kolumny Region do
kolumny KWS) i klikamy prawym przyciskiem myszy na nagłówek dowolnej kolumny z
tych zaznaczonych i z podręcznego menu wybieramy polecenie Usuń kolumny (rys.
nr 6)
rys. nr 6 — Usuń kolumny
Otrzymamy interesujące nas kolumny (rys. nr 7). W pasku
formuły pokaże się nam funkcja Table.RemoveColumns odpowiadająca poleceniu Usuń
kolumny.
rys. nr 7 funkcja Table.RemoveColumns
Jeśli nie mamy widocznego paska formuły możemy to łatwo
zmienić, klikając checkbox przy poleceniu Pasek formuły na karcie Widok
(zaznaczone na rysunku nr 8).
rys. nr 8 — Pasek formuły
Na pasku formuły dla funkcji Table.RemoveColumns w formule
mamy wypisane nazwy kolumn, które usunęliśmy (rys. nr 9).
rys. nr 9 — Argumenty funkcji Table.RemoveColumns
W Power Query w formułach funkcji są podawane nazwy kolumn. Wystarczy, że nazwa kolumny ulegnie zmianie i pojawiają się błędy.
Możemy usunąć ostatni krok z Zastosowanych kroków, aby wrócić do danych wejściowych. Na danych wejściowych pokażemy bowiem drugie polecenie, które moim zdaniem lepiej się sprawdza, czyli polecenie Usuń inne kolumny. Zaznaczamy kolumny, które nas interesują (które chcemy zostawić). Zaznaczamy w pierwszej kolejności kolumnę Sprzedawca, następnie przytrzymując klawisz Ctrl Kolumnę Data i Zysk. Klikamy na tytuł którejś z tych zaznaczonych kolumn i z podręcznego menu wybieramy polecenie Usuń inne kolumny (rys. nr 10).
rys. nr 10 — Usuń inne kolumny
Po użyciu tego polecenia zostały usunięte kolumny, które nie
były zaznaczone (rys. nr 11).
rys. nr 11 — Dane po usunięciu kolumn
W pasku formuły pojawi się zapis funkcji Table.SelectColumns, w której mamy wypisane nazwy kolumn, które nas interesują (rys. nr 12). Przy tej funkcji nie interesuje nas, że ktoś dołoży kolejną kolumnę do danych wejściowych. Nowa kolumna nie zostanie tutaj uwzględniona i nasze końcowe dane się nie zmienią.
rys. nr 12 — Zapis funkcji Table.SelectColumns
Bez względu na zmianę w danych wejściowych ilość
wyświetlanych kolumn się nie zmieni. Kolejnym plusem jest to, że kolumny są wyświetlane
w takiej kolejności w jakiej je zaznaczyliśmy przed użyciem polecenia Usuń inne
kolumny. Możemy również ręcznie zmienić kolejność wyświetlania kolumn w kodzie
w pasku formuły.
W Power Query, jeśli znamy nazwę interesującej nas funkcji i
wpiszemy ją w pasku formuły a następnie zatwierdzimy przyciskiem Enter, to
wyświetlą nam się informacje o tej funkcji z oficjalnej strony Microsoftu (rys.
nr 13).
Możemy się tutaj dowiedzieć, że funkcja ta posiada dodatkowy
parametr missingField, który może przyjąć jedną z trzech wartości. Będzie się
wyświetlał błąd jeśli podaliśmy złą nazwę kolumny lub zignoruje ten brak albo
wypełni je wartościami null. Poniżej mamy także podane przykłady działania tej
funkcji.
Zrobimy przykład, w którym dopiszemy do formuły
MissingField.UseNull i zmienimy nazwy kolumn Data i Zysk na Data2 i Zysk2,
czyli na takie które nie występują w danych. Power Query wypełni je wartościami
null (rys. nr 14).
rys. nr 14 — Dane wypełnione wartościami null
Jeśli do zapisu formuły użyjemy MissingField.Ignore to
zostanie nam tylko kolumna ze Sprzedawcami. Jeśli nie podamy tego parametru, to
Power Query domyślnie wybierze wyświetlenie błędu (rys. nr 15).
rys. nr 15 — Domyślny komunikat jeśli nie podamy parametru MissingField
Ja wole funkcje Table.SelectColumns czyli usunięcie innych
kolumn a pozostawienie tych, które są mi potrzebne. Przede wszystkim dlatego,
że dodawanie innych kolumn nie wpłynie na wynik tej funkcji. Łatwiej jest
korzystać z tych domyślnych opcji na pasku narzędzi niż z kodu w pasku formuły,
ponieważ przy słabej znajomości języka M w Power Query możemy nie wiedzieć jak
wpisać poszczególne parametry danej funkcji.
Wynik tej funkcji z rysunku nr 11 możemy sobie załadować do
Excela za pomocą polecenia Zamknij i załaduj z karty Narzędzia główne (rys. nr 16).
rys. nr 16 — Zamknij i załaduj
Otrzymamy dane wczytane do Excela przedstawione na rysunku nr 17.
rys. nr 17 — Dane wczytane do Excela
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.
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.