Menu

Funkcja JEŻELI (IF) w Excelu: formuła, przykłady i błędy

=JEŻELI(B2>=50;"Pass";"Fail") sprawdza, czy B2 wynosi co najmniej 50, i zwraca Pass, jeśli tak, a Fail, jeśli nie. Poznaj składnię JEŻELI, JEŻELI z tekstem, z obliczeniem, z pustą komórką i błędy, przez które JEŻELI zwraca zły wynik.

Każdy arkusz na tej stronie działa na żywo: zmień liczbę albo formułę, a się przeliczy.

=JEŻELI(B2>=50;"Pass";"Fail") (po angielsku IF) sprawdza, czy wynik w B2 wynosi co najmniej 50. Jeśli tak, komórka pokazuje Pass; jeśli nie, pokazuje Fail. Tabela poniżej pokazuje formułę po angielsku, =IF(B2>=50,"Pass","Fail"), ale możesz w niej wpisywać formuły także po polsku, ze średnikami.

Zaliczone czy nie
C2
ABC
1StudentScoreResult
2Ana72Pass
3Ben45Fail
4Chloe50Pass
5Dan38Fail
6Eve91Pass
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.W polskim Excelu: =JEŻELI(B2>=50;"Pass";"Fail")

Kliknij C2, aby zobaczyć formułę, a potem zmień wynik Bena w B3 na 60: jego rezultat zmieni się na Pass. Chloe ma dokładnie 50, a >= znaczy „50 lub więcej”, więc zalicza. Z > by nie zaliczyła.

Składnia funkcji JEŻELI

=IF(logical_test, value_if_true, value_if_false)
  • logical_test (test_logiczny) to dowolne porównanie albo formuła, która daje PRAWDA albo FAŁSZ: B2>=50, C2="Paid", D2<DZIŚ().
  • value_if_true (wartość_jeżeli_prawda) to to, co komórka pokazuje, gdy test daje PRAWDA.
  • value_if_false (wartość_jeżeli_fałsz) to to, co pokazuje w przeciwnym razie. Ten argument jest opcjonalny: pomiń go, a komórka pokaże FAŁSZ, gdy test się nie powiedzie. Zostaw średnik, ale nie wpisuj argumentu, =JEŻELI(B2>=50;"Pass";), a komórka pokaże 0.

Każdy wynik może być tekstem w cudzysłowie ("Pass"), liczbą (0), odwołaniem do komórki (C2) albo inną formułą. Tekst bez cudzysłowu jest odczytywany jako nazwa, więc =JEŻELI(B2>=50;Pass;Fail) daje #NAZWA? (po angielsku #NAME?).

Operatory porównania to = (równe), <> (różne), >, <, >= i <=. W polskim Excelu argumenty oddziela się średnikami, bo przecinek jest separatorem dziesiętnym: =JEŻELI(B2>=50;"Pass";"Fail"). Arkusze Google mają tę samą funkcję IF z tymi samymi argumentami.

JEŻELI z tekstem

Test może porównać komórkę z tekstem. Tekst piszesz w cudzysłowie, a porównanie nie rozróżnia wielkich i małych liter.

Darmowa dostawa dla regionu North
C2
ABCD
1OrderRegionFree deliveryExact case
21001NorthYesYes
31002SouthNoNo
41003northYesNo
51004EastNoNo
61005NORTHYesNo
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.W polskim Excelu: =JEŻELI(B2="North";"Yes";"No")

Kolumna C pokazuje Yes dla North, north i NORTH, bo = nie zwraca uwagi na wielkość liter. Gdy wielkość liter ma znaczenie (kody produktów, hasła), testuj funkcją PORÓWNAJ (EXACT), jak w kolumnie D: Yes dostaje tylko wiersz, w którym jest dokładnie North.

Aby sprawdzić wszystko poza jedną wartością, użyj <>: =JEŻELI(B2<>"North";"Standard";"Free"). Aby sprawdzić, czy komórka zawiera gdzieś w środku dane słowo, JEŻELI potrzebuje funkcji SZUKAJ.TEKST, którą omawia strona o funkcjach CZY.

JEŻELI z obliczeniem

Wyniki funkcji JEŻELI nie muszą być tekstem. Tutaj każdy handlowiec dostaje premię 5% od sprzedaży powyżej 1000, a poniżej nic:

Premia powyżej 1000
C2
ABC
1RepSalesBonus
2Ana$1,400$70
3Ben$800$0
4Chloe$1,000$0
5Dan$2,600$130
6Eve$1,150$58
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.W polskim Excelu: =JEŻELI(B2>1000;B2*5%;0)

Ana dostaje $70 (5% z 1400), a Ben $0. Chloe sprzedała dokładnie 1000, a test brzmi „więcej niż 1000”, więc też dostaje $0. Zmień formułę w C2 na =JEŻELI(B2>=1000;B2*5%;0), a jej premia wyniesie $50.

Test może też porównać dwie komórki, =JEŻELI(B2>C2;"Over target";"Under target"), albo komórkę z obliczeniem, =JEŻELI(B2>ŚREDNIA($B$2:$B$6);"Above average";"").

JEŻELI komórka jest pusta

B2="" daje PRAWDA, gdy B2 jest puste. Użyj tego, aby pominąć wiersze, które nie mają jeszcze danych, żeby kolumna z formułą nie wypełniła się zerami:

Pomiń wiersze bez ilości
D2
ABCDE
1ItemQtyPriceTotalStatus
2Pens10$1.50$15.00Ordered
3Paper$4.20Not ordered
4Ink2$18.00$36.00Ordered
5Tape$2.80Not ordered
6Clips5$0.90$4.50Ordered
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.W polskim Excelu: =JEŻELI(B2="";"";B2*C2)

"" (dwa cudzysłowy bez niczego pomiędzy) to pusty tekst, więc Paper i Tape nic nie pokazują w kolumnie D. Wpisz ilość w B3, a pojawi się suma. Kolumna E sprawdza odwrotność z <>"", czyli „nie jest puste”.

Komórka zawierająca ="" wygląda na pustą, ale dla CZY.PUSTA (ISBLANK) pusta nie jest. Ta różnica ma znaczenie, gdy inne formuły czytają kolumnę, na przykład ILE.NIEPUSTYCH ją liczy.

JEŻELI z dwoma warunkami

JEŻELI przyjmuje jeden test. Aby wymagać dwóch rzeczy naraz, wstaw do testu ORAZ (AND); aby zaakceptować którąkolwiek z dwóch, użyj LUB (OR):

=IF(AND(B2>=50,C2>=50),"Pass","Fail")
=IF(OR(B2="North",B2="South"),"Zone 1","Zone 2")

W polskim Excelu: =JEŻELI(ORAZ(B2>=50;C2>=50);"Pass";"Fail") i =JEŻELI(LUB(B2="North";B2="South");"Zone 1";"Zone 2"). Obie funkcje wyjaśnia z przykładami na żywo strona o ORAZ i LUB. Dla trzech lub więcej możliwych wyników (A, B, C, F) zagnieźdź jedną funkcję JEŻELI w drugiej (zagnieżdżone JEŻELI) albo użyj funkcji WARUNKI.

Ćwiczenie: zamówić czy nie

Kontrola zapasów
D2
ABCD
1ItemStockMinimumStatus
2Pens1220
3Paper3025
4Tape1512
5Ink810
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.

Twoja kolej: W D2 pokaż "Reorder", gdy zapas w B2 jest mniejszy niż minimum w C2, a w przeciwnym razie "OK". Formuła kopiuje się w dół do D5.

Premia 10%
C2
ABC
1RepSalesBonus
2Ana$1,250
3Ben$600
4Chloe$2,300
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.

Twoja kolej: W C2 zwróć premię w wysokości 10% sprzedaży z B2, gdy sprzedaż przekracza 1000, a w przeciwnym razie 0. Formuła kopiuje się w dół do C4.

Typowe błędy w funkcji JEŻELI

Cudzysłów wokół liczby. =JEŻELI(B2>"50";"High";"Low") porównuje B2 z tekstem "50", a nie z liczbą 50. Excel stawia każdą liczbę niżej niż dowolny tekst, więc test daje FAŁSZ dla każdej liczby w B2 i formuła zawsze pokazuje Low. Liczby pisz bez cudzysłowu: B2>50.

Używanie ==. Test równości w Excelu to pojedynczy znak =. Gdy wpiszesz =JEŻELI(B2=="Paid";"Yes";"No"), Excel odrzuci formułę z komunikatem „Wystąpił problem z tą formułą” (There's a problem with this formula).

Liczby zapisane jako tekst. Jeśli B2 zawiera '12 (tekst, który wygląda jak liczba, często z importu), B2>=50 porównuje tekst z liczbą. Tekst zawsze jest uznawany za większy, więc test daje PRAWDA i 12 zalicza. Najpierw przekonwertuj kolumnę; jak to zrobić, pokazuje strona o zamianie tekstu na liczby.

Oczekiwanie PRAWDA jako tekstu. =JEŻELI(B2>=50;"PRAWDA";"FAŁSZ") zwraca te słowa jako tekst, którego inne formuły nie mogą użyć jako wartości logicznych. Jeśli chcesz PRAWDA i FAŁSZ, JEŻELI nie jest ci potrzebne: =B2>=50 zwraca je bezpośrednio.

Brak nawiasów zamykających. Każde JEŻELI otwiera jeden nawias i potrzebuje własnego ). Podczas edycji Excel pokazuje każdą parę nawiasów w innym kolorze, więc łatwo zauważyć brakujący.

Najczęściej zadawane pytania

Jak napisać formułę JEŻELI w Excelu?

Napisz =JEŻELI(test; wartość_jeżeli_prawda; wartość_jeżeli_fałsz). Na przykład =JEŻELI(B2>=50;"Pass";"Fail") pokazuje Pass, gdy B2 wynosi co najmniej 50, a w przeciwnym razie Fail. Tekstowe wyniki piszesz w cudzysłowie, liczby i odwołania do komórek bez niego.

Dlaczego moja formuła JEŻELI zwraca FAŁSZ?

Pominąłeś trzeci argument. =JEŻELI(B2>=50;"Pass") zwraca FAŁSZ, gdy test się nie powiedzie. Dodaj wartość dla tego przypadku, na przykład "", aby pokazać pustą komórkę: =JEŻELI(B2>=50;"Pass";"").

Czy funkcja JEŻELI rozróżnia wielkość liter?

Nie. =JEŻELI(B2="North";"Yes";"No") zwraca Yes dla North, north i NORTH. Aby dopasować dokładną wielkość liter, użyj w teście funkcji PORÓWNAJ: =JEŻELI(PORÓWNAJ(B2;"North");"Yes";"No").

Jak sprawić, by JEŻELI zostawiała pustą komórkę?

Zwróć pusty tekst, czyli dwa cudzysłowy: =JEŻELI(B2="";"";B2*C2) nic nie pokazuje, gdy B2 jest puste, a w przeciwnym razie pokazuje iloczyn. Komórka nadal zawiera formułę, więc CZY.PUSTA zwraca dla niej FAŁSZ.

Czy JEŻELI może sprawdzić więcej niż jeden warunek?

Tak. Wstaw ORAZ albo LUB do testu, =JEŻELI(ORAZ(B2>=50;C2>=50);"Pass";"Fail"), albo zagnieźdź jedną funkcję JEŻELI w drugiej, gdy wyników jest więcej niż dwa. W Excelu 2019 i nowszym WARUNKI obsługują kilka wyników bez zagnieżdżania.

Ilustracja języków programowania w Coddy

Ucz się programowania z Coddy

ZACZNIJ