W tym poście omówimy działanie funkcji WARUNKI oraz sytuacje, w których może ona być pomocna.
Temat ten opracujemy na podstawie przykładowych danych przedstawionych na rys. nr 1.
Funkcja WARUNKI podobnie jak funkcja JEŻELI sprawdza testy logiczne. W zależności czy test logiczny został spełniony, funkcja ta zwraca interesujący nas wynik, następnie jest sprawdzany kolejny test i otrzymujemy kolejny wynik. Działanie tej funkcji omówimy na podstawie zdania z komórki E2. Pierwszym argumentem funkcji jest test_logiczny1, czyli sprawdzamy czy w komórce A2 jest kolor "czerwony", drugi argument funkcji to wartość_jeśli_prawda1, czyli wartość jaką ma zwrócić funkcja, jeśli warunek zostanie spełniony. Następnie przechodzimy do kolejnego testu logicznego, czyli sprawdzamy kolor kanarkowy, jeśli warunek jest spełniony, chcemy, aby funkcja zwróciła nam zapis "Nie lubię".
Istotne jest, że jeśli pierwszy warunek testu logicznego zostanie spełniony, to funkcja WARUNKI nie będzie sprawdzać kolejnego testu. Jeśli natomiast warunek jest fałszywy, to funkcja przejdzie do kolejnego testu itd. Zapis funkcji powinien wyglądać następująco:
=WARUNKI(A2="czerwony";"Lubię";A2="kanarkowy";"Nie lubię")
Zatwierdzamy funkcję i kopiujemy na komórki poniżej. Otrzymamy wyniki przedstawione na rys. nr 2.
Jak widać na rysunku powyżej, kiedy pierwszy warunek jest spełniony, otrzymaliśmy słowo "Lubię", a kiedy drugi – "Nie lubię". W każdym innym przypadku funkcja zwróciła nam błąd #N/D, ponieważ funkcja ta nie miała zrobionych warunków dla pozostałych kolorów. Poza tym domyślnie w argumentach nie ma czegoś takiego jak w funkcji JEŻELI, czyli wartości, którą funkcja powinna zwrócić jeśli warunek nie zostanie spełniony. Możemy to łatwo "obejść". Wystarczy, że zrobimy test logiczny o wartości 1, bo taki test jest zawsze prawdą. Czyli zapis funkcji z trzecim testem powinien wyglądać następująco:
=WARUNKI(A2="czerwony";"Lubię";A2="kanarkowy";"Nie lubię";1;"Nie mam zdania")
Powyższą formułę zatwierdzamy i kopiujemy na komórki poniżej. Otrzymamy wtedy wyniki funkcji WARUNKI bez zwróconego błędu przedstawione na rys. nr 3.
Funkcja WARUNKI przydaje się, kiedy mamy skomplikowane warunki, gdzie na podstawie różnych kryteriów chcemy zwrócić różne wartości. Korzystając z funkcji JEŻELI moglibyśmy zagubić się w tych testach logicznych, przy takiej ich ilości. W funkcji WARUNKI każdy test możemy ograniczyć do jednego warunku. Po sprawdzeniu warunku, dodawać kolejny i kolejny itd. Dzięki tej funkcji łatwiej jest zarządzać poszczególnymi testami. Przejdziemy teraz do drugiego przykładu. W zakresie E12:F16 mamy podane kryteria do testów logicznych i wartości, jakie ma nam zwrócić funkcja, kiedy dane kryterium zostanie spełnione. Sprawdzamy, czy wartość w komórce B13 jest mniejsza od 20 dni. Jeśli tak, czyli warunek jest spełniony, to chcemy otrzymać wartość z komórki F13, zablokowaną bezwzględnie, żeby wraz z kopiowaniem formuły się nie przesuwała. Zapis funkcji powinien wyglądać następująco:
=WARUNKI(B13<20;$F$13)
Jeśli zatwierdzilibyśmy taki zapis formuły, to otrzymalibyśmy dwa wyniki „Super”, a reszta wyników to byłyby błędy #N/D. Dlatego sprawdzamy kolejny warunek. Drugi warunek jest bardziej skomplikowany (dwa kryteria w teście logicznym), bo sprawdzamy, czy kolor jest czarny oraz czy został sprzedany poniżej 30 dni. Musimy połączyć te warunki za pomocą funkcji ORAZ. Zapis formuły powinien wyglądać następująco:
=WARUNKI(B13<20;$F$13;ORAZ(A13="czarny";B13<30);$F$14)
Funkcję możemy zatwierdzić i sprawdzić wyniki. Otrzymamy dane przedstawione na rys. nr 4.
Jak widać powyżej, mimo spełnienia warunków w wierszu 15, nie otrzymaliśmy wyniku "Wyśmienicie". Wynika to z tego, że jeśli funkcja ma spełniony pierwszy test w danej komórce, to nie sprawdza kolejnych testów, a tu mamy spełniony warunek sprzedaży poniżej 20 dni. Gdybyśmy zmienili wartość w komórce B15 na 22, to otrzymalibyśmy wynik ze sprawdzenia drugiego testu, czyli "Wyśmienicie" (rys. nr 5).
Zajmiemy się teraz kolejnym testem logicznym w funkcji WARUNKI. W warunkach mamy podane kolory czerwony lub niebieski, więc musimy tym razem użyć funkcji LUB. Mamy też trzeci warunek, który musimy połączyć na zasadach funkcji ORAZ, czyli funkcję LUB musimy zamknąć w funkcji ORAZ. Jeśli wszystkie warunki będą spełnione chcemy otrzymać wartość z komórki $F$15 zablokowanej bezwzględnie. Wymyślam coraz bardziej skomplikowane warunki, żeby pokazać, że w takich sytuacjach funkcja WARUNKI sprawdzi się najlepiej. Zapis funkcji będzie wyglądał następująco:
=WARUNKI(B13<20;$F$13;ORAZ(A13="czarny";B13<30);$F$14;ORAZ(LUB(A13="czerwony"; A13="niebieski");B13<50);$F$15)
Powyższą funkcję zatwierdzamy i kopiujemy w dół. Otrzymamy wyniki przedstawione na rys. nr 6.
Otrzymaliśmy dane, gdzie tylko jeden wiersz spełnia naszą trzecią grupę warunków. Nadal w wynikach mamy błędy, czyli w tych miejscach żadne z naszych warunków nie są spełnione. Aby się ich pozbyć musimy ręcznie dołożyć domyślny argument, czyli wszystkim innym sytuacjom przypisać wartość "Kiepsko". Wpisujemy jako kolejny argument wartość 1 (dla takiej wartości test logiczny zawsze jest spełniony), a jako wartość, którą ma nam zwrócić funkcja wartość z komórki $F$16 zablokowaną bezwględnie. Zapis formuły powinien wyglądać następująco:
=WARUNKI(B13<20;$F$13;ORAZ(A13="czarny";B13<30);$F$14;ORAZ(LUB(A13="czerwony"; A13="niebieski");B13<50);$F$15);1;$F$16)
Po zatwierdzeniu i skopiowaniu formuły w dół otrzymamy wyniki przedstawione na rys. nr 7.
Po dodaniu wszystkich warunków, zagnieżdżeniu funkcji w testach logicznych i rozpatrzeniu wszystkich przypadków, dane wyglądają prawidłowo, nie wyświetlają się już błędy.
Podsumowując, funkcja WARUNKI bardzo upraszcza nam pracę. Pamiętajmy jednak, że jeśli pierwszy warunek zostanie spełniony dla danej komórki, to funkcja ta nie będzie sprawdzać kolejnych warunków i zwróci wartość_jeśli_prawda dla tego testu. Ponadto na koniec musimy dopisać domyślny warunek dla przypadków, które nie zostały uwzględnione w poprzednich testach z wartością 1.
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