
Funkcja IF to jedna z pierwszych formuł, które powinien opanować każdy użytkownik programu Excel. W swojej istocie odpowiada na proste pytanie: „Czy ten warunek jest prawdziwy, czy fałszywy — i co powinienem zrobić w każdym z tych przypadków?”. Gdy zrozumiesz tę koncepcję, będziesz w stanie budować potężną logikę decyzyjną bezpośrednio w swoim arkuszu kalkulacyjnym, od podstawowych testów zaliczony/niezaliczony, po wielopoziomowe systemy ocen i reguły biznesowe.
Ten przewodnik przeprowadzi Cię przez funkcję IF od podstaw, a następnie omówi zagnieżdżone funkcje IF, typowe błędy oraz nowoczesne alternatywy, które obecnie oferuje Excel, aby utrzymać złożoną logikę w czytelnej i łatwej do zarządzania formie.
Składnia funkcji IF jest prosta:
=IF(logical_test, value_if_true, value_if_false)
A2>100, B5="Yes")Załóżmy, że kolumna B zawiera wyniki sprzedaży, a Ty chcesz oznaczyć każdego przedstawiciela, który przekroczył próg 10 000 USD. W kolumnie C wpisz:
=IF(B2>10000, "Quota Met", "Below Quota")
Excel sprawdza, czy wartość w komórce B2 jest większa niż 10 000. Jeśli tak, w komórce pojawi się napis „Quota Met”; w przeciwnym razie wyświetli się „Below Quota”. To cały mechanizm — wszystko inne jest tylko rozszerzeniem tego pomysłu.
Jako wynik możesz również zwracać liczby zamiast tekstu, a nawet inną formułę. Na przykład:
=IF(B2>10000, B2*0.1, 0)
Ta formuła wypłaca 10% prowizji tylko po osiągnięciu progu, a w przeciwnym razie zwraca 0.
Test logiczny może wykorzystywać dowolny ze standardowych operatorów porównania w programie Excel:
| Operator | Znaczenie | Przykład |
|---|---|---|
| = | Równy | A2="Approved" |
| <> | Nierówny | A2<>"Pending" |
| > | Większy niż | B2>500 |
| < | Mniejszy niż | B2<0 |
| >= | Większy lub równy | C2>=90 |
| <= | Mniejszy lub równy | C2<=59 |
Możesz łączyć warunki za pomocą funkcji AND oraz OR wewnątrz testu logicznego:
=IF(AND(B2>10000, C2="Active"), "Bonus Eligible", "Not Eligible")
Zwróci to „Bonus Eligible” tylko wtedy, gdy oba warunki są spełnione jednocześnie.
A co, jeśli potrzebujesz więcej niż dwóch wyników? Możesz zagnieździć jedną funkcję IF w innej. Klasycznym przypadkiem użycia jest kalkulator ocen literowych:
=IF(A2>=90, "A",
IF(A2>=80, "B",
IF(A2>=70, "C",
IF(A2>=60, "D", "F"))))
Excel ocenia każdy warunek od lewej do prawej. W momencie, gdy warunek jest PRAWDZIWY, zwraca ten wynik i ignoruje resztę. Zatem wynik 85 w pierwszym teście (≥90) otrzymuje FAŁSZ, w drugim teście (≥80) otrzymuje PRAWDA i zwraca „B”.
Zagnieżdżone funkcje IF nie ograniczają się do zwracania tekstu. Formuła dla zróżnicowanych rabatów może wyglądać tak:
=IF(B2>=1000, B2*0.85,
IF(B2>=500, B2*0.90,
IF(B2>=100, B2*0.95, B2)))
Zamówienia za 1000 USD lub więcej otrzymują 15% zniżki; za 500–999 USD otrzymują 10% zniżki; za 100–499 USD otrzymują 5% zniżki; cała reszta płaci pełną cenę. Ten rodzaj logiki pojawia się stale w pulpitach sprzedaży i śledzeniu wskaźników KPI, gdzie poziomy wydajności określają prowizje lub oceny.
IF(A2=Yes, ...) powoduje błąd. Tekst musi znajdować się w podwójnych cudzysłowach: IF(A2="Yes", ...).A2>=60 przed A2>=90, każdy wysoki wynik dopasuje się do pierwszego (niższego) progu i nigdy nie dotrze do wyższych.=IF(A2>10, "High") zwraca FAŁSZ (dosłownie słowo), gdy warunek nie zostanie spełniony. Jeśli chcesz uzyskać pustą komórkę, użyj jawnie "".IF("10">5, ...) może nie zachować się zgodnie z oczekiwaniami, ponieważ „10” to tekst. Używaj spójnych typów danych w swoich komórkach.Excel 2019 i Microsoft 365 wprowadziły funkcję IFS, która eliminuje piramidę zamykających się nawiasów, sprawiających, że zagnieżdżone funkcje IF są trudne do odczytania. Składnia to:
=IFS(logical_test1, value1, logical_test2, value2, ...)
Formuła oceny staje się znacznie bardziej przejrzysta:
=IFS(A2>=90, "A", A2>=80, "B", A2>=70, "C", A2>=60, "D", TRUE, "F")
Ostatnia para TRUE, "F" działa jako uniwersalny łapacz (ang. catch-all) — jeśli żaden wcześniejszy warunek nie jest prawdziwy, ten zawsze jest, więc zwraca „F”. Funkcja IFS jest idealna, gdy masz trzy lub więcej wyników i chcesz, aby formuła pozostała czytelna na pierwszy rzut oka.
Funkcja SWITCH jest najlepsza, gdy testujesz jedną wartość względem listy dokładnych dopasowań, a nie zakresów:
=SWITCH(A2, "Red", "Stop", "Yellow", "Caution", "Green", "Go", "Unknown")
Struktura to =SWITCH(expression, match1, result1, match2, result2, ..., default). Jeśli komórka A2 zawiera „Red”, funkcja zwraca „Stop”; dla „Yellow” zwraca „Caution”; dla „Green” zwraca „Go”; wszystko inne zwraca „Unknown”.
SWITCH jest znacznie bardziej czytelny niż zagnieżdżone funkcje IF, gdy mapujesz określone kody tekstowe lub liczbowowe na etykiety — to częsta potrzeba w zarządzaniu danymi HR, gdzie kody działów są mapowane na nazwy działów, lub w raportowaniu finansowym, gdzie kody kont są przypisywane do kategorii.
Funkcja IF staje się jeszcze potężniejsza, gdy połączy się ją z funkcjami wyszukiwania i funkcjami statystycznymi. Oto kilka praktycznych wzorców:
=IF(ISBLANK(B2), "Missing", B2*1.1)
Zapobiega błędom, gdy komórka odwołania może być pusta — to dobry nawyk podczas pracy z importowanymi danymi. Jeśli regularnie czyścisz przychodzące zestawy danych, połączenie IF z obsługą błędów jest tylko jedną z wielu technik omawianych w przepływach pracy transformacji danych Power Query.
=IFERROR(VLOOKUP(A2, D:E, 2, 0), "Not Found")
Zamiast zagnieżdżać VLOOKUP wewnątrz IF, funkcja IFERROR wychwytuje każdy błąd, który może wygenerować wyszukiwanie, i zastępuje go przyjaznym komunikatem. Więcej zaawansowanych technik wyszukiwania znajdziesz w kompletnym przewodniku po VLOOKUP.
Czasami w ogóle nie potrzebujesz funkcji IF wewnątrz SUM — SUMIF i SUMIFS obsługują agregację warunkową wydajniej niż zagnieżdżanie SUM w IF.
Zbudujmy od podstaw mały system oceny wydajności. Załóżmy, że Twój arkusz zawiera:
Chcesz, aby kolumna D wyświetlała ocenę „Excellent”, „Good”, „Needs Improvement” lub „At Risk” na podstawie obu tych kolumn.
Krok 1: Zdefiniuj swoje reguły. Excellent (Świetnie) = zadania ≥ 50 I jakość ≥ 85. Good (Dobrze) = zadania ≥ 40 I jakość ≥ 70. Needs Improvement (Wymaga poprawy) = zadania ≥ 30 LUB jakość ≥ 60. At Risk (Zagrożony) = cała reszta.
Krok 2: Wpisz formułę w komórce D2:
=IF(AND(B2>=50, C2>=85), "Excellent",
IF(AND(B2>=40, C2>=70), "Good",
IF(OR(B2>=30, C2>=60), "Needs Improvement",
"At Risk")))
Krok 3: Skopiuj formułę w dół kolumny D dla wszystkich pracowników.
Krok 4: Zastosuj formatowanie warunkowe do kolumny D, aby każda ocena wyświetlała się w innym kolorze — zielony dla Excellent, żółty dla Good, pomarańczowy dla Needs Improvement, czerwony dla At Risk. Teraz Twój arkusz komunikuje najważniejsze informacje na pierwszy rzut oka, bez konieczności czytania każdej komórki z osobna.
Zagnieżdżone funkcje IF z wieloma warunkami AND/OR mogą stać się naprawdę trudne do napisania od zera, zwłaszcza gdy reguły biznesowe obejmują pięć lub więcej poziomów, albo łączą warunki tekstowe i liczbowe. Jeśli opiszesz to, czego potrzebujesz, prostym językiem — na przykład: „oznacz zamówienia jako wysoki priorytet, jeśli ich wartość przekracza 5000 USD, a klient jest w poziomie premium, średni priorytet, jeśli którykolwiek z warunków jest prawdziwy, a niski priorytet w przeciwnym razie” — narzędzia oparte na sztucznej inteligencji do tworzenia formuł, takie jak GPTExcel, mogą błyskawicznie wygenerować poprawną formułę, oszczędzając Ci metody prób i błędów przy liczeniu nawiasów czy debugowaniu kolejności warunków.
Excel obsługuje do 64 poziomów zagnieżdżonych funkcji IF. W praktyce wszystko powyżej trzech lub czterech poziomów staje się trudne do odczytania i utrzymania. Dla większej liczby warunków przejdź na IFS, SWITCH lub przebuduj logikę, używając tabeli wyszukiwania w połączeniu z VLOOKUP lub INDEX MATCH.
Obie funkcje testują wiele warunków i zwracają różne wyniki. Kluczową różnicą jest składnia: zagnieżdżone IF wymaga nawiasu zamykającego dla każdego poziomu, tworząc głęboko zagnieżdżoną strukturę. Z kolei funkcja IFS wymienia wszystkie pary warunek-wynik w płaskiej sekwencji, co jest łatwiejsze do czytania, pisania i kontrolowania. Funkcja IFS jest dostępna w programach Excel 2019, Excel 2021 oraz platformie Microsoft 365.
Tak. Zarówno argument prawdy, jak i fałszu — lub oba z nich — mogą być dowolnym prawidłowym wyrażeniem w Excelu, w tym innymi funkcjami. Na przykład =IF(A2>0, SQRT(A2), 0) zwraca pierwiastek kwadratowy z liczb dodatnich i zero dla całej reszty. Dzięki temu funkcja IF jest elastycznym narzędziem do kontrolowania, kiedy mają zostać wykonane obliczenia.
Jeśli całkowicie pominiesz trzeci argument — wpisując =IF(A2>10, "High") — Excel domyślnie zwróci wartość logiczną FAŁSZ. Aby zamiast tego zwrócić pustą komórkę, musisz jawnie wprowadzić pusty ciąg znaków jako argument fałszu: =IF(A2>10, "High", "").
Dowiedz się, jak funkcja TEXT w programie Excel konwertuje liczby, daty i godziny na sformatowane ciągi tekstowe za pomocą kodów formatu — z prawdziwymi przykładami i praktycznymi zastosowaniami.
Dowiedz się, jak działa funkcja IF w programie Excel, jak zagnieżdżać wiele funkcji IF oraz kiedy używać nowoczesnych alternatyw, takich jak IFS i SWITCH, aby uzyskać czystszą i bardziej czytelną logikę.
Opanuj funkcje SUMIF i SUMIFS w Excelu, aby sumować dane na podstawie jednego lub wielu warunków — z dokładną składnią, praktycznymi przykładami i szczegółowym przewodnikiem krok po kroku.