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ę.
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
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
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:
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:
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.
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 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:
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:
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.
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.
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.
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).
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ę.
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.
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:
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))
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ę.
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.
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:
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
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.
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))
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.
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".
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()
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ł:
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).
Pozdrawiam
Adam Kopeć
Miłośnik Excela
Microsoft MVP
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).
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)))
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:
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
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)
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: