Excel - kurs online - oferta dla każdego

Nie znasz dobrze obsługi Excela? A może nie znasz jej wcale? Doskonale wiem, że w dzisiejszych czasach i realiach, znajomość tego programu jest nie tylko niezbędna, ale przede wszystkim korzystna dla Ciebie samego. Moje szkolenie z Excela online pokaże Ci, że arkusz kalkulacyjny nie jest wcale Twoim wrogiem, a sprzymierzeńcem w porządkowaniu i analizie danych - nie tylko liczbowych. Stworzyłem kurs Excel online na każdym poziomie, zarówno dla osób początkujących, średniozaawansowanych, jak i zaawansowanych. Znajdziesz u mnie także szkolenie z Excela online dedykowane specjalnie przedsiębiorcom. Każdy kurs zawiera starannie wyselekcjonowany zakres wiedzy i zagadnień, które odpowiadają na ściśle sprecyzowane potrzeby jego użytkowników.


Excel - kurs online. Dlaczego warto?

Zastanawiasz się, czy Excel i kurs online to dobre połączenie? Czy taka forma nauki pracy z arkuszem kalkulacyjnym może być efektywna? Pozwól, że rozwieję Twoje wątpliwości.

Od lat z powodzeniem zajmuję się dzieleniem swoją wiedzą zdalnie. Ta forma nauki, szczególnie w ostatnim czasie, mocno zyskała na popularności, a jej techniki znacząco się rozwinęły. Abyś mógł biegle posługiwać się programem Excel, każdy swój kurs zaprojektowałem z ogromną starannością i w oparciu o zasady metodyki nauczania na odległość.

Jednak szkolenie z Excela online, to przede wszystkim ogromna wygoda dla Ciebie, ponieważ nie musisz wychodzić z domu, możesz uczyć się wraz ze mną z dowolnego miejsca i w wybranym przez siebie czasie. Dodatkowo każdy mój kurs Excela online zawiera materiały dydaktyczne dostępne dla Ciebie już po zakończeniu szkolenia. Krótkie nagrania filmowe, prezentujące różnego rodzaju działania w arkuszu kalkulacyjnym, które w dowolnej chwili możesz zatrzymać, odtworzyć ponownie, by jeszcze raz przeanalizować i utrwalić wiedzę, to doskonały sposób, by opanować Excel. Kurs online to nie tylko wygoda, to także oszczędność Twojego i mojego czasu - zamiast dojeżdżać w umówione miejsce, możemy poświęcić więcej chwil na ćwiczenia i praktykę.

Excel — Funkcja ZEZWALAJ (LET) pierwsze spojrzenie — porada 387

