Spis treści
W tym artykule dowiesz się, jak budować instrukcję Excel IF dla różnych typów wartości, a także jak tworzyć wiele instrukcji IF.
IF jest jedną z najbardziej popularnych i przydatnych funkcji w Excelu. Ogólnie rzecz biorąc, używasz instrukcji IF do testowania warunku i zwracania jednej wartości, jeśli warunek jest spełniony, i innej wartości, jeśli warunek nie jest spełniony.
W tym tutorialu zamierzamy poznać składnię i powszechne zastosowania funkcji JEŻELI w Excelu, a następnie przyjrzeć się bliżej przykładom formuł, które, miejmy nadzieję, okażą się pomocne zarówno dla początkujących, jak i doświadczonych użytkowników.
Funkcja IF w programie Excel
JEŻELI to jedna z funkcji logicznych, która ocenia pewien warunek i zwraca jedną wartość, jeśli warunek jest TRUE, a inną wartość, jeśli warunek jest FALSE.
Składnia funkcji IF jest następująca:
IF(logiczny_test, [wartość_if_true], [wartość_if_false])Jak widzisz, IF przyjmuje w sumie 3 argumenty, ale tylko pierwszy jest obowiązkowy, pozostałe dwa są opcjonalne.
Test logiczny (wymagane) - warunek do przetestowania, może być oceniony jako TRUE lub FALSE.
Wartość_jeśli_true (opcjonalne) - wartość, która zostanie zwrócona, gdy test logiczny osiągnie wartość TRUE, tzn. warunek zostanie spełniony. Jeżeli pominięto, to wartość wartość_jeśli_false argument musi być zdefiniowany.
Wartość_jeśli_false (opcjonalne) - wartość, która zostanie zwrócona, gdy test logiczny zakończy się wynikiem FALSE, tzn. warunek nie zostanie spełniony. Jeżeli zostanie pominięty, to wartość wartość_jeśli_true argument musi być ustawiony.
Podstawowa formuła IF w Excelu
Aby stworzyć prosty Jeżeli zatem oświadczenie w Excelu, to jest to, co musisz zrobić:
- Dla logiczny_test Napisz wyrażenie, które zwraca albo TRUE albo FALSE. W tym celu użyjesz jednego z operatorów logicznych.
- Dla wartość_jeśli_true określa, co ma zostać zwrócone, gdy test logiczny zakończy się TRUE.
- Dla wartość_jeśli_false Określ, co ma zostać zwrócone, gdy test logiczny oceni się na FALSE. Chociaż ten argument jest opcjonalny, zalecamy zawsze go skonfigurować, aby uniknąć nieoczekiwanych wyników. Szczegółowe wyjaśnienie znajduje się w części Excel IF: rzeczy, które warto wiedzieć.
Jako przykład napiszmy bardzo prostą formułę IF, która sprawdza wartość w komórce A2 i zwraca "Dobrze", jeśli wartość jest większa niż 80, "Źle" w przeciwnym razie:
=IF(B2>80, "Good", "Bad")
Wzór ten przechodzi do C2, a następnie jest kopiowany w dół przez C7:
W przypadku, gdy chcesz zwrócić wartość tylko wtedy, gdy warunek jest spełniony (lub nie jest spełniony), w przeciwnym razie - nic, wtedy użyj pustego łańcucha ("") dla argumentu "undefined".Na przykład:
=IF(B2>80, "Good", "")
Ta formuła zwróci "Dobry", jeśli wartość w A2 jest większa niż 80, pusta komórka w przeciwnym razie:
Formuła Excel If then: rzeczy, które warto wiedzieć
Chociaż dwa ostatnie parametry funkcji JEŻELI są opcjonalne, twoja formuła może dać nieoczekiwane wyniki, jeśli nie znasz logiki leżącej u jej podstaw.
Jeśli wartość_if_true jest pominięta
Jeśli 2. argument formuły JEŻELI w Excelu zostanie pominięty (tzn. po teście logicznym będą dwa kolejne przecinki), to po spełnieniu warunku otrzymasz zero (0), co w większości przypadków nie ma sensu. Oto przykład takiej formuły:
=IF(B2>80, ,,Bad")
Aby zamiast tego zwrócić pustą komórkę, dostarcz pusty łańcuch ("") dla drugiego parametru, tak jak to:
=IF(B2>80, "", "Bad")
Poniższy zrzut ekranu demonstruje różnicę:
Jeśli wartość_if_false jest pominięta
Pominięcie trzeciego parametru IF da następujące wyniki, gdy test logiczny zakończy się FALSE.
Jeżeli po wartość_jeśli_true , funkcja JEŻELI zwróci wartość logiczną FAŁSZ. Dość nieoczekiwane, prawda? Oto przykład takiej formuły:
=IF(B2>80, "Good")
Wpisanie przecinka po wartość_jeśli_true argument zmusi Excela do zwrócenia 0, co też nie ma większego sensu:
=IF(B2>80, "Good",)
Najbardziej rozsądnym podejściem jest użycie ciągu o zerowej długości (""), aby uzyskać pustą komórkę, gdy warunek nie jest spełniony:
=IF(B2>80, "Good", "")
Wskazówka. Aby zwrócić wartość logiczną, gdy określony warunek jest spełniony lub nie, podaj TRUE dla wartość_jeśli_true i FALSE dla wartość_jeśli_false Aby wyniki były wartościami logicznymi, które inne funkcje Excela mogą rozpoznać, nie należy ujmować TRUE i FALSE w podwójne cudzysłowy, ponieważ zmieni to je w normalne wartości tekstowe.
Używanie funkcji IF w Excelu - przykłady formuł
Teraz, gdy znasz już składnię funkcji JEŻELI, spójrzmy na kilka przykładów formuł i dowiedzmy się, jak używać Jeżeli zatem wypowiedzi w rzeczywistych scenariuszach.
Funkcja IF w programie Excel z liczbami
Aby zbudować instrukcję IF dla liczb, należy użyć operatorów logicznych, takich jak:
- Równe (=)
- Nie równa się ()
- Większy niż (>)
- Większy lub równy (>=)
- Mniej niż (<)
- Mniejsza lub równa (<=)
Powyżej widziałeś już przykład takiej formuły, która sprawdza czy dana liczba jest większa od danej.
A oto formuła, która sprawdza, czy dana komórka zawiera liczba ujemna :
=IF(B2<0, "Invalid", "")
Dla liczb ujemnych (które są mniejsze od 0) formuła zwraca "Invalid"; dla zer i liczb dodatnich - pustą komórkę.
Funkcja Excel IF z tekstem
Często piszemy instrukcję IF dla wartości tekstowych używając operatora "równy" lub "nie równy".
Na przykład, poniższa formuła sprawdza Status dostawy w B2, aby określić, czy dane działanie jest wymagane, czy nie:
=IF(B2="dostarczony", "Nie", "Tak")
Przetłumaczona na zwykły angielski, formuła mówi: zwróć "Nie", jeśli B2 jest równe "dostarczonemu", "Tak" w przeciwnym razie.
Innym sposobem na osiągnięcie tego samego rezultatu jest użycie operatora "not equal to" i zamiana wartość_jeśli_true oraz wartość_jeśli_false wartości:
=IF(C2 "dostarczony", "Tak", "Nie")
Uwagi:
- Używając wartości tekstowych w parametrach IF, pamiętaj, aby zawsze zawrzeć je w cudzysłów .
- Jak większość innych funkcji Excela, IF domyślnie nie rozróżnia wielkości liter W powyższym przykładzie nie rozróżnia "delivered", "Delivered" i "DELIVERED".
Rozróżnianie wielkości liter w instrukcji IF dla wartości tekstowych
Aby traktować wielkie i małe litery jako różne znaki, należy użyć funkcji JEŻELI w połączeniu z funkcją EXACT rozróżniającą wielkość liter.
Na przykład, aby zwrócić "Nie" tylko wtedy, gdy B2 zawiera "DELIVERED" (duża litera), użyłbyś tej formuły:
=IF(EXACT(B2, "DELIVERED")), "No", "Yes")
Jeśli komórka zawiera częściowy tekst
W sytuacji, gdy chcemy oprzeć warunek na dopasowanie częściowe zamiast dokładnego dopasowania, natychmiastowym rozwiązaniem, które przychodzi na myśl jest użycie symboli wieloznacznych w teście logicznym. Jednak to proste i oczywiste podejście nie zadziała. Wiele funkcji akceptuje symbole wieloznaczne, ale niestety JEŻELI nie jest jednym z nich.
Działającym rozwiązaniem jest użycie IF w połączeniu z ISNUMBER i SEARCH (case-insensitive) lub FIND (case-sensitive).
Na przykład, w przypadku, gdy akcja "Nie" jest wymagana zarówno dla pozycji "Dostarczony", jak i "Przygotowany do dostarczenia", poniższa formuła będzie działać z powodzeniem:
=IF(ISNUMBER(SEARCH("deliv", B2)), "Nie", "Tak")
Więcej informacji można znaleźć w:
- Instrukcja Excel IF dla częściowego dopasowania tekstu
- Jeśli komórka zawiera wtedy
Excel IF oświadczenie z datami
Na pierwszy rzut oka może się wydawać, że formuły IF dla dat są podobne do instrukcji IF dla wartości liczbowych i tekstowych. Niestety, tak nie jest. W przeciwieństwie do wielu innych funkcji, IF nie rozpoznaje dat w testach logicznych i interpretuje je jako zwykłe ciągi tekstowe. Innymi słowy, nie można podać daty w postaci "1/1/2020" lub ">1/1/2020". Aby funkcja IF rozpoznała datę, należy zawinąć ją wfunkcja DATEVALUE.
Na przykład, oto jak możesz sprawdzić, czy dana data jest większa niż inna data:
=IF(B2>DATEVALUE("7/18/2022"), "Coming soon", "Completed")
Ta formuła ocenia daty w kolumnie B i zwraca "Coming soon", jeśli gra jest zaplanowana na 18-Jul-2022 lub później, "Completed" dla wcześniejszej daty.
Oczywiście nic nie stoi na przeszkodzie, aby wpisać datę docelową do wcześniej zdefiniowanej komórki (powiedzmy E2) i odwołać się do niej. Pamiętaj tylko, aby zablokować adres komórki znakiem $, aby było to odwołanie bezwzględne. Na przykład:
=IF(B2>$E$2, "Coming soon", "Completed")
Aby porównać datę z aktualna data , użyj funkcji DZIŚ(), na przykład:
=IF(B2>TODAY(), "Coming soon", "Completed")
Instrukcja Excel IF dla pustych i niepustych miejsc
Jeśli szukasz, aby w jakiś sposób oznaczyć swoje dane na podstawie określonej komórki (komórek), które są puste lub nie są puste, możesz albo:
- Użyj funkcji IF wraz z ISBLANK, lub
- Użyj wyrażeń logicznych (równy pustemu) lub "" (nie równy pustemu).
Poniższa tabela wyjaśnia różnicę między tymi dwoma podejściami z przykładami wzorów.
Test logiczny | Opis | Wzór Przykład | |
Puste komórki | ="" | Ocenia na TRUE, jeśli komórka jest wizualnie pusta, nawet jeśli zawiera ciąg o długości zero . W przeciwnym razie zwraca FALSE. | =IF(A1="", 0, 1) |
Zwraca 0, jeżeli A1 jest wizualnie puste. W przeciwnym razie zwraca 1.
Jeśli A1 zawiera pusty ciąg (""), formuła zwraca 0.
Ocenia na TRUE, jeśli komórka zawiera zupełnie nic - bez wzoru, bez spacji, bez pustych ciągów.
W przeciwnym razie zwraca FALSE.
Zwraca 0 jeśli A1 jest absolutnie puste, 1 w przeciwnym wypadku.
Jeśli A1 zawiera pusty ciąg (""), formuła zwraca 1.
Komórki z ciągi o zerowej długości są rozpatrywane pusty .
Zwraca 1, jeśli A1 jest niepuste; 0 w przeciwnym razie.
Jeśli A1 zawiera pusty ciąg, formuła zwraca 0.
Komórki z ciągi o zerowej długości są rozpatrywane non-blank .
Działa tak samo jak powyższa formuła, ale zwraca 1, jeśli A1 zawiera pusty ciąg.
A teraz zobaczmy puste i niepuste instrukcje IF w akcji. Załóżmy, że masz datę w kolumnie B tylko wtedy, gdy gra została już rozegrana. Aby oznaczyć zakończone gry, użyj jednej z tych formuł:
=IF(B2="", "", "Zakończone")
=IF(ISBLANK(B2), "", "Zakończono")
=IF($B2"", "Zakończone", "")
=IF(ISBLANK($B2)=FALSE, "Zakończono", "")
W przypadku, gdy testowane komórki nie mają ciągów o zerowej długości, wszystkie formuły zwrócą dokładnie takie same wyniki:
Sprawdź, czy dwie komórki są takie same
Aby utworzyć formułę, która sprawdza, czy dwie komórki pasują do siebie, porównaj komórki, używając znaku równości (=) w teście logicznym JEŻELI. Na przykład:
=IF(B2=C2, "Ten sam wynik", "")
Aby sprawdzić, czy dwie komórki zawierają ten sam tekst, w tym wielkość liter, spraw, aby twoja formuła JEŻELI była wrażliwa na wielkość liter za pomocą funkcji EXACT.
Na przykład, aby porównać hasła w A2 i B2, i zwraca "Dopasuj", jeśli dwa ciągi są dokładnie takie same, "Nie dopasuj" w przeciwnym razie, formuła jest:
=IF(EXACT(A2, B2), "Pasuje", "Nie pasuje")
IF następnie formuła do uruchomienia innej formuły
We wszystkich poprzednich przykładach instrukcja JEŻELI w Excelu zwracała wartości. Może ona jednak również wykonać pewne obliczenia lub zrealizować inną formułę w przypadku spełnienia lub niespełnienia określonego warunku. W tym celu należy osadzić inną funkcję lub wyrażenie arytmetyczne w polu wartość_jeśli_true i/lub wartość_jeśli_false argumenty.
Przykładowo, jeśli B2 jest większe od 80, to będziemy mieli je pomnożone przez 7%, w przeciwnym razie przez 3%:
=IF(B2>80, B2*7%, B2*3%)
Wielokrotne oświadczenia IF w programie Excel
W zasadzie istnieją dwa sposoby na napisanie wielu instrukcji IF w Excelu:
- Zagnieżdżanie kilku funkcji IF jedna w drugą
- Zastosowanie funkcji AND lub OR w teście logicznym
Zagnieżdżone oświadczenie IF
Funkcje zagnieżdżone IF pozwalają na umieszczenie wielu instrukcji IF w tej samej komórce, czyli przetestowanie wielu warunków w ramach jednej formuły i zwrócenie różnych wartości w zależności od wyników tych testów.
Załóżmy, że twoim celem jest przypisanie różnych bonusów w oparciu o wynik:
- Powyżej 90 - 10%
- 90 do 81 - 7%.
- 80 do 70 - 5%
- Mniej niż 70 - 3%
Aby wykonać zadanie, piszesz 3 osobne funkcje IF i zagnieżdżasz je jedna w drugiej jak poniżej:
=IF(B2>90, 10%, IF(B2>=81, 7%, IF(B2>=70, 5%, 3%))
Więcej przykładów formuł można znaleźć w:
- Formuła zagnieżdżonego IF w Excelu
- Zagnieżdżona funkcja IF: przykłady, najlepsze praktyki i alternatywy
Instrukcja Excel IF z wieloma warunkami
Aby ocenić kilka warunków za pomocą logiki AND lub OR, osadzić odpowiednią funkcję w teście logicznym:
- AND - zwróci TRUE jeśli wszystkie spełnione są warunki.
- OR - zwróci TRUE jeśli każdy z warunków jest spełniony.
Na przykład, aby zwrócić "Pass", jeśli oba wyniki w B2 i C2 są wyższe niż 80, wzór to:
=IF(AND(B2>80, C2>80), "Pass", "Fail")
Aby uzyskać "Pass", jeśli któryś z punktów jest wyższy niż 80, wzór to:
=IF(OR(B2>80, C2>80), "Pass", "Fail")
Pełne informacje można znaleźć na stronie:
- Formuła IF AND w programie Excel
- Excel IF OR funkcja z formułą przykłady
Jeśli błąd w Excelu
Począwszy od Excela 2007 mamy do dyspozycji specjalną funkcję o nazwie IFERROR, która służy do sprawdzania formuł pod kątem błędów. W Excelu 2013 i wyższych istnieje również funkcja IFNA, która służy do obsługi błędów #N/A.
I nadal mogą istnieć pewne okoliczności, w których użycie funkcji IF wraz z ISERROR lub ISNA jest lepszym rozwiązaniem. Zasadniczo IF ISERROR jest formułą, której należy użyć, gdy chcesz zwrócić coś, jeśli błąd i coś innego, jeśli nie ma błędu. Funkcja IFERROR nie jest w stanie tego zrobić, ponieważ zawsze zwraca wynik głównej formuły, jeśli nie jest to błąd.
Na przykład, aby porównać każdy wynik w kolumnie B z trzema najlepszymi wynikami w E2:E4 i zwrócić "Tak", jeśli zostanie znalezione dopasowanie, "Nie" w przeciwnym razie, wprowadzasz tę formułę w C2, a następnie kopiujesz ją w dół przez C7:
=IF(ISERROR(MATCH(B2, $E$2:$E$4, 0)), "No", "Yes" )
Więcej informacji na ten temat można znaleźć w artykule Formuła IF ISERROR w Excelu.
Mam nadzieję, że nasze przykłady pomogły Ci ogarnąć podstawy IF w Excelu. Dziękuję za przeczytanie i mam nadzieję, że zobaczymy się na naszym blogu w przyszłym tygodniu!
Zeszyt ćwiczeń
Excel oświadczenie IF - przykłady formuł (plik .xlsx)