Funkcja IF w Excelu: przykłady formuł dla tekstu, liczb, dat, pustych miejsc

  • Udostępnij To
Michael Brown

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. ISBLANK()

    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.

    =IF(ISBLANK(A1), 0, 1)

    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 niebadane "" Ocenia na TRUE, jeśli komórka zawiera jakieś dane. W przeciwnym razie ocenia na FALSE.

    Komórki z ciągi o zerowej długości są rozpatrywane pusty . =IF(A1"", 1, 0)

    Zwraca 1, jeśli A1 jest niepuste; 0 w przeciwnym razie.

    Jeśli A1 zawiera pusty ciąg, formuła zwraca 0. ISBLANK()=FALSE Ocenia na TRUE jeśli komórka nie jest pusta. W przeciwnym razie ocenia na FALSE.

    Komórki z ciągi o zerowej długości są rozpatrywane non-blank . =IF(ISBLANK(A1)=FALSE, 0, 1)

    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)

    Michael Brown jest oddanym entuzjastą technologii z pasją do upraszczania złożonych procesów za pomocą narzędzi programowych. Dzięki ponad dziesięcioletniemu doświadczeniu w branży technologicznej doskonalił swoje umiejętności w programach Microsoft Excel i Outlook, a także w Arkuszach i Dokumentach Google. Blog Michaela jest poświęcony dzieleniu się swoją wiedzą i doświadczeniem z innymi, dostarczając łatwych do zastosowania wskazówek i samouczków w celu poprawy produktywności i wydajności. Niezależnie od tego, czy jesteś doświadczonym profesjonalistą, czy początkującym, blog Michaela oferuje cenne spostrzeżenia i praktyczne porady dotyczące maksymalnego wykorzystania tych niezbędnych narzędzi programowych.