W tym poście omówimy funkcję ZEZWALAJ (w języku angielskim LET). Pierwszy raz o tej funkcji usłyszałem od Billa Jelena (https://www.youtube.com/watch?v=FF5jZ6mWH14).

W subskrypcji Insider mamy nową funkcję do testowania – ZEZWALAJ, która pozwala niejako na nazywanie formuł wewnątrz niej samej. Zaczniemy od prostych przykładów z równaniami matematycznymi. Dane do tego zadania zostały przedstawione na rys. nr 1.

Rys. nr 1 – dane do zadania

Pierwszym argumentem funkcji jest nazwa1, czyli w naszym przykładzie x. Co istotne, nie musimy nazwy pisać w podwójnych cudzysłowach. Drugi argument funkcji to wartość_nazwy1, czyli odwołanie do komórki z wartością argumentu X lub możemy również wartość tą wpisać na stałe ręcznie. Trzeci argument funkcji to obliczenie_lub_nazwa2, czyli np. równanie które chcielibyśmy obliczyć. Istotne jest, że nasza nazwa argumentu x jest nazwą wykorzystywaną tylko wewnątrz funkcji (rys. nr 2).

Rys. nr 2 – nazwa wykorzystywana wewnątrz funkcji

W trzecim argumencie wpisujemy proste równanie  x^2 + 2*x +3. Zapis całej formuły powinien wyglądać następująco:

=ZEZWALAJ(x;A2;x^2+2*x+3)

Po zatwierdzeniu formuły otrzymamy wynik przedstawiony na rys. nr 3.

Rys. nr 3 – wynik funkcji ZEZWALAJ
Rys. nr 3 – wynik funkcji ZEZWALAJ

Jak widać na rysunku powyżej otrzymaliśmy wynik po tym, jak Excel w miejsce każdego znaku x w równaniu wstawił wartość x=5.

Dzięki zastosowaniu funkcji ZEZWALAJ możemy budować różne równania i w łatwy sposób otrzymać gotowy wynik. Zrobimy teraz kolejny przykład. W tej formule w drugim argumencie funkcji zamiast odwołania do komórki, wpiszemy stałą wartość x (5). A równanie w trzecim argumencie zapiszemy w następujący sposób: x^3+2*x^2+3*x+2. Zapis całej formuły powinien wyglądać następująco:

=ZEZWALAJ(x;5;x^3+2*x^2+3*x+2)

Po zatwierdzeniu formuły otrzymamy wynik przedstawiony na rys. nr 4.

Rys. nr 4 – wynik funkcji ZEZWALAJ

Funkcja ZEZWALAJ pozwala nam również obliczać bardziej skomplikowane zadania np. z dwoma niewiadomymi (x i y). W pierwszym argumencie funkcji podamy wartość x, której w drugim argumencie przypiszemy wartość z komórki A8. Następnie podajemy argument nazwa2, czyli argument y i kolejny argument wartość_nazwy2 równą wartości w komórce B8. Dopiero po wpisaniu tych czterech argumentów, możemy wpisać argument obliczenie. Zapis równania w argumencie obliczenie będzie wyglądał następująco: x^2+y^2+x*y. Zapis całej formuły będzie wyglądał następująco:

=ZEZWALAJ(x;A8;y;B8; x^2+y^2+x*y)

Po zatwierdzeniu formuły otrzymamy wynik przedstawiony na rys. nr 5.

Rys. nr 5 – wynik funkcji ZEZWALAJ dla dwóch wartości

Co istotne jeśli w zapisie funkcji w argumencie wartość_nazwa1 wykorzystamy odwołanie do komórki, to funkcja będzie dynamiczna. Oznacza to, że jeśli zmienimy wartość x w komórce z odwołania to automatycznie zmieni nam się wynik. Jeśli natomiast wpiszemy konkretną wartość, nic nam się da zmiana w tabeli z danymi. 

Z funkcji ZEZWALAJ możemy korzystać nie tylko do obliczania równań. Pokażemy teraz jej inne możliwości. Zadanie to wykonamy na podstawie przykładowych danych z rys. nr 6.

Rys. nr 6 – przykładowe dane do zadania
Rys. nr 6 – przykładowe dane do zadania

Tę funkcję możemy wykorzystać tam, gdzie chcemy coś wyszukać, a funkcja WYSZUKAJ zwraca nam nie to, co chcemy pokazać użytkownikom. W przykładowych danych mamy tabelkę z produktami, w której oprócz cen mamy informację, że coś jest niedostępne, brak lub nie ma. Nie chcemy pokazywać klientowi tych informacji, tylko żeby wyświetlała się informacja np. – (myślnik). Gdybyśmy chcieli to rozwiązać za pomocą innej funkcji, użylibyśmy funkcji WYSZUKAJ.PIONOWO. Zapis funkcji wyglądałby następująco:

=WYSZUKAJ.PIONOWO(A2;$G$2:$H$9;2;0)

Jeśli funkcja WYSZUKAJ.PIONOWO zwróci nam tekst (nie ma, brak czy niedostępny, to chcemy aby wyświetlał się znak myślnika. Natomiast jeśli funkcja WYSZUKAJ.PIONOWO zwróci liczbę, to chcemy aby ta liczba się wyświetlała, czyli żeby został wynik funkcji.

W tym przykładzie nie zadziała funkcja JEŻELI.BŁĄD, bo wynik funkcji WYSZUKAJ.PIONOWO nie jest błędny, tylko dla nas nie odpowiedni. Musimy napisać funkcję JEŻELI, która będzie sprawdzała, czy wynik funkcji WYSZUKAJ.PIONOWO jest tekstem. Użyjemy tutaj funkcji CZY.TEKST.

Argumentem funkcji CZY.TEKST jest wartość, czyli sprawdzamy c k funkcji WYSZUKAJ.PIONOWO jest tekstem. Zapis funkcji CZY.TEKST powinien wyglądać następująco:

=CZY.TEKST(WYSZUKAJ.PIONOWO(A2;$G$2:$H$9;2;0))

Tak zapisaną funkcję CZY.TEKST wstawiamy w miejsce pierwszego argumentu funkcji JEŻELI (argument test_logiczny). Drugi argument funkcji JEŻELI to wartość_jeżeli_prawda, czyli wartość jaką chcemy otrzymać, jeśli warunek z testu logicznego jest spełniony. W tym argumencie wpisujemy znak myślnika w podwójnych cudzysłowach ("-"). Trzeci argument funkcji to wartość_jeżeli_fałsz, czyli wartość, jaką chcemy uzyskać, jezli test logiczny nie jest spełniony. W tym przypadku chcemy uzyskać wynik funkcji WYSZUKAJ.PIONOWO. Zapis całej formuły powinien wyglądać następująco:

=JEŻELI(CZY.TEKST(WYSZUKAJ.PIONOWO(A2;$G$2:$H$9;2;0));"-"; WYSZUKAJ.PIONOWO(A2;$G$2:$H$9;2;0))

Powyższą formułę zatwierdzamy i kopiujemy na wiersze poniżej. Otrzymamy wyniki funkcji JEŻELI przedstawione na rys. nr 7.

Rys. nr 7 – wyniki funkcji JEŻELI

ZEZWALAJ. Pierwszym argumentem funkcji jest nazwa1, czyli np. Cena. Drugi argument to wartość_nazwy1, czyli tutaj wklejamy wcześniej skopiowaną formułę funkcji WYSZUKAJ.PIONOWO za pomocą skrótu klawiszowego Ctrl+V. W argumencie obliczenie wpisujemy formułę funkcji JEŻELI, w której sprawdzamy, czy Cena jest tekstem za pomocą funkcji CZY.TEKST (argument funkcji JEŻELI – test_logiczny). W argumencie wartość_jeżeli_prawda chcemy otrzymać "-" (myślnik), natomiast w argumencie wartość_jeżeli_fałsz chcemy otrzymać wartość Cena. Zapis całej formuły powinien wyglądać następująco:

=ZEZWALAJ(Cena; WYSZUKAJ.PIONOWO(A2;$G$2:$H$9;2;0); JEŻELI (CZY.TEKST(Cena; "-";Cena))

Powyższą formułę zatwierdzamy i kopiujemy na wiersze poniżej. Otrzymamy wyniki, lecz w formie zaokrąglonej. Musimy zmienić formatowanie ogólne danych na formatowanie walutowe za pomocą skrótu klawiszowego Ctrl+Shift+4. Otrzymamy wyniki funkcji ZEZWALAJ przedstawione na rys. nr 8.

Rys. nr 8 – wyniki funkcji ZEZWALAJ

Teraz zajmiemy się ostatnim przykładem, który przygotowałem, na wykorzystanie funkcji ZEZWALAJ. Przykładowe dane do tego przykładu zostały przedstawione na rys. nr 9.

Rys. nr 9 – przykładowe dane do zadania

W tych danych mamy wykorzystaną funkcję tablicową FILTRUJ, która wyciąga przefiltrowane dane po sprzedawcy. Wykorzystujemy tutaj również funkcję CZY.PUSTA. W tym zadaniu chodzi o to, aby puste komórki zastąpić znakiem myślnik. Sama funkcja FILTRUJ w miejsce pustych komórek zwraca wartość 0 (zero). A my nie chcemy pokazywać wartości zero, chcemy ją zastąpić.

W tym celu wykonujemy analogiczny test logiczny jak w przykładzie powyżej (za pomocą funkcji JEŻELI). W pierwszym argumencie funkcji zapisujemy test_logiczny, sprawdzający czy funkcja zwróci nam wartość 0. Jeśli warunek jest spełniony, chcemy otrzymać znak myślnik (argument wartość_jeżeli_prawda). Jeśli warunek nie jest spełniony chcemy otrzymać wyniki funkcji FILTRUJ (argument wartość_jeżeli_fałsz). Zapis formuły powinien wyglądać następująco:

=JEŻELI(CZY.PUSTA(FILTRUJ(B1:C25;A1:A25=F2));"-"; FILTRUJ(B1:C25;A1:A25=F2)) Po zatwierdzeniu formuły otrzymamy wyniki przedstawione na rys. 

Rys. nr 10 – wyniki funkcji JEŻELI z użyciem funkcji FILTRUJ

Analogicznie możemy wykonać to zadanie za pomocą funkcji ZEZWALAJ. W niej zagnieździmy funkcję FILTRUJ, w której możemy nazwać wynik funkcji – Filtr. Dzięki temu w argumencie obliczenie mamy uproszczoną formułę i będzie ona bardziej zrozumiała dla osób, które będą korzystały z naszych obliczeń. Zapis formuły powinien wyglądać następująco:

=ZEZWALAJ(Filtr; FILTRUJ(B1:C25;A1:A25=F2);JEŻELI(CZY.PUSTA(Filtr);"-";Filtr)

Po zatwierdzeniu formuły otrzymamy wyniki przedstawione na rys. nr 11.

Rys. nr 11 – wyniki funkcji ZEZWALAJ

Prawdziwa potęga funkcji ZEZWALAJ pojawia się przy bardzo skomplikowanych formułach (jak to pokazywał Bill Jelen). Dane do tego zadania zostały przedstawione na rys. nr 12.

Rys. nr 12 – przykładowe dane

Mamy tutaj do czynienia z bardzo skomplikowaną formułą, wykorzystującą wiele funkcji (rys. nr 13).

Rys. nr 13 – formuła z użyciem funkcji ZEZWALAJ

Pracując nad tą skomplikowaną formułą, skróciłem odwołanie do zakresu nazywając go tb. Zapis formuły bez wykorzystania funkcji ZEZWALAJ jest dużo dłuższy co widać na rys. nr 14.

Rys. nr 14 – zapis formuły bez użycia funkcji ZEZWALAJ.

Zapis ten ma długość 4 linijek i wykorzystuje wiele różnych funkcji. Dzięki użyciu funkcji ZEZWALAJ udało się go skrócić do trzech niepełnych linijek. Zrobiłem małe podsumowanie. Mianowicie zapis funkcji JEŻELI jest wykorzystany 6 razy, a zapis funkcji WIERSZ, która zwraca numer wiersza wykorzystana została 2 razy (rys. nr 15).

Rys. nr 15 – ilość razów wykorzystania fragmentu formuły

Podsumowując, wykorzystywanie funkcji ZEZWALAJ pozwala w znacznym stopniu skracać skomplikowane formuły.


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 Usuwanie ulic z adresów porada #369

W dzisiejszym poście nauczymy się jak poprawić dane, a konkretnie usuwać ulice z adresów. W przykładowych danych mamy podane nazwy miast i ulic, chcemy usunąć nazwy ulic, a zostawić tylko nazwy miast (rys. nr 1).

rys. nr 1 — Przykładowe dane

W naszych danych mamy też błędy, brakuje spacji pomiędzy danymi, nie mamy też identycznie rozpoczynających się nazw, bo raz jest ulica raz aleja albo plac.

Zaczniemy od tego że chcemy znaleźć ulicę, czyli użyjemy funkcji ZNAJDŹ. Jako pierwszy argument Szukany_tekst wpiszemy "ul.". Drugi argument to miejsce gdzie szukamy tego tekstu, czyli komórka A2. Formuła będzie wyglądać następująco:

=ZNAJDŹ("ul.";A2)

Zatwierdzamy formułę i kopiujemy na wiersze poniżej. Funkcja ta zadziała prawidłowo, ale tylko dla sytuacji kiedy mamy w adresie "ul." Co widać na rysunku nr 2.

rys. nr 2 — Działanie funkcji ZNAJDŹ

Liczba 8 oznacza że "ul." Pojawia nam się w danym wierszu na miejscu ósmego znaku. Kiedy mamy w adresach plac lub aleje albo nie mamy żadnej nazwy ulicy to funkcja zwraca nam błąd #ARG! Innymi oznaczeniami zajmiemy się później, najpierw poprawimy przypadki gdzie mamy do czynienia ze skrótem "ul.".

W naszym przykładzie w pierwszym wierszu mamy "ul." dopiero na 8 znaku, ale między nazwą miasta a ulicy jest jeszcze spacja. Dałoby się ją usunąć gdyby nie przypadki, gdzie w naszych danych brakuje odstępu między nazwą miasta a ulicy. Czyli usuwając wszystko za nazwą "ul." trafimy na spację lub nie za ostatnią literę nazwy miasta.

Do naszej funkcji ZNAJDŹ musimy dołożyć funkcję do wyciągania tekstu LEWY. Zapis formuły będzie wyglądał następująco:

=LEWY(A2; ZNAJDŹ("ul.";A2)-1)

Z tekstu w komórce A2 chcemy wyciągnąć tyle znaków ile znalazła funkcja ZNAJDŹ minus 1, czyli o jeden wcześniej niż się zaczyna "ul.". Zatwierdzamy Ctrl+Enter i kopiujemy formułę (rys. nr 3).

rys. nr 3 — Działanie funkcji LEWY

Musimy pamiętać, że za częścią nazw miast jest jeszcze spacja, aby ją usunąć musimy skorzystać z kolejnej funkcji USUŃ.ZBĘDNE.ODSTĘPY. Zapis formuły będzie wyglądał następująco:

= USUŃ.ZBĘDNE.ODSTĘPY(LEWY(A2; ZNAJDŹ("ul.";A2)-1)))

Funkcja USUŃ.ZBĘDNE.ODSTĘPY usunie spację, która została, między nazwami miast a skrótami ul., natomiast jeśli spacji nie będzie nie usunie nic – i tak otrzymamy prawidłowy wynik jak na rysunku nr 4.

rys. nr 4 — Działanie funkcji USUŃ.ZBĘDNE

Mamy wyciągnięte miasta z ulicą w adresie, a my chcemy pozbyć się też nazw placów czy też alei. Użyjemy tutaj funkcji JEŻELI.BŁĄD, która w przypadku kiedy wartość formuły dla ulic zwróciła nam błąd, zwróci nam tekst pełnego adresu. Zapis funkcji będzie wyglądał następująco:

=JEŻELI.BŁĄD(USUŃ.ZBĘDNE.ODSTĘPY(LEWY(A2; ZNAJDŹ("ul.";A2)-1)));A2)

Zatwierdzamy formułę Ctrl+Enter i otrzymamy wyniki pokazane na rysunku nr 5.

rys. nr 5 — Działanie funkcji JEŻELI.BŁĄD

W sytuacji gdzie mieliśmy błąd, mamy teraz powtórzone adresy. Teraz możemy napisać analogiczne formuły dla sytuacji ze skrótami "pl." oraz "al.". Możemy też poradzić sobie w inny sposób przy założeniu, że chcemy się pozbyć tych dodatkowych danych, usunąć je i do nich nie wracać. Zaznaczamy całą kolumnę z tymi danymi i wciskamy skrót klawiszowy Ctrl+H. Otworzy nam się okno Znajdowanie i zamienianie, w którym wpisujemy, żeby Excel zamienił nam każdy skrót pl. na ul. Następnie wciskamy polecenie Zamień wszystko – punkt 3 na rysunku nr 6.

rys. nr 6 — Znajdowanie i zamienianie

Pojawi nam się komunikat (rys. nr 7). Skróty zostaną zamienione i kiedy to się stanie zadziała nam formuła dla skrótu ul.

rys. nr 7 Komunikat Excela

Psujemy nasze dane zamieniając w danych adresy z placów na ulice, ale zakładamy że te dane nie będą nam później potrzebne i że taką operację wykonujemy tylko raz. Analogicznie postępujemy dla nazw alei w adresach i otrzymujemy same nazwy miast, bo kolejny raz po zmianie nazw zadziała nam formuła dla ulic (rys. nr 8).

rys. nr 8 — Wynik usunięcia nazw ulic

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

Lista plików z katalogu za pomocą funkcji makr 4.0 — porada #305

Przed nami niezwykle trudne zadanie – potrzebujemy zrobić w Excelu listę wszystkich plików ze wskazanego katalogu. Spokojnie nie będzie, aż tak źle. Nawet nie użyjemy VBA, a przynajmniej nie zajrzymy do edytora VBA i nie będziemy tworzyć, żadnych nowych makr.

Porada 305 - Lista plików z katalogu za pomocą funkcji makr 4.0 - 01

Rys. 1 — Lista plików z katalogu

Technika, na wypisanie wszystkich plików ze wskazanego katalogu, jaką chcę Ci przedstawić opiera się na funkcjach makr 4.0.
Informacja o nich trafiła do mnie w przeciągu miesiąca z dwóch źródeł.
1) Ze strony https://www.myonlinetraininghub.com/, z której dostałem olbrzymi plik o funkcjach makr 4.0
2) Oraz ze strony https://trumpexcel.com/ gdzie był opisany przedstawiony problem wypisania wszystkich plików ze wskazanego folderu:

Na podstawie tego problemu chcę Ci przybliżyć sposób działania funkcji makr 4.0 i opowiedzieć o trudnościach, z nimi związanymi, jakie czekają polskiego użytkownika Excela (i innych nie angielskich narodowości). 

Pierwsza trudność jest taka, że nie możesz ich wpisać bezpośrednio w komórki Excela. Może znasz funkcję DATA.RÓŻNICA, której Excel nie podpowiada, że istnieje, ale jak wpiszesz ją w komórkę Excela to ona działa. Funkcje makr 4.0 nie działają w komórkach arkusza Excela.

Żeby z nich skorzystać, chyba najprostszym sposobem, jest stworzenie na ich podstawie nazwy (Menadżer nazw karta dane).

Porada 305 - Lista plików z katalogu za pomocą funkcji makr 4.0 - 02

Rys. 2 — Menadżer nazw

Przy tworzeniu tej nazwy pojawia się kolejny problem, bo ciężko znaleźć nazwę tych funkcji po polsku (ogólnie w innym języku niż angielski). Źródła, które podałem na początku podają potrzebną nam funkcję w języku angielskim – nazywa się FILES. Ale jeśli spróbujemy z niej skorzystać polski Excel jej nie rozpozna. Potrzebujemy jej nazwę po polsku. W wielu przypadkach zadziała bezpośrednie tłumaczenie – tak mi się udało znaleźć polski odpowiednik dla tej funkcji – PLIKI. O innych sposobach pomówimy na koniec wpisu. Teraz zajmiemy się rozwiązaniem postawionego problemu.

Wiemy już jak funkcja nazywa się po polsku (PLIKI), ale nie znamy jej składni. Excel nam jej nie podpowie. Na szczęście składnia tej funkcji jest prosta – wystarczy, że podasz pełną ścieżkę do katalogu, z którego chcesz uzyskać listę plików (pamiętaj na jej końcu dodać gwiazdkę, która oznacza, że bierzemy wszystko):

C:\Users\PC\Documents\Pliki\*

Ścieżkę do katalogu najlepiej, żebyś wstawił do komórki Excela, a dopiero w funkcji makr 4.0 PLIKI się do niej odwoływał. Ułatwi Ci to jej modyfikację.

Porada 305 - Lista plików z katalogu za pomocą funkcji makr 4.0 - 03

rys. 3 – Wstawiona ścieżka do komórki A2

Czasami może być ciężko odnaleźć dokładną ścieżkę katalogu, bo nie widać jej na pierwszy rzut oka, ale wystarczy, że w ekspoatora Windowsa i klikniesz na jego górę, gdzie widać ścieżkę w formie bardziej graficznej.

Porada 305 - Lista plików z katalogu za pomocą funkcji makr 4.0 - 04

rys. 4 – eksplorator windows i kopiowanie ścieżki

Wyświetli Ci się wtedy pełna ścieżka (nawet jeśli jesteś w swoich dokumentach) i będziesz mógł ją łatwo skopiować.
Mamy ścieżkę, mamy nazwę funkcji, więc możemy ją w końcu stworzyć w Menadżerze nazw (Ctrl + F3). Naciskamy przycisk nowy i przechodzimy do okna tworzenia nazwy:

Porada 305 - Lista plików z katalogu za pomocą funkcji makr 4.0 - 05

rys. 5 – nowa nazwa

Jak stworzyliśmy nazwę możemy się do niej odwoływać w komórkach Excela. Ponieważ funkcja PLIKI zwraca listę, więc nie możemy jej bezpośrednio wstawić do komórki Excela, bo zobaczymy tylko pierwszą wartość (pierwszy plik) z listy. Na szczęście wystarczy skorzystać z funkcji INDEKS, której będziemy mówić, który element z listy ma wyświetlać. Najczęściej w podobnych sytuacjach korzystam z funkcji ILE.WIERSZY i dynamicznego zakresu danych, który się rozrasta jak przeciągamy formułę:

=INDEKS(WszystkiePliki;ILE.WIERSZY($A$4:A4))

Porada 305 - Lista plików z katalogu za pomocą funkcji makr 4.0 - 06

rys. 6 – Lista plików za pomocą funkcji

Jeśli przeciągniemy formułę wystarczająco daleko w dół zaczną się pojawiąć błędy adresu – #ADR!, ponieważ nie ma już elementów na liście. Najprościej sobie z tym poradzić wstawiając naszą formułę do funkcji JEŻELI.BŁĄD, które karzemy zwracać pusty ciąg znaków (dwa podwójne cudzysłowy), jeśli wyjdziemy poza listę.

=JEŻELI.BŁĄD(INDEKS(WszystkiePliki;ILE.WIERSZY($A$4:A4));"")

Porada 305 - Lista plików z katalogu za pomocą funkcji makr 4.0 - 07

rys. 7 – jeżeli.błąd

Możemy nawet policzyć ilość pliku w katalogu (w stworzonej przez nas nazwie) np. za pomocą funkcji ILE.NIEPUSTYCH:

=ILE.NIEPUSTYCH(WszystkiePliki)

Udało nam się rozwiązać postawione na początku zadanie i dochodzimy do zapisywania pliku. Pojawia się kolejny problem — funkcje makr 4.0, to jednak makra i skoroszyt je zawierający musi być zapisany w formacie, który obsługuje makra.

Porada 305 - Lista plików z katalogu za pomocą funkcji makr 4.0 - 08

rys. 8 – błąd przy zapisywaniu pliku z funkcjami makr 4.0

Na koniec wpisu warto wspomnieć, że przy funkcji PLIKI działają proste filtry, a dokładniej symbole wieloznaczne. Musieliśmy napisać na końcu ścieżki gwiazdkę (rys. 3), żeby pobrać wszystkie pliki. W podobny sposób możemy ograniczyć wybór plików z katalogu tylko do plików Excela ustawiając końcówkę:

C:\Users\PC\Documents\Pliki\*.xls*

Końcówka (*.xls*) oznacza, że nazwa pliku może zaczynać się od dowolnego ciągu znaków, po którym pojawia się ciąg tekstu ‘.xls’, a za nim może się jest coś pojawić, ale nie musi (symbol wieloznaczny gwiazdka oznacza dowolny ciąg tekstowy – nawet pusty). Efekty tak nałożonego filtru widać od razu w wynikach:

Porada 305 - Lista plików z katalogu za pomocą funkcji makr 4.0 - 09

rys. 9 – przefiltrowane pliki

Drugim, oprócz gwiazdki, symbolem wieloznacznym w Excelu jest znak zapytania ‘?’ – zastępuje on dowolny pojedynczy znak.
Mieliśmy problem z odnalezieniem nazwy funkcji makr 4.0 po polsku, ale mamy źródła, które podają te nazwy po angielsku. Wystarczy, że zmienimy język w Excelu na angielski (Menu Plik -> Opcje -> zakładka Język), zapiszemy plik z angielską nazwą pliku, a następnie zmienimy język Excela na polski i ponownie otworzymy plik – teraz już z polską nazwą funkcji.
Dodanie nowego języka do Excela różni się w zależności od wersji Excela, którą masz, dlatego podaję link do strony Microsoftu dokładnie opisujący proces w zależności od Twojej wersji Excela.

Pozdrawiam
Adam Kopeć
Miłośnik Excela
Microsoft MVP

Wykres lejkowy w komórkach arkusza — porada #303

Oglądając film z kanału YT Goodly o wykresie lejkowym, który formatuje się warunkowo w zależności od komórki danych, w którą klikniemy stwierdziłem, że też chcę stworzyć taki wykres, ale prościej 😉 Przede wszystkim mój lejek miał się znajdować w komórkach Excela, a nie na wykresie. Pomogły mi informacje, jakie zdobyłem tworząc kurs o wizualizacji i Dashboaradach w Excelu. Uzyskałem taki efekt.

WykresLejkowyWKomórkach 01

Oczywiście powyższy wykres podświetla na czerwono wiersz, w który klikniemy. Jak uzyskać taki efekt? 

Przede wszystkim musimy stworzyć poziomy „lejka” w komórkach. Robimy to za pomocą odpowiedniej formuły i zmiany czcionki.
Zaczniemy od formuły – potrzebujemy powtórzyć pewną ilość razy znak pionowej kreski "|". Robimy to za pomocą funkcji POWT.

Musimy tylko tak dopasować ilość powtórzeń, żeby każdy kolejny poziom lejka miał odpowiednią szerokość, czyli normalizujemy liczbę powtórzeń. Załóżmy, że maksymalnie chcemy powtórzyć 60 razy znak "|" – dla najwyższego poziomu. Każdy kolejny poziom ma mieć proporcjonalnie mniej znaków. Czyli wystarczy, że wartość z aktualnego poziomu podzielimy przez maksymalną wartość ze wszystkich poziomów (domyślnie przez wartość z najwyższego/pierwszego poziomu). Oczywiście musimy jeszcze przemnożyć przez 60:

=POWT("|";B4*60/MAX($B$4:$B$8))

WykresLejkowyWKomórkach 02

Zwróć uwagę, że czcionka formuły wygląda nietypowo. To dlatego, że standardowa czcionka by się tutaj nie sprawdziła – byłyby za duże odstępy pomiędzy poszczególnymi pionowymi liniami. Dlatego w przykładzie wykorzystana jest czcionka Haettenschweiler (możesz m.in. skorzystać też z czcionek: Britannic Bold, Nyala, Playbill, Stencil)

Mamy paski, ale nie przypominają one lejka. Rozwiązanie jest proste – wystarczy wyrównać tekst do środka.

Zanim zaczniemy malować wiersze dołóżmy jeszcze proste formuły, które będą obliczały procentowy spadek do pierwszego i poprzedniego kroku. Są one bardzo podobne:

=1‑B5/$B$4 i =1‑B5/B4

Różnica polega tylko na tym czy w pierwszej formule zablokujemy bezwzględnie odwołanie do komórki B4 czy nie.

WykresLejkowyWKomórkach 03

Teraz możemy zająć się krokami potrzebnymi do tego, żeby nasz mały Dashboard formatował się na czerwono, gdy klikniemy w komórkę danego wiersza. Niestety będziemy potrzebowali skorzystać z kodu VBA. Na szczęście to bardzo prosty fragment kodu, który musimy umieścić w module arkusza, na którym znajduje się nasz „lejek”.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A1").Value = ActiveCell.Row
End Sub

Powyższy kod VBA uruchamia się za każdym razem, gdy zmienimy zaznaczenie na arkuszu i wstawia do komórki A1 numer wiersza aktywnej komórki.

Może Ci się wydawać, że kod ten nie działa na załączonym pliku, ale wynika to tylko z zastosowanej sztuczki – zmianie formatowania liczbowego komórki A1.

Jeśli zaznaczysz komórkę A1 i naciśniesz skrót Ctrl + 1 zobaczysz, że liczby w komórce zostały sformatowane niestandardowo tak, żeby zawsze pokazywać tekst "Lejek sprzedażowy w komórkach".

WykresLejkowyWKomórkach 04

Bazując na wartości w komórce A1 tworzymy formatowanie warunkowe (na zakresie naszego lejka – A4:E8) korzystające z formuły:

=$A$1=WIERSZ()

WykresLejkowyWKomórkach 05
Formuła jest bardzo prosta sprawdza czy aktualny wiersz komórki jest równy wartości przechowywanej w komórce A1 jeśli tak, to nakłada formatowanie. I już gotowe — główne zadanie zostało zrealizowane – lejek zmienia kolor.

My jednak chcemy dołożyć jeszcze parę dodatkowym informacji na naszym mini Dashboardzie. Chcemy podawać liczbę klientów straconych do pierwszego i poprzedniego kroku. 

Najczęściej podobne informacje podaje się w polach tekstowych – najpierw w jakiejś odległej (niewidocznej na dashboardzie) komórce wykonuje obliczenia, a potem wstawie pole tekstowe i wpisuje się w pasku formuły, że równa się ono komórce z formułą (nie można wpisać formuły bezpośrednio do pola tekstowego). 

W naszym przykładzie robimy ciut inną rzecz – w komórce D2 mamy już jedną z potrzebnych formuł:

=JEŻELI.BŁĄD(INDEKS($B$4:$B$8;A1‑4)-INDEKS($B$4:$B$8;A1‑3);0)

Formuła do komórki B2:

=JEŻELI.BŁĄD(B4-INDEKS($B$4:$B$8;A1‑3);0)

ale dodatkowo pod nią (a niejako w niej) znajduje się pole tekstowe z tekstem. Komórce zmieniliśmy kolor czcionki na czerwoną i wyrównaliśmy tekst do góry, a w polu tekstowym zostawiliśmy domyślny kolor czcionki. 

W tym przykładzie wygląda to w miarę OK, ale korzystanie z komórki ogranicza położenie wyświetlanych wartości, dlatego częściej stosuje się pole tekstowe, które odwołuje się do komórki z odpowiednią formułą/obliczeniem oraz drugiego pola tekstowego, które funkcjonuje jako podpis.

Na koniec jeszcze jedna czynność często wykorzystywana przy Dashboardach – wyłączanie linii siatki (pole wyboru na karcie Widok).

WykresLejkowyWKomórkach 06

Pozdrawiam
Adam Kopeć
Miłośnik Excela
Microsoft MVP

Jak wyciągnąć wszystkie cyfry z tekstu POŁĄCZ TEKSTY — porada #295

Przed nami ciężkie zadanie wyciągnięcia wszystkich cyfr. Okazuje się ono dużo prostsze jeśli w Twojej wersji Excel 2016 (lub 365) masz zainstalowany już update z funkcją POŁĄCZ.TEKSTY i ZŁĄCZ.TEKST (ważne! bez Y na końcu, bo ZŁĄCZ.TEKSTY działa inaczej).

Porada 295 - Jak wyciągnąć wszystkie cyfry z tekstu 01

Jeśli masz te funkcję to czytaj dalej. Jeśli nie to zajrzyj do następnej porady (296).

Żeby wyciągnąć wszystkie cyfry musimy wyciągnąć każdy znak i sprawdzić, czy jest on cyfrą/liczbą. Możemy to zrobić za pomocą funkcji FRAGMENT.TEKSTU, która wyciąga z testu fragment od wskazanego numeru znaków o wskazanej długości. W tym przykładzie będziemy chcieli wyciągać pojedyncze znaki, czyli długość tekstu = 1. Większym problemem jest to, że potrzebujemy wyciągnąć każdy pojedynczy znak, czyli najpierw wyciągamy pierwszy znak, potem drugi itd, czyli potrzebujemy tablicy znaków, która liczy od 1 do ilości znaków w tekście, który analizujemy.

Żeby to zrobić skorzystamy ze sztuczki, którą znajdziesz w internecie – wykorzystując funkcję ADR.POŚR odwołamy się od wiersza 1 do długości ciągu tekstowego:

=ADR.POŚR("1:"&DŁ(A2))

Tylko to dużo więcej niż potrzebujemy. Nam wystarczą tylko numery wierszy, czyli wstawiamy powyższą formułę do funkcji WIERSZ.

=WIERSZ(ADR.POŚR("1:"&DŁ(A2)))

Porada 295 - Jak wyciągnąć wszystkie cyfry z tekstu 02

Właśnie zbudowaliśmy tablicę numerującą znaki do funkcji FRAGMENT.TEKSTU.

{1;2;3;4;5;6;7;8;9;10;11;12;13;14}

Wystarczy ją tylko w niej umieścić pamiętając, że zawsze wyciągamy pojedyncze znaki:

=FRAGMENT.TEKSTU(A2;WIERSZ(ADR.POŚR("1:"&DŁ(A2)));1)

Porada 295 - Jak wyciągnąć wszystkie cyfry z tekstu 03

Uzyskamy dzięki temu tekst rozłożony na pojedyncze znaki (tablicę znaków):

{"5";" ";"S";"u";"k";"i";"e";"n";"k";"a";" ";"1";"0";"0"}

Tylko poważnym problemem jest to, że funkcja FRAGMENT.TEKSTU wszystkie znaki zwraca jako tekst (są w podwójnych cudzysłowach). Na szczęście dowolna operacja matematyczna na liczbie zapisanej jako tekst zamienia ją ponownie na „prawdziwą” liczbę ? Skorzystamy z tutaj podwójnej negacji, czyli dwóch znaków minus przed funkcją. Wynikiem tego będzie tablica liczb i błędów

{5;#ARG!;#ARG!;#ARG!;#ARG!;#ARG!;#ARG!;#ARG!;#ARG!;#ARG!;#ARG!;1;0;0}

Na szczęście jest nam to na rękę ponieważ nam zależy tylko na liczbach, a tam gdzie pojawił się błąd nie chcemy nic wyświetlać, więc wystarczy, że wstawimy naszą formułę do funkcji JEŻELI.BŁĄD, która zamiast błędów będzie zwracała pusty ciąg tekstowy (dwa podwójne cudzysłowy)

=JEŻELI.BŁĄD(–FRAGMENT.TEKSTU(A2;WIERSZ(ADR.POŚR("1:"&DŁ(A2)));1);"")

Porada 295 - Jak wyciągnąć wszystkie cyfry z tekstu 04

Teraz formułą zwraca tablicę cyfr i pustych ciągów znaków, 

{5;"";"";"";"";"";"";"";"";"";"";1;0;0}

którą możemy łatwo połączyć za pomocą funkcji ZŁĄCZ.TEKST (przypominam bez Y na końcu) lub POŁĄCZ.TEKSTY jeśli zależy nam, żeby rozdzielać cyfry konkretnym ogranicznikiem, a nie bezpośrednio łączyć je ze sobą, ale w większości sytuacji chcemy je bezpośrednio łączyć, więc formuła będzie wyglądać tak:

=ZŁĄCZ.TEKST(JEŻELI.BŁĄD(–FRAGMENT.TEKSTU(A2;WIERSZ(ADR.POŚR("1:"&DŁ(A2)));1);""))

Porada 295 - Jak wyciągnąć wszystkie cyfry z tekstu 05

Musimy tylko pamiętać, że jest to formuła tablicowa i musimy ją zatwierdzić kombinacją klawiszy Ctrl + Shift + Enter.

Przykład dla funkcji POŁĄCZ.TEKSTY z przecinkiem jako ogranicznikiem i pomijaniem pustych wartości (wartość logiczna PRAWDA) wygląda tak:

=POŁĄCZ.TEKSTY(",";PRAWDA;JEŻELI.BŁĄD(–FRAGMENT.TEKSTU(A2;WIERSZ(ADR.POŚR("1:"&DŁ(A2)));1);""))

Porada 295 - Jak wyciągnąć wszystkie cyfry z tekstu 06

Pozdrawiam
Adam Kopeć
Miłośnik Excela
Microsoft MVP (Excel)