=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.
| A | B | C | |
|---|---|---|---|
| 1 | Student | Score | Result |
| 2 | Ana | 72 | Pass |
| 3 | Ben | 45 | Fail |
| 4 | Chloe | 50 | Pass |
| 5 | Dan | 38 | Fail |
| 6 | Eve | 91 | Pass |
=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.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Order | Region | Free delivery | Exact case |
| 2 | 1001 | North | Yes | Yes |
| 3 | 1002 | South | No | No |
| 4 | 1003 | north | Yes | No |
| 5 | 1004 | East | No | No |
| 6 | 1005 | NORTH | Yes | No |
=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:
| A | B | C | |
|---|---|---|---|
| 1 | Rep | Sales | Bonus |
| 2 | Ana | $1,400 | $70 |
| 3 | Ben | $800 | $0 |
| 4 | Chloe | $1,000 | $0 |
| 5 | Dan | $2,600 | $130 |
| 6 | Eve | $1,150 | $58 |
=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:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Item | Qty | Price | Total | Status |
| 2 | Pens | 10 | $1.50 | $15.00 | Ordered |
| 3 | Paper | $4.20 | Not ordered | ||
| 4 | Ink | 2 | $18.00 | $36.00 | Ordered |
| 5 | Tape | $2.80 | Not ordered | ||
| 6 | Clips | 5 | $0.90 | $4.50 | Ordered |
=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
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Item | Stock | Minimum | Status |
| 2 | Pens | 12 | 20 | |
| 3 | Paper | 30 | 25 | |
| 4 | Tape | 15 | 12 | |
| 5 | Ink | 8 | 10 |
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.
| A | B | C | |
|---|---|---|---|
| 1 | Rep | Sales | Bonus |
| 2 | Ana | $1,250 | |
| 3 | Ben | $600 | |
| 4 | Chloe | $2,300 |
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.