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 tym poście nauczymy się jak w rozlewającej się formule dołożyć dodatkowe obliczenia podsumowania danych. Odcinek bazuje na formule od Billa Szysza (rys. nr 1).
Rys. nr 1 – formuła Billa Szysza
Powyższą formułę przetłumaczyłem na język polski, żeby ułatwić jej zrozumienie (rys. nr 2).
Rys. nr 2 – formuła przetłumaczona na język polski
Mamy przykład, w którym wyciągamy konkretną liczbę ostatnich elementów, u nas 5. Ponadto jest dopisana formuła pozwalająca na dodatkowe obliczenia na tych danych, takie jak suma, średnia, min i max. Przede wszystkim możemy wybrać sobie jakie podsumowania nas interesują (fragmentator). Jak widać na rys. nr 2 formuła jest długa, mimo wykorzystania nowej funkcji ZEZWALAJ. Wykorzystujemy tutaj takie funkcje jak: TRANSPONUJ, LICZBA.KOLUMN, INDEKS, JEŻELI, SEKWENCJA, ILE.WIERSZY, SUMA, WYBIERZ, ŚREDNIA, MIN, MAX, MOD, NIE, CZY.BŁĄD, FILTRUJ, CZY.LICZBA, PODAJ.POZYCJĘ.
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 tym poście poznamy wszystko, co musicie wiedzieć o funkcji ILE.LICZB, aby jej swobodnie używać i mieć pewność, że zwraca nam poprawne wyniki. Temat ten omówimy na podstawie przykładowych danych z rys. nr 1.
Rys. nr 1 – przykładowe dane
Wydawało by się, że to prosta funkcja do obliczania ilości konkretnych liczb w komórkach, ale w Excelu z różnymi liczbami zdarzają się problemy. Na przykład jeśli zapiszemy liczbę z kropką (.), to Excel nie rozpozna tej liczby i potraktuje ją jako tekst. Prawidłowy zapis liczb w polskim Excelu używa przecinka do oddzielenia miejsc dziesiętnych (,). Jeśli za pomocą funkcji PODSTAW zamienimy w tej liczbie kropkę na przecinek, to Excel zapisze tę liczbę prawidłowo, ale nadal będzie traktował ją jako tekst (rys. nr 2). To, że Excel rozpoznaje liczbę jako tekst możemy łatwo rozpoznać, ponieważ wyrównuje ją do lewej strony komórki.
Rys. nr 2 – zamiana kropki na przecinek przy użyciu funkcji PODSTAW
Jeśli zapiszemy funkcję ILE.LICZB dla tego zakresu, nie zwróci ona żadnej wartości (rys. nr 3). Zapis takiej funkcji powinien wyglądać następująco: ILE.LICZB(A2:B2).
Rys. nr 3 – funkcja ILE.LICZB dla tekstu zwraca wartość 0 (zero)
Istotne
jest, że wszystkie funkcje tekstowe zwracają tekst, a nie liczbę. Aby uzyskać z
tekstu wartość liczbową, musimy wykonać na nim dowolne działanie matematyczne, np.
do funkcji PODSTAW dodać wartość zero. Zapis formuły powinien wyglądać
następująco:
=PODSTAW(A2:B2)+0
Po
zatwierdzeniu takiej formuły tekst zostanie zamieniony na liczbę i wtedy
funkcja ILE.LICZB zadziała prawidłowo (rys. nr 4).
Rys. nr 4 – działanie funkcji ILE.LICZB po zamianie tekstu na liczbę
Interesujące
jest, że jeśli w argumencie funkcji ILE.LICZB zapiszemy wartość "1" (w
podwójnych cudzysłowach), to Excel ją znajdzie, zostanie ona zliczona. Zapis formuły
powinien wyglądać następująco:
=ILE.LICZB(A2:B2;"1")
Po
zatwierdzeniu formuły zwróci nam ona kolejną wartość (rys. nr 5).
Rys. nr 5 – działanie formuły z zapisem wartości liczbowej jako tekst
W przykładowych danych w wierszu nr 4, mamy zapisane liczby jako tekst (w podwójnych cudzysłowach lub poprzedzone pojedynczym cudzysłowem). Sprawia to, że funkcja ILE.LICZB nie wykrywa żadnych wartości liczbowych i zwraca wartość zero (0). Widać to na rys. nr 6.
Rys. nr 6 – działanie funkcji ILE.LICZB w stosunku do liczb zapisanych jako tekst
Funkcja ILE.LICZB jest w stanie policzyć daty i czas (wiersz nr 6) w przykładowych danych). Dla Excela data i czas to nic innego jak liczby, co widać na rys. nr 7 po zmianie formatowania z Daty na Ogólne.
Rys. nr 7 – data i czas w postaci liczb i działanie funkcji ILE.LICZB
Kolejny
omawiany przykład dotyczy wartości logicznych PRAWDA i FAŁSZ. Funkcja ILE.LICZB
nie liczy takich wartości, nie interpretuje tych wartości jako 1 (PRAWDA) i 0
(FAŁSZ). Ale jeżeli wpiszemy wartość logiczną np. PRAWDA, jako jeden z
argumentów funkcji, to funkcja go zliczy. Zapis formuły powinien wyglądać
następująco:
=ILE.LICZB(A8:B8;PRAWDA)
Po
zatwierdzeniu takiej formuły funkcja ILE.LICZB zwróci nam wartość 1 (rys. nr 8).
Rys. nr 8 – działanie funkcji ILE.LICZB w odniesieniu do wartości logicznych
Jest to dla
nas istotne, ponieważ mamy często do czynienia z funkcjami logicznymi, np. funkcją
JEŻELI, która zwraca wartości logiczne (PRAWDA lub FAŁSZ). Zapiszmy jako kolejny
argument funkcji ILE.LICZB funkcję JEŻELI dla prostego testu czy 1>2. Jeżeli
warunek jest spełniony chcemy aby funkcja zwróciła wartość logiczną Prawda, a
jeżeli nie – Fałsz. Zapis formuły powinien wyglądać następująco:
Po
zatwierdzeniu powyższej formuły funkcja ILE.LICZB zliczy kolejną wartość (rys.
nr 9).
Rys. nr 9 – zliczanie wartości logicznej z funkcji JEŻELI
Istotne
jest, że z np. funkcji JEŻELI musimy otrzymać pojedynczą wartość, ponieważ
funkcja ILE.LICZB nie zlicza tablic. Czyli funkcja liczb zliczy nam wyniki
testów logicznych, ale jeżeli zrobimy operację która zamieni zwykły test
logiczny na tablicę, to funkcja ILE.LICZB nie zliczy tego wyniku. Zapis takiej
formuły powinien wyglądać następująco:
=ILE.LICZB(A2:B2;{2}>3)
Po
zatwierdzeniu takiej formuły otrzymamy dane przedstawione na rys. nr 10, w
których funkcja ILE.LICZB nie zliczyła wyniku testu.
Rys. nr 10 – nie zliczanie tablic przez funkcję ILE.LICZB
Standardowe liczby są zliczanie bezproblemowo przez funkcję ILE.LICZB, co widać na rys. nr 11.
Rys. nr 11 – zliczanie standardowych liczb
W sytuacji, kiedy w danych mamy błędy, to w wyniku funkcji ILE.LICZB są one ignorowane. (rys. nr 12). Ważne jest, że funkcja ta zwraca wartość 0, a nie błąd.
Rys. nr 12 – ignorowanie błędów przez funkcję ILE.LICZB
Analogicznie wygląda sytuacja, kiedy w danych mamy puste komórki. Wtedy funkcja ILE.LICZB je ignoruje i zwraca wartość 0 (rys. nr 13).
Rys. nr 13 – ignorowanie pustych komórek przez funkcję ILE.LICZB
Tak samo
zostanie zignorowany pusty ciąg tekstowy zapisany "" (dwoma
podwójnymi cudzysłowami). Ale może się zdarzyć sytuacja, że zapiszemy kolejny
argument funkcji ILE.LICZB i postawimy znak ; (średnik), a następni8e zamkniemy
nawias formuły. Zapis takiej funkcji wyglądałby następująco:
=ILE.LICZB(A14:B14;"";)
Po
zatwierdzeniu takiej formuły okaże się, że funkcja ILE.LICZB zliczy nam jedną
pustą komórkę, ponieważ zinterpretuje pusty argument jako wartość zero (rys. nr 14).
Rys. nr 14 – zliczenie pustego argumentu przez funkcję ILE.LICZB
Co istotne,
funkcja ILE.LICZB może pracować na wielu zakresach. Jeżeli będziemy chcieli
zliczyć wszystkie występujące w danych liczby, wystarczy że w argumentach funkcji
podamy poszczególne zakresy. Funkcja ta może pracować na 255 zakresach, podobnie
jak funkcja SUMA. Zapis takiej formuły powinien wyglądać następująco:
=ILE.LICZB(A2:B2;A4:B4;A6:B6;A8:B16)
Po
zatwierdzeniu powyższej formuły otrzymamy wynik przedstawiony na rys. nr 15.
Rys. nr 15 – zliczanie liczb z wielu zakresów
Funkcja ILE.LICZB nie ma skrótu klawiszowego jak funkcja SUMA, aby policzyć od razu całe zakresy (kolumny i wiersze w tabeli), ale w karcie Narzędzia główne w grupie poleceń autosumowania mamy do niej dostęp. Zaznaczamy zakres tabeli, jaki chcemy zliczyć, rozwijamy polecenie Autosumowanie (punkt 2 na rys. nr 16) z karty Narzędzia główne (punkt 1), a następnie wybieramy polecenie Zliczanie (punkt 3).
Rys. nr 16 – ścieżka dostępu do polecenia Zliczanie
Otrzymamy zliczone liczby w zaznaczonym zakresie danych przedstawione na rys. nr 17.
Rys. nr 17 – zliczone dane
Dzięki
wykorzystaniu polecenia Zliczanie, możemy podobnie jak w funkcji SUMA, zliczyć
wartości w komórkach, w poszczególnych wierszach i kolumnach. Według naszych
danych z rys. nr 17 możemy łatwo sprawdzić ile miesięcy pracuje dla nas np. Ewa
(zliczone wiersze) lub ile osób pracowało dla nas w Marcu (zliczone kolumny).
Musimy
zwrócić uwagę, na komórkę K14, w której nie zliczamy wszystkich danych, tak jak
to robiła funkcja SUMA. Tutaj funkcja
ILE.LICZB patrzy tylko na ostatni wiersz, dlatego mamy wynik 4. Zapis funkcji w
tej komórce wygląda następująco:
=ILE.LICZB(G14:J14)
Z tego zapisu
wynika, że funkcja podlicza ilość liczb w ostatnim wierszu a nie w całym
zakresie. Aby uzyskać informację o ilości liczb w całym zakresie musimy ręcznie
zmienić zakres w argumencie funkcji. Zapis formuły powinien wyglądać następująco:
=ILE.LICZB(G2:J13)
Po
zatwierdzeniu takiej formuły otrzymamy sumaryczną ilość liczb w całym zakresie
danych przedstawioną na rys. nr 18.
Rys. nr 18 – zliczona ilość liczb w całym zakresie danych
Na rys. nr 19 mamy przedstawione podsumowanie funkcji ILE.LICZB. Funkcja ta liczy ilość komórek z liczbami w zakresach danych. Potrafi zliczyć liczby, daty, czas. Pomija tekst, liczby zapisane jako tekst, wartości logiczne, błędy oraz puste komórki. Funkcja ta nie ma skrótu klawiszowego, ale można ją znaleźć w grupie poleceń Autosumowanie na karcie Narzędzia główne.
Rys. nr 19 – najważniejsze informacje o funkcji ILE.LICZB
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 zmusić funkcję INDEKS, aby zwracała
wiele wartości do jednej komórki.
Funkcja INDEKS ma możliwość zwrócić z przykładowej tablicy danych albo całą kolumnę albo cały wiersz (rys. nr 1).
Rys. nr 1 – argumenty funkcji INDEKS
Pierwszym
argumentem funkcji jest tablica, czyli zaznaczony obszar danych
(tabela). W naszym małym przykładzie chcemy, aby funkcja zwróciła nam wiersz,
więc wystarczy jako drugi argument funkcji (nr_wiersza) podać numer
wiersza, z którego dane chcemy uzyskać. Zapis funkcji będzie wyglądał
następująco:
=INDEKS(A9:A15;0)
Kiedy
podejrzymy sobie wyniki formuły w trybie edycji komórki za pomocą klawisza F9,
otrzymamy wszystkie dane z zaznaczonego obszaru (rys. nr 2).
Rys. nr 2 – wyniki funkcji INDEKS
Funkcja ta
zwróciła nam wszystkie wartości z kolumny, problem pojawia się wtedy, kiedy
chcemy wyciągnąć tylko kilka wartości. Możemy określić je ręcznie zapisując
poszczególne numery tych wartości w nawiasach klamrowych. Zapis powinien
wyglądać następująco:
=INDEKS(A9:A15;{1;3;5})
Pojawia się
wtedy problem, ponieważ przy takim zapisie funkcja INDEKS zwraca nam tylko
jedną wartość (rys. nr 3).
Rys. nr 3 – tylko jedna wartość zwrócona przez funkcję INDEKS
Tak działają
funkcje klasycznego Excela. W nowych updatach firmy Microsoft zostały
wprowadzone ulepszenia, funkcje zostały poprawione aby lepiej spełniać potrzeby
użytkowników.
Podczas
rozwiązywania wyzwania 13 (https://www.youtube.com/watch?v=VYjplS87Z‑o) szukaliśmy rozwiązania, które
zwróciło by dwie wartości w jednej komórce. Udało się to zrobić dla wartości
tekstowych (rys. nr 4).
Rys. nr 4 – skomplikowany zapis formuły, która zwraca dwie wartości do jednej komórki
Jeśli jesteś
tym szczęśliwcem i masz dostęp do najnowszych subskrypcji Microsoft to masz
dostęp do nowych funkcji Excela. W tej subskrypcji funkcja INDEKS zwróci nam
więcej wartości poprzez rozlanie. Zapis formuły powinien wyglądać następująco:
=INDEKS(A9:A15;{2;4})
Funkcja
zwróci nam dwie wartości ale nie w jednej komórce, wynik zostanie rozlany na
komórkę poniżej jak pokazano na rys. nr 5.
Rys. nr 5 – rozlanie wyników funkcji INDEKS
Excela
klasyczny (zanim zostaną wprowadzone udoskonalenia) nie radzi sobie z tą
funkcjonalnością. Funkcja INDEKS nie zwraca wartości liczbowych tylko range
(zakres komórek) i pewnie z tego powodu ma problem, ponieważ my dajemy jej
tablicę danych jako numery wierszy a nie jako zakres. Musimy „oszukać” funkcję
INDEKS i tak przedstawić te wartości aby funkcja mogła je odczytać, czyli
musimy zmusić funkcję INDEKS aby zwróciła ciąg wartości. W tym celu musimy użyć
dwóch dodatkowych funkcji – JEŻELI i N. Dla funkcji JEŻELI jako pierwszy
argument funkcji (test_logiczny) wpiszemy wartość 1, czyli sprawimy że
test logiczny zawsze będzie zwracał wartość logiczną PRAWDA. Drugi argument
funkcji – wartość_jeżeli_prawda to będą wartości, które chcemy zwrócić,
czyli numery wierszy {1;3;5}.
Zapis
funkcji powinien wyglądać następująco:
=INDEKS(A9:A15;JEŻELI(1;{1;3;5}))
Jeżeli
podejrzymy wyniki tej formuły nadal otrzymamy zwróconą tylko jedną wartość,
wiec musimy dołożyć funkcję N. Funkcja N konwertuje wartości nieliczbowe
na liczby, daty oraz liczby kolejne. Upraszczając funkcja ta zamieni nam liczby
na liczby, ale wykonując przy tym coś, co sprawi, że funkcja INDEKS zwróci nam
wiele wartości. Zapis formuły powinien wyglądać następująco:
=INDEKS(A9:A15;N(JEŻELI(1;{1;3;5})))
Kiedy w trybie
edycji komórki podejrzymy wyniki powyższej formuły za pomocą klawisza F9,
otrzymamy trzy wyniki przedstawione na rys. nr 6.
Rys. nr 6 – Wyniki zwrócone przez funkcje INDEKS (z użyciem funkcji JEŻELI i N)
Podsumowując
zmusiliśmy funkcję INDEKS, aby zwróciła nam kilka wartości nie po kolei
(wybrane wartości, a nie cały wiersz czy kolumnę). Teraz możemy użyć funkcji SUMA,
która zsumuje nam te zwrócone wartości. Zapis formuły powinien wyglądać
następująco:
=SUMA(INDEKS(A9:A15;N(JEŻELI(1;{1;3;5}))))
Otrzymamy
wynik przedstawiony na rys. nr 7.
Rys. nr 7 – Suma trzech wartości otrzymanych z funkcji INDEKS
Wyjaśniliśmy działanie funkcji INDEKS z użyciem dodatkowych funkcji JEŻELI i N na prostym przykładzie. Teraz przejdziemy do wykorzystania takich obliczeń na bardziej praktycznym przykładzie. Chcemy w tym przykładzie żeby funkcja INDEKS zwróciła nam kilka wartości, abyśmy potem mogli je zsumować i wyznaczyć zwycięzcę. Zadanie to omówimy na podstawie przykładowych danych z rys. nr 8.
Rys. nr 8 – przykładowe dane
W danych
tych mamy 4 wyścigi i 5 zawodników, którzy w każdym wyścigu zajęli jakieś
miejsca. W zależności od zajętego miejsca jest przyznawana różna punktacja.
Naszym zadaniem jest zsumowanie punktów wszystkich uczestników wyścigów, aby
wiedzieć kto zdobył najwięcej punktów a kto najmniej. Naszym rdzeniem (podstawą
obliczeń) będzie funkcja PODAJ.POZYCJĘ. Pierwszym argumentem funkcji
jest szukana_wartość, czyli miejsca zajęte przez danego zawodnika. Drugi
argument to przeszukiwana_tab, czyli tablica z numerami miejsc (J2:J6).
Zakres ten blokujemy bezwzględnie za pomocą klawisza F4. Trzeci opcjonalny
argument to typ_dopasowania, czyli w naszym przykładzie wartość 0 dla
dopasowania dokładnego. Zapis funkcji powinien wyglądać następująco:
=PODAJ.POZYCJĘ(G10:J10;$J$2:$J$6;0)
Kiedy
podejrzymy wyniki tej funkcji dla pierwszego zawodnika w trybie edycji komórki
za pomocą klawisza F9 otrzymamy 4 wyniki przedstawione na rys. nr 9.
Rys. nr 9 – Wyniki zwracane przez funkcję PODAJ.POZYCJĘ
Mamy numery
miejsc, ale my chcemy wyciągnąć wartości dopasowane do tych numerów miejsc,
czyli liczbę punktów przyznawanych za zdobycie danego miejsca. Użyjemy tutaj
funkcji INDEKS. Pierwszy argument funkcji, czyli tablica, to
będzie zakres z punktacją za poszczególne miejsca w wyścigu, który musimy
zablokować bezwzględnie za pomocą klawisza F4. Drugi argument, czyli nr_wiersza,
to wartości zwracane przez funkcję PODAJ.POZYCJĘ. Zapis funkcji będzie wyglądał
następująco:
Jeśli
podejrzymy wyniki tej funkcji za pomocą klawisza F9 otrzymamy błąd #ARG! (rys.
nr 10). Funkcja INDEKS sobie nie radzi i zwraca nam błąd.
Rys. nr 10 – błąd zwrócony przez funkcję INDEKS
Musimy
dołożyć kombinację funkcji JEŻELI i funkcji N taj ka w poprzednim przykładzie.
Dokładamy funkcję JEŻELI z testem logicznym 1, który zwraca zawsze wartość
logiczną PRAWDA, czyli wartości zwrócone przez funkcję PODAJ.POZYCJĘ. Musimy
pamiętać o dołożeniu funkcji N. Zapis funkcji powinien wyglądać następująco:
Teraz jeśli
podejrzymy wyniki formuły za pomocą klawisza F9 otrzymamy punktację za każdy
wyścig, formuła zwróci nam 4 wartości przedstawione na rys. nr 11.
Rys. nr 11 – punktacja za poszczególne wyścigi
Na tym
etapie możemy te obliczenia wstawić do funkcji SUMA i uzyskać całkowitą liczbę
punktów zdobytą na zawodach przez poszczególnych zawodników. Zapis formuły
powinien wyglądać następująco:
Musimy
pamiętać aby podaną formułę zatwierdzić skrótem klawiszowym Ctrl+Shift+Enter,
ponieważ jest to formuła tablicowa. Otrzymany wynik przeciągamy na wiersze
poniżej i otrzymamy wyniki punktacji z całych zawodów przedstawione na rys. nr 12.
Rys. nr 12 – zsumowana punktacja poszczególnych zawodników
Z wyników tych widać kto jest zwycięzcą całych zawodów. Podsumowując w klasycznym Excelu musimy się namęczyć i napisać dość skomplikowane formuły aby uzyskać wymagany wynik, czyli w zasadzie wymusić aby funkcja INDEKS zwróciła kilka wyników. Od momentu wprowadzenia udoskonaleń formuły takie będą o wiele mniej skomplikowane, ponieważ wszystkie funkcje będą sobie radzić z formułami tablicowymi.
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 zajmiemy się kolejnym zadaniem z matury
z informatyki 2018. Omówimy rozwiązanie zadania nr 5.4 dotyczące cyklu pracy
zbiornika (rys. nr 1 i rys nr 2). Najtrudniejszym elementem zadania jest
opisanie pracy zbiornika retencyjnego i czasu, kiedy wylewamy nadmiar wody
(ponad 1 000 000 m3 wody) oraz codziennie o 8 rano
wylewanie 2% wody z pomiaru o północy.
rys. nr 1 — Treść zadania 5.4
rys. nr 2 — Treść zadania 5.4 ciąg dalszy
Zakładamy, że mamy już wczytane
dane dotyczące zbiornika retencyjnego z pliku tekstowego (rys. nr 3).
rys. nr 3 — Wczytane dane do zadania
Do danych źródłowych dopisujemy dwie kolumny, pierwsza ze
stanem zbiornika i druga z ilością wody jaką wylewamy. Zaznaczamy pierwszy
wiersz danych, pod nagłówkami i za pomocą skrótu klawiszowego Ctrl+Shift+Plus
dodajemy nowy wiersz, żeby dołożyć stan początkowy zbiornika, jaki był podany w
treści zadania.
W komórce D2 (kolumna Wylewamy) musimy napisać formułę, która
obliczy ile wody musimy wylać w zależności od poziomu napełnienia zbiornika.
Wylewać wodę będziemy dopiero kiedy jej ilość przekroczy 1 000 000 m3
pojemności. Użyjemy do tego celu funkcji JEŻELI. Zapis funkcji będzie wyglądał
następująco:
Sprawdzamy w teście logicznym czy stan zbiornika jest większy
od 1 000 000.
Jeśli przekroczył to od razu wylewamy tą nadwyżkę powyżej
miliona, czyli musimy odjąć 1000000 od zawartości zbiornika ([@[Stan
zbiornika]]-1000000). Chcemy, aby do dalszych obliczeń ta wartość była ujemna,
więc musimy ją zapisać inaczej, mianowicie odjąć aktualny stan zbiornika od
miliona (1000000-[@[Stan zbiornika]]). Oprócz tej wartości musimy jeszcze wylać
2% pojemności wody w zbiorniku w chwili pomiaru zaokrąglone w górę. Użyjemy
funkcji ZAOKR.GÓRA, w której lepiej nie pisać 2% bo to też jest operacja
matematyczna w Excelu, lepiej zapisać jako 0,02 i pomnożyć to przez aktualny
stan zbiornika. Jako drugi argument wpiszemy 0, bo chcemy zaokrąglić do liczb
całkowitych.
Jeśli natomiast stan zbiornika nie przekroczy miliona m3
to wylewamy tylko 2% aktualnego stanu zbiornika, czyli ‑ZAOKR.GÓRA(0,02*[@[Stan
zbiornika]]).
Zatwierdzamy formułę i otrzymujemy wyniki, formuła
automatycznie skopiuje się do wszystkich wierszy, bo działamy w tabeli Excela
(rys. nr 4).
rys. nr 4 — Ilość wody jaką wylewamy
Teraz zajmiemy się formułą dla aktualnego stanu zbiornika.
Użyjemy tutaj funkcji SUMA, dodamy do siebie wartości: objętość wody jaka
wpłynęła danego dnia, stan zbiornika z dnia wcześniejszego i objętość jaką
wylaliśmy. Zapis funkcji będzie wyglądał następująco:
=SUMA([@[Woda m3];C2;D2)
Zatwierdzamy formułę. Excel chciałby zastąpić wszystkie
komórki, ale my chcemy aby w pierwszym wierszu została stała wartość (500000),
którą wpisaliśmy ręcznie, dlatego klikamy dwa razy na prawy dolny róg komórki z
wynikiem obliczeń (zaznaczone strzałką na rysunku poniżej) i otrzymujemy wyniki
przedstawione na rysunku nr 5.
rys. nr 5 — Codzienny stan zbiornika
W pierwszej części zadania mamy podać dzień w którym pierwszy
raz stan zbiornika przekroczył 1 000 000 m3. Moglibyśmy
sobie to łatwo sprawdzić w tabeli za pomocą polecenia Filtry liczb (rys. nr 6).
rys. nr 6 — Filtry liczb — Mniejsze niż
Otworzy nam się okno Autofiltr niestandardowy, gdzie na
rysunku nr 7 w miejscu oznaczonym strzałką wpisujemy wartość 1 000 000
(rys. nr 7).
rys. nr 7 — Autofiltr niestandardowy
Zatwierdzamy przyciskiem OK i otrzymujemy pierwszy dzień, w
którym stan zbiornika przekroczył 1 000 000 m3, to jest
2015-04-18. Musimy pamiętać, że jest to dzień kiedy stan przekroczył ten poziom
a wodę wylewamy dopiero następnego dnia, więc prawidłowa odpowiedz to
2015-04-19 (rys. nr 8).
rys. nr 8 — Pierwszy dzień w którym stan zbiornika przekroczył 1000000 m³
W taki sposób możemy sprawdzić to ręcznie, a teraz pokażemy
jak to zrobić za pomocą formuł. Możemy wykorzystać funkcję PODAJ.POZYCJĘ, która
będzie szukała wyniku naszej operacji logicznej. Zapis funkcji będzie wyglądał
następująco:
Szukamy wartości logicznej prawda, czyli robimy test
logiczny, czy stan zbiornika jest większy od 1 000 000. Jako trzeci
argument wybieramy dopasowanie dokładne, czyli wpisujemy 0. Funkcja
PODAJ.POZYCJĘ zwróci nam pierwszy wiersz, gdzie stan zbiornika przekroczył
1 000 000 m3 wody.
Musimy pamiętać, że jest to dzień kiedy stan przekroczył ten
poziom a wodę wylewamy dopiero następnego dnia, więc prawidłowa odpowiedź to
2015-04-19, czyli do naszej formuły musimy dodać jeden dzień (rys. nr 9). Zapis
funkcji powinien wyglądać następująco:
Funkcja INDEKS patrzy na kolumnę z datą, a funkcja PODAJ.POZYCJĘ
zwraca numer wiersza, z którego chcemy wyciągnąć datę z kolumny Data.
Zatwierdzamy Ctrl+Enter i otrzymujemy w wyniku liczbę (pamiętamy, że w Excelu
daty to liczby). Kolejnym krokiem jest zmiana formatowania na Datę (rys. nr 10).
rys. nr 10 — Zmiana formatowania
Drugie zadanie polega na wyznaczeniu wszystkich dni, kiedy
stan zbiornika był powyżej 800 000 m3. Wystarczy użyć funkcji
LICZ.JEŻELI, dla której pierwszym argumentem jest kolumna stan zbiornika, a
Kryterium to "> 800000". Zapis funkcji będzie wyglądał następująco:
=LICZ.JEŻELI(tWoda[Stan zbiornika]; "> 800000")
Zatwierdzamy Ctrl+Enter. Otrzymaliśmy wynik – 188 dni, w
których poziom wody w zbiorniku przekraczał 800 000 m3 (rys. nr 11).
rys. nr 11 — Wynik funkcji LICZ.JEŻELI
Trzecie zadanie polega na wyznaczeniu maksymalnego stanu
zbiornika, jeśli zmodyfikujemy sposób wylewania wody. Przyjmiemy, że nie
będziemy wylewać wody po przekroczeniu stanu 1 000 000 m3,
a tylko 2% dziennie oraz że zbiornik ma niegraniczoną pojemność. Możemy
skopiować całą tabelkę obok, żeby nie stracić wcześniejszych obliczeń. Teraz
musimy zmodyfikować formułę w kolumnie Wylewamy. Zapis powinien wyglądać
następująco:
=-ZAOKR.GÓRA(0,02*[@[Stan zbiornika]])
Zatwierdzamy Ctrl+Enter. Formuła sama wypełni cała tabelę
(rys. nr 12).
rys. nr 12 — Wynik funkcji ZAOKR.GÓRA
Wystarczy teraz użyć funkcji MAX. Szukamy wartości
maksymalnej w kolumnie Stan zbiornika w drugiej tabeli. Zapis będzie wyglądał
następująco:
=MAX(tWoda2[Stan zbiornika])
Zatwierdzamy formułę i otrzymujemy wynik przedstawiony na
rysunku nr 13, czyli maksymalny poziom wody w zbiorniku wyniesie 1 399 242
m3.
rys. nr 13 — Wynik funkcji MAX
Podsumowując większość z tych zadań można rozwiązać stosując
odpowiednie filtry, ale my pokazaliśmy jak można je rozwiązać za pomocą
odpowiednich funkcji.
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 kolejne zadanie z matury 2018 z informatyki. Tym razem musimy znaleźć najdłuższy okres liczony w dniach, w którym codziennie dopływało do zbiornika retencyjnego co najmniej 10 000 m3 wody z rzeki Wirki. Musimy również podać datę początkową i końcową tego okresu.
rys. nr 1 — Zadanie z matury z informatyki 2018
Mamy już zaimportowane dane z poprzedniego zadania w tabeli przedstawione na rysunku nr 2.
rys. nr 2 — Zaimportowane dane
Aby wyznaczyć ten okres możemy sobie stworzyć w Excelu
kolumnę pomocniczą. Użyjemy funkcji JEŻELI. Jej formuła będzie wyglądać
następująco:
=JEŻELI([@[Wodam3]]>10000;SUMA(C1;1);0)
Formuła ta ma sprawdzić, czy wartość z kolumny Woda m3 jest
większa od 10 000. Jeśli ta wartość będzie większa od 10 000 to
musimy zacząć liczyć ten wzrastający okres. W Excelu możemy obliczyć ten okres
za pomocą funkcji SUMA. Odwołujemy się do komórki powyżej komórki z formułą
przez jej nazwę (C1). Nie blokujemy tego zakresu bo będzie się on przesuwał
wraz z aktywną komórkę dla której aktualnie będzie się przeliczać formuła. Do
tej wartości musimy dodać wartość 1. Używamy funkcji SUMA zamiast dodawania
dlatego, że ta funkcja zignoruje nam pierwszą komórkę, czyli nagłówek, ponieważ
funkcja SUMA ignoruje wartości tekstowe oraz logiczne — PRAWDA i FAŁSZ.
Jeśli dana wartość będzie mniejsza od 10000 to wstawiamy 0,
bo albo ten okres numerowania się jeszcze nie rozpoczął albo się zakończył więc
musimy zmienić numerowanie na 0. Zatwierdzamy formułę Ctrl+Enter. Formułę
wpisujemy w tabelę więc formuła automarycznie wypełnia się do końca tabeli.
Ilość dni możemy obliczyć za pomocą funkcji MAX po kolumnie
pomocniczej. Zapis formuły będzie wyglądał następująco:
=MAX(tWoda[Pomocnicza])
Zatwierdzamy Ctrl+Enter i otrzymujemy wynik, czyli ile dni
trwał najdłuższy okres, kiedy ilość wody wpływającej do zbiornika retencyjnego
przekraczała 10000 m3 (rys. nr 3)
rys. nr 3 — Ile dni trwał najdłuższy okres przepływów powyżej 10000 m³
Kolejnym etapem zadania jest znalezienie końca i początku
tego okresu. Najpierw wyznaczymy koniec tego okresu, bo mieliśmy podpowiedź w
tekście zadania, że taki okres jest tylko jeden. Obliczymy to za pomocą funkcji
PODAJ.POZYCJĘ. Zapis formuły będzie wyglądał następująco:
=PODAJ.POZYCJĘ(E6; tWoda[Pomocnicza];0)
Musimy znaleźć wartość maksymalną wyznaczoną wcześniej w
kolumnie pomocniczej. Sposób dopasowania dokładny czyli wpisujemy 0 jako trzeci
argument, czyli typ_porównania. Uzyskaliśmy wynik, że na pozycji 2687 była ta
wartość maksymalna (rys. nr 4).
rys. nr 4 — Wynik funkcji PODAJ.POZYCJĘ
Znamy pozycję końca tego okresu w tabeli, a teraz chcemy aby
Excel zwrócił nam datę jaka odpowiada tej pozycji. Możemy to zrobić za pomocą
funkcji INDEKS, która będzie się odwoływała do kolumny Data, natomiast z
funkcji PODAJ.POZYCJĘ otrzymaliśmy nr_wiersza, w którym była maksymalna ilość
dni z przepływem ponad 10000 (drugi argument funkcji). Funkcje zatwierdzamy
Ctrl+Enter.
Jako wynik otrzymamy wartość liczbową, bo pamiętamy, że daty
w Excelu są wartościami liczbowymi (rys. nr 5).
rys. nr 5 — Wynik funkcji INDEKS
Aby uzyskać datę musimy zmienić formatowanie w karcie
Narzędzia główne (rys. nr 6).
rys. nr 6 — Zmiana formatowania
Otrzymaliśmy datę końca najdłuższego okresu z przepływami
wody na poziomie przekraczającym 10 000 m3.
Aby wyznaczyć początek tego okresu wystarczy od końca tego
okres (daty wyznaczonej powyżej) odjąć długość trwania tego okresu plus 1. Zapis
będzie wyglądał następująco:
=F6-E6+1, zatwierdzamy Ctrl+Enter. Otrzymamy wynik
przedstawiony na rysunku nr 7.
rys. nr 7 — Wyznaczenie początku okresu wysokich przepływów
Podsumowując wyznaczyliśmy długość trwania najdłuższego
okresu z przepływami wody powyżej 10 000 m3 oraz daty początku
i końca tego okresu. Wszystko za pomocą funkcji w Excelu.
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.