Lekcja 3. Funkcje logiczne i tekstowe — JEŻELI, WYSZUKAJ.PIONOWO, ZŁĄCZ.TEKSTY
ŚredniPo co się tego uczymy?
Funkcja JEŻELI to arkuszowy odpowiednik instrukcji warunkowej if z programowania — pozwala arkuszowi SAMODZIELNIE podejmować decyzje na podstawie danych, zamiast tylko je sumować. Razem z funkcją WYSZUKAJ.PIONOWO (wyszukiwanie danych w innej tabeli) to jeden z najczęściej sprawdzanych tematów w zadaniach maturalnych z analizy danych.
Teoria
Funkcja JEŻELI(warunek; wartość_gdy_prawda; wartość_gdy_fałsz) — arkuszowy odpowiednik if/else: sprawdza warunek i zwraca JEDNĄ z dwóch wartości, zależnie od wyniku. Np. =JEŻELI(B2>=50; "Zaliczone"; "Niezaliczone").
Zagnieżdżanie JEŻELI (odpowiednik elif) — żeby obsłużyć WIĘCEJ niż dwie możliwości, wkłada się kolejne JEŻELI w miejsce argumentu "wartość_gdy_fałsz": =JEŻELI(B2>=90;"Bardzo dobry";JEŻELI(B2>=75;"Dobry";JEŻELI(B2>=50;"Dostateczny";"Niedostateczny"))) — każdy kolejny warunek sprawdzany jest TYLKO, gdy poprzedni był fałszywy.
Operatory logiczne jako funkcje — ORAZ(warunek1; warunek2; ...) zwraca PRAWDA tylko, gdy WSZYSTKIE warunki są spełnione (odpowiednik and), LUB(warunek1; warunek2; ...) zwraca PRAWDA, gdy CHOĆ JEDEN warunek jest spełniony (odpowiednik or). Łączy się je z JEŻELI: =JEŻELI(ORAZ(B2>=50; C2="obecny"); "Zaliczone"; "Niezaliczone").
JEŻELI.BŁĄD(wartość; wartość_gdy_błąd) — "łapie" błędy formuł (np. dzielenie przez zero, brak wyniku wyszukiwania) i zamiast wypisać brzydki komunikat błędu, zwraca WŁASNĄ, czytelną wartość zastępczą.
WYSZUKAJ.PIONOWO(szukana_wartość; tabela; numer_kolumny; [0]) — jedna z NAJWAŻNIEJSZYCH funkcji Excela: szuka podanej wartości w PIERWSZEJ kolumnie wskazanej tabeli, a zwraca wartość z INNEJ kolumny tego samego wiersza. Np. =WYSZUKAJ.PIONOWO(A2; Cennik!A:C; 3; 0) znajdzie kod produktu z A2 w tabeli "Cennik" i zwróci wartość z TRZECIEJ kolumny tej tabeli (dla znalezionego wiersza). Ostatni argument 0 (albo FAŁSZ) wymusza dopasowanie DOKŁADNE, a nie przybliżone.
Funkcje tekstowe:
LEWY(tekst; liczba_znaków)/PRAWY(tekst; liczba_znaków)— wycina podaną liczbę znaków od LEWEJ/PRAWEJ strony tekstu.DŁ(tekst)— zwraca długość tekstu (liczbę znaków).ZŁĄCZ.TEKSTY(tekst1; tekst2; ...)(albo operator&) — łączy kilka tekstów w jeden, np.=ZŁĄCZ.TEKSTY(A2; " "; B2)połączy imię z nazwiskiem, dodając między nimi spację.
Schemat
ZAGNIEŻDŻONE JEŻELI (odpowiednik if/elif/elif/else):
=JEŻELI(B2>=90; "Bardzo dobry";
JEŻELI(B2>=75; "Dobry";
JEŻELI(B2>=50; "Dostateczny";
"Niedostateczny")))
B2=95 → sprawdź >=90? TAK → "Bardzo dobry" (koniec, reszta pominięta)
B2=80 → >=90? NIE → sprawdź >=75? TAK → "Dobry"
B2=40 → >=90? NIE → >=75? NIE → >=50? NIE → "Niedostateczny"
WYSZUKAJ.PIONOWO - szuka w PIERWSZEJ kolumnie, zwraca z INNEJ:
Tabela "Cennik": Szukane: A2 = "P002"
A B C ↓
P001 Mleko 3.50 =WYSZUKAJ.PIONOWO(A2; Cennik; 3; 0)
P002 Chleb 4.20 ↓
P003 Masło 6.80 zwraca: 4.20 (kolumna C, wiersz P002)
Przykład z życia
Sklep internetowy przechowuje CENNIK w osobnym arkuszu (kod produktu → nazwa → cena), a w arkuszu ZAMÓWIEŃ wpisuje się tylko kody produktów — funkcja WYSZUKAJ.PIONOWO automatycznie "podciąga" właściwą cenę z cennika do zamówienia, bez ręcznego przepisywania. To dokładnie mechanizm, na którym opierają się arkusze faktur i zamówień w prawdziwych firmach.
funkcje-logiczne-tekstowe.txt
' Prosta funkcja JEŻELI
=JEŻELI(B2>=50; "Zaliczone"; "Niezaliczone")
' Zagnieżdżone JEŻELI - klasyfikacja na 4 kategorie
=JEŻELI(B2>=90; "Bardzo dobry";
JEŻELI(B2>=75; "Dobry";
JEŻELI(B2>=50; "Dostateczny"; "Niedostateczny")))
' JEŻELI + ORAZ - dwa warunki naraz
=JEŻELI(ORAZ(B2>=50; C2="obecny"); "Zaliczone"; "Niezaliczone")
' JEŻELI.BŁĄD - bezpieczne dzielenie
=JEŻELI.BŁĄD(A2/B2; "Błąd: dzielenie przez zero")
' WYSZUKAJ.PIONOWO - wyszukiwanie ceny w cenniku
=WYSZUKAJ.PIONOWO(A2; Cennik!A:C; 3; 0)
' Funkcje tekstowe
=LEWY(A2; 3) ' pierwsze 3 znaki tekstu
=DŁ(A2) ' długość tekstu
=ZŁĄCZ.TEKSTY(A2; " "; B2) ' połączenie imienia i nazwiska
Komentarz i wyjaśnienie kodu
W zagnieżdżonym JEŻELI KOLEJNOŚĆ warunków ma znaczenie — sprawdzamy NAJPIERW najwyższy próg (>=90), potem coraz niższe; gdyby kolejność była odwrotna (najpierw >=50), to każda ocena spełniająca ten łagodny warunek "zatrzymałaby się" tam, nigdy nie docierając do sprawdzenia wyższych progów.
Ostatni argument WYSZUKAJ.PIONOWO (0 lub FAŁSZ) jest KLUCZOWY — bez niego (albo z 1/PRAWDA) funkcja szuka NAJBLIŻSZEGO PRZYBLIŻONEGO dopasowania zamiast dokładnego, co przy danych tekstowych (kody produktów) niemal zawsze daje BŁĘDNY wynik.
Ćwiczenie samodzielne
Utwórz arkusz z listą 10 wyników testu (0-100 punktów) i formułą JEŻELI klasyfikującą każdy wynik jako "Zaliczone" (≥50) albo "Niezaliczone". Następnie rozbuduj formułę do CZTERECH kategorii ocen, zagnieżdżając kolejne JEŻELI.
Zadania do pracy własnej
Utwórz arkusz z 10 wynikami sprawdzianu i formułą
JEŻELIwypisującą "Zdał" lub "Nie zdał" (próg 50 punktów).Utwórz DWA arkusze (albo dwie sekcje jednego arkusza): "Cennik" (kod produktu, nazwa, cena) i "Zamówienia" (kod produktu, ilość). W arkuszu zamówień użyj
WYSZUKAJ.PIONOWO, żeby automatycznie pobrać cenę z cennika, i oblicz wartość zamówienia (cena × ilość).Rozbuduj arkusz ocen o formułę łączącą imię i nazwisko ucznia (
ZŁĄCZ.TEKSTY) z jego klasyfikacją oceny (zagnieżdżoneJEŻELI) w JEDNYM tekście, np. "Jan Kowalski: Bardzo dobry". Dodatkowo zabezpiecz formułęWYSZUKAJ.PIONOWO(jeśli używałeś jej we wcześniejszym zadaniu) funkcjąJEŻELI.BŁĄD, żeby dla nieistniejącego kodu produktu wypisywała "Brak w cenniku" zamiast standardowego komunikatu błędu.
Typowe błędy
Zapominanie o ostatnim argumencie 0 w WYSZUKAJ.PIONOWO — bez niego funkcja może zwrócić NIEPOPRAWNY wynik (dopasowanie przybliżone zamiast dokładnego), co jest szczególnie niebezpieczne przy szukaniu kodów/nazw tekstowych.
Zła kolejność warunków w zagnieżdżonym JEŻELI — analogicznie do kolejności elif w Pythonie: warunek OGÓLNIEJSZY umieszczony PRZED bardziej SZCZEGÓŁOWYM "przechwytuje" wszystkie pasujące przypadki.
Niepoliczenie wszystkich nawiasów zamykających w zagnieżdżonych funkcjach — każde zagnieżdżone JEŻELI dodaje jeden nawias otwierający, o którym trzeba pamiętać przy zamykaniu na końcu formuły; brakujący nawias to częsty błąd składniowy w złożonych formułach.
Nawiązanie do egzaminu zawodowego
Funkcje logiczne (zwłaszcza zagnieżdżone JEŻELI) i WYSZUKAJ.PIONOWO to jeden z najczęściej sprawdzanych elementów zaawansowanych zadań maturalnych z arkusza — łączą w sobie logikę warunkową (znaną z programowania) z praktycznym przetwarzaniem tabel danych. W kolejnej lekcji zobaczysz, jak WIZUALIZOWAĆ takie dane wykresami i formatowaniem warunkowym.