Like

Funkcja warunkowa IF (JEŻELI) to jedna z podstawowych funkcji, pozwala ustalić, co w komórce ma się wydarzyć, gdy dane wyrażenie jest prawdziwe (np. A1 równa się 3) i co zrobić gdy jest nieprawdziwe (A1 nie równa się 3).

Do czego służy funkcja IF?

Jej składnia to:

IF( wyrażenie logiczne ; akcja gdy wyrażenie jest prawdziwe ; akcja gdy jest nieprawdziwe )

  • wyrażenie logiczne – coś co możemy określić czy jest prawdą lub nie. Np. A1=3. Jeśli w komórce A1 jest trójka to wyrażenie jest prawdziwe (zwraca wartość PRAWDA), a jak jest coś innego niż trójka to jest nieprawdziwe (zwraca wartość FAŁSZ).
  • akcja gdy wyrażenie jest prawdziwe – tu ustalamy co ma się pojawić w komórce jeśli A1 = 3. Jeśli jest to np. szkolna ocena to dajmy tu “dostateczny”.
  • akcja gdy wyrażenie jest nieprawdziwe – ustalamy co ma się pojawić w komórce jeśli A1 nie równa się 3 (A1<>3). Np. podajemy “to nie jest dostateczny”.

Powyższy przykład będzie w arkuszu wyglądał tak:

IF(A1=3;"dostateczny";"to nie jest dostateczny")

Wynik testu jest prawdziwy (w komórce A1 rzeczywiście jest 3), więc funkcja IF wykonuje pierwszą akcję czyli pisze “dostateczny”).
Jak w A1 wpisaliśmy 4 to wynik naszego testu był negatywny ( 4 nie równa się 3 ), więc funkcja IF wykonała akcję dla wyniku fałszywego.

Jak widzicie jest to bardzo użyteczna funkcja i często wystarczy, ale ma swoje ograniczenia. Jesteśmy w stanie reagować tylko na dwie wartości. Jest trójka lub jest coś innego niż trójka. Oczywiście możemy inaczej skonstruować test – np.

=IF(A1>3;"większy od trzech";"mniejszy lub równy trzy")

Wówczas jak w komórce a1 pojawi się 4, funkcja IF zwróci nam wartość “większy od trzech”. To samo jak damy 5 czy 100. Natomiast przy liczbie 1 czy 0,4 zostanie wykonana druga akcja – w tym wypadku wpisanie “mniejszy lub równy trzy”).

Do czego służy funkcja SWITCH w Arkuszach Google ?

Ta funkcja warunkowa przydaje się, gdy arkusz ma wykonać jakieś działanie, ale mogą się zdarzyć różne wyjątki na które trzeba zareagować.

składnia:

=SWITCH(wyrażenie , przypadek1, wartość1, przypadek2, wartość2…, wartość domyślna)

Weźmy przykład klasyfikacji albumów w płytotece. Załóżmy, że mama generalnie lubi muzykę, zwłaszcza rocka. Ale bardzo źle reaguje na disco polo i cięzki metal.

Bierzemy więc rozpiskę albumów w kolekcji, określamy gatunek i dodajemy kolumnę “Puszczać przy mamie?”

W pierwszy wiersz wpisujemy:

=switch(D3:D15; "Metal";"NIE!"; "Disco Polo";"NIE!"; "Rock";"Jak najczęściej"; "TAK")

Wartość na końcu “TAK” to wartość domyśla, która zostanie wpisana zawsze gdy w kolumnie Gatunek pojawi się coś innego niż wyszczególnione wcześniej. Jak widzicie funkcja SWITCH radzi sobie również z całymi przedziałami – dlatego nie kopiuję jej do kolejnych komórek w kolumnie, a wpisuję od razu D3:D15

Warto pamiętać, że SWITCH nie radzi sobie z funkcjami tablicowymi. Czyli jeśli każemy mu np. przy Disco Polo wypełnić 2 komórki, to się wysypie. “Disco Polo”;{“NIE!”\”Nigdy”} nie zadziała.

Do czego służy funkcja IFS i dlaczego jest ciekawsza od IF ?

Funkcja ta pozwala sprawdzać kilka warunków na raz i reaguję na pierwszy spełniony warunkek z listy.

Składnia:

IFS(warunek1; wartość1; [warunek2; wartość2]; …)

W poniższym przykładzie analizujemy płytotekę. Decydujemy czy wywalić płytę do kosza czy zostawić. Jeśli “Moja ocena” jest wyższa od 3 to decydujemy się płytę zostawić. Jeśli płyta jest oceniona na 3 lub mniej i jeszcze nie można jej słuchać przy mamie, to wywalamy. A jeśli płyta jest oceniona na 3 to należy sprawę przemyśleć. W języku Arkuszy wygląda to tak:

=ifs( A3>3;"zostawić"; and(A3<=3;E3="NIE!");"Wywalić"; A3=3;"Przemyśleć")

Jak widzicie przy dwóch płytach wyskakuje błąd #N/A . Funkcja nie wie co zrobić, bo nie natrafiła na odpowiednią wartość. To właśnie różni ją od funkcji SWITCH, która posiada wartość domyślną.

IFS, podobnie jak SWITCH nie może tworzyć tablic.

IFNA – czyli jak reagować na błąd #N/A

Błąd #N/A oznacza, że poszukiwana wartość nie została znaleziona i arkusz nie wie co zrobić. Możemy mu podpowiedzieć. Bierzemy wyrażenie, które zwraca błąd i opakowujemy w funkcję IFNA (JEŻELI.ND).

Ma ona składnię:

=IFNA(wartość, wartość_jeśli_błąd #N/A)

W poprzednim przykładzie widzieliśmy, że wyskakują błędy, zdarza się to również często np. przy wyszukiwaniu za pomocą funkcji VLOOKUP. Wystarczy, że weźmiemy funkcję IFS z poprzedniego przykładu i opakujemy:

=IFNA(ifs( A3>3;”zostawić”; and(A3<=3;E3=”NIE!”);”Wywalić”; A3=3;”Przemyśleć”);””)

W ten sposób funkcja IFS działa normalnie i zwróci normalne wartości, ale jeśli wygeneruje błąd to komórka pozostanie pusta, bo w przypadku błędu ma być w niej pusty ciąg: “”.

Wielu użytkowników korzysta z funkcji IFERROR zamiast IFNA, różni się ona tym, że reaguje tak samo na każdy błąd, również na błędy składni. Dlatego jej nie lubię, bo jeśli trafi mi się błąd składni, jakaś literówka w wewnętrznej funkcji, to nie wyświetli się. IFNA jest wyspecjalizowana i reaguje tylko na błąd nie znalezienia wartości, a w przypadku np. literówki arkusz zachowa się normalnie.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.