Funkcja IF (polska nazwa funkcji to JEŻELI)
Składnia funkcji IF:
= IF ( warunek logiczny , co jeśli spełniony jest warunek , co jeśli nie jest spełniony warunek )
Warunki logiczne przykłady:
• Równa się: B2=A1.
• Większe niż: B2>A1.
• Większy lub równe: B2>=A1.
• Mnie niż: B2<A1.
• Mniejsze lub równe: B2<=A1.
• Różne od: B2<>A1.
Jeśli nie zadeklarujemy trzeciego argumentu, gdyż nie jest obowiązkowy, domyślnie zwróci nam FALSE. Natomiast w przypadku kiedy chcemy zadeklarować w drugim lub trzecim argumencie tekst jako rezultat, to należy go ująć w cudzysłów.
=IF(A1>5,"Pass","Fail")
Jeżeli w komórce A1 wartość będzie wyższa niż 5 formuła zwróci Pass w przeciwnym wypadku Fail.
Kiedy chcemy zastosować jeden warunek logiczny to tworzenie funkcji IF jest proste i oczywiste. Natomiast co jeśli chcemy wprowadzić kolejne warunki? Wtedy należy dodać kolejna funkcje IF w już istniejacą.
Zagnieżdżenie funkcji IF
Chyba każdy z nas miał przynajmniej w pewnym momencie kłopoty z opanowaniem funkcji IF, kiedy dochodziło do jej zagnieżdżania. Czyli wtedy, gdy przynajmniej raz funkcja IF stanowiła argument funkcji IF. Ponadto zagnieżdżona funkcja stanowi obciążenie dla pracy systemu podczas przeliczania, oczywiście w przypadku, kiedy tą funkcję zastosujemy bardzo często w arkuszu.
Podam teraz prosty przykład funkcji IF zagnieżdżonej jednokrotnie. W miejsce trzeciego argumentu wprowadzona jest nowa funkcja IF zawierająca kolejny warunek.
= IF ( warunek logiczny , co jeśli spełniony jest warunek , IF ( warunek logiczny 2 , co jeśli spełniony jest warunek 2 , co jeśli nie ))
=IF(A1>5,"Excellent",IF(A1>3,"Good","Poor"))
Jeżeli w komórce A1 wartość będzie wyższa niż 5 formuła zwróci Excellent, jeżeli nie ale bedzie wyższa niż 3 zwróci Good, w przeciwnym wypadku Fail.
Funkcja IFS (polska nazwa funkcji to WARUNKI)
W 2016 w Excelu pojawiła się alternatywa dla funkcji IF, czyli funkcja IFS, która daje możliwość wprowadzenie więcej warunków logicznych niż jeden, która uproszcza tworzenie formuły oraz znacznie przyspiesza jej prace.
= IFS ( Pierwszy warunek logiczny , co jeśli spełniony jest warunek, kolejny warunek logiczny , co jeśli spełniony jest kolejny warunek , …)
=IFS(A1>5,"Excellent",A1>3,"Good")
Jeżeli w komórce A1 wartość będzie wyższa niż 5 formuła zwróci Excellent, jeżeli nie ale bedzie wyższa niż 3 zwróci Good, w przeciwnym wypadku zwróci błąd #NA.
Może się zdarzyć, że więcej niż jednokrotnie warunek zostanie spełniony w argumentach funkcji IFS. W takim wypadku decydujący jest ten, który jest zapisany najwcześniej.
=IFS(A1>3,"Good",A1>5,"Excellent")
W takim wypadku gdy zawartość komórki A1 będzie wyższa niż 3 funkcja zwróci zawsze Good (nigdy nie zwróci Excellent). Dlatego ważna jest kolejność zapisywania warunków. Jeśli żaden z warunków nie będzie spełniony, formuła zwróci błąd #NA.
IFS vs. IF (WARUNKI kontra JEŻELI)
- Funkcja IFS pozwala w prosty sposób na wprowadzenia kolejnych warunków logicznych bez konieczności zagnieżdżania.
- Ze względu na brak zagnieżdżania wydajność funkcji IFS jest znacznie efektywniejsza.
- Pozwala zastosować dwukrotnie więcej, czyli 127 warunków, podczas gdy zagnieżdżona formuła 64 warunki.
- Jeśli żaden z warunków nie zostanie spełnionych funkcja IFS zwróci błąd #NA. W takim przypadku warto dodatkowo zastosować, funkcje IFEROOR. W drugim argumencie tej funkcji podajemy co ma być, jeśli nie spełniony jest żaden z warunków.
= IFERROR ( IFS ( warunek logiczny , co jeśli pełniony jest warunek , warunek logiczny 2 , co jeśli pełniony jest warunek 2 ) , co jeśli nie jest spełniony żaden warunek )
=IFERROR(IFS(A1>5,"Excellent",A1>3,"Good"),"Poor")
Jeżeli w komórce A1 wartość będzie wyższa niż 5 formuła zwróci Excellent, jeżeli nie ale bedzie wyższa niż 3 zwróci Good, w przeciwnym wypadku zwróci Poor.
Podobne zagadnienia i sztuczki w Excel-u można nauczyć się u mnie na kompleksowym Szkoleniu w Londynie.