Funkcja IF w programie Excel z wieloma warunkami

  • Udostępnij To
Michael Brown

Samouczek pokazuje, jak tworzyć wiele instrukcji IF w Excelu z logiką AND, jak również OR. Dowiesz się również, jak używać IF razem z innymi funkcjami Excela.

W pierwszej części naszego samouczka Excel IF, przyjrzeliśmy się jak skonstruować prostą instrukcję IF z jednym warunkiem dla tekstu, liczb, dat, pustych miejsc i nie pustych miejsc. Jednak dla potężnej analizy danych, możesz często potrzebować oceny wielu warunków w tym samym czasie. Poniższe przykłady formuł pokażą Ci najbardziej efektywne sposoby, aby to zrobić.

    Jak używać funkcji IF z wieloma warunkami

    W zasadzie istnieją dwa rodzaje Formuła IF z wieloma kryteriami opartymi na logice AND / OR . W związku z tym w teście logicznym twojej formuły IF powinieneś użyć jednej z tych funkcji:

    • Funkcja AND - zwraca TRUE jeśli wszystkie warunki są spełnione; w przeciwnym razie FALSE.
    • Funkcja OR - zwraca TRUE jeśli każdy pojedynczy warunek jest spełniony; w przeciwnym razie FALSE.

    Aby lepiej zilustrować ten punkt, zbadajmy kilka przykładów rzeczywistych formuł.

    Polecenie IF w Excelu z wieloma warunkami (logika AND)

    Ogólna formuła Excela IF z dwoma lub więcej warunkami jest taka:

    IF(AND( stan1 , stan2 , ...), wartość_if_true, wartość_if_false)

    Przetłumaczona na język ludzki formuła mówi: Jeśli warunek 1 jest prawdziwy ORAZ warunek 2 jest prawdziwy, zwróć wartość_jeśli_true ; else return wartość_jeśli_false .

    Załóżmy, że masz tabelę, w której w kolumnach B i C zestawiono wyniki dwóch testów. Aby zdać egzamin końcowy, student musi mieć oba wyniki większe niż 50.

    Do testu logicznego używasz następującego polecenia AND: AND(B2>50, C2>50)

    Jeśli oba warunki są prawdziwe, formuła zwróci "Pass"; jeśli któryś z warunków jest fałszywy - "Fail".

    =IF(AND(B2>50, B2>50), "Pass", "Fail")

    Łatwe, prawda? Poniższy zrzut ekranu dowodzi, że nasza formuła Excel IF /AND działa poprawnie:

    W podobny sposób można użyć funkcji JEŻELI w Excelu z wieloma warunki tekstowe .

    Na przykład, aby wyjść "Dobry", jeśli zarówno B2 i C2 są większe niż 50, "Zły" w przeciwnym razie, formuła jest:

    =IF(AND(B2="pass", C2="pass"), "Good!", "Bad")

    Ważna uwaga! Funkcja AND sprawdza wszystkie warunki Takie zachowanie jest trochę nietypowe, ponieważ w większości języków programowania kolejne warunki nie są testowane, jeśli któryś z poprzednich testów zwrócił FALSE.

    W praktyce pozornie poprawna instrukcja IF może spowodować błąd z powodu tej specyfiki. Na przykład poniższa formuła zwróciłaby #DIV/0! (błąd "dzielenia przez zero"), jeśli komórka A2 jest równa 0:

    =IF(AND(A20, (1/A2)>0.5), "Good", "Bad")

    Aby tego uniknąć, powinieneś użyć zagnieżdżonej funkcji IF:

    =IF(A20, IF((1/A2)>0.5, "Good", "Bad"), "Bad")

    Więcej informacji na ten temat można znaleźć w artykule IF AND formuła w Excelu.

    Funkcja IF w Excelu z wieloma warunkami (logika OR)

    Aby zrobić jedną rzecz, jeśli każdy stan jest spełniony, w przeciwnym razie zrób coś innego, użyj tej kombinacji funkcji IF i OR:

    IF(OR( stan1 , stan2 , ...), wartość_if_true, wartość_if_false)

    Różnica w stosunku do formuły IF / AND omówionej powyżej polega na tym, że Excel zwraca TRUE, jeśli którykolwiek z określonych warunków jest prawdziwy.

    Jeśli więc w poprzednim wzorze użyjemy OR zamiast AND:

    =IF(OR(B2>50, B2>50), "Pass", "Fail")

    Wtedy każdy, kto ma więcej niż 50 punktów z któregokolwiek z egzaminów, otrzyma "Pass" w kolumnie D. Przy takich warunkach nasi uczniowie mają większe szanse na zdanie egzaminu końcowego (Yvette jest szczególnie pechowa oblewając tylko o 1 punkt :)

    Wskazówka. W przypadku tworzenia wielokrotne oświadczenie IF z tekstem i testowanie wartości w jednej komórce z logiką OR (tj. Komórka może być "tym" lub "tym"), to możesz zbudować bardziej kompaktową formułę za pomocą stałej tablicowej.

    Na przykład, aby oznaczyć sprzedaż jako "zamkniętą", jeśli komórka B2 ma wartość "dostarczona" lub "zapłacona", formuła to:

    =IF(OR(B2={"dostarczony", "zapłacony"}), "Zamknięty", "")

    Więcej przykładów formuł można znaleźć w Excelu Funkcja IF OR.

    IF z wieloma AND & OR oświadczeniami

    Jeśli Twoje zadanie wymaga oceny kilku zestawów wielu warunków, będziesz musiał wykorzystać obie funkcje AND & OR jednocześnie.

    W naszej przykładowej tabeli załóżmy, że masz następujące kryteria sprawdzania wyników egzaminu:

    • Warunek 1: egzamin1>50 i egzamin2>50
    • Warunek 2: egzamin1>40 i egzamin2>60

    Jeśli któryś z warunków zostanie spełniony, egzamin końcowy uznaje się za zdany.

    Na pierwszy rzut oka formuła wydaje się nieco skomplikowana, ale w rzeczywistości wcale taka nie jest! Wystarczy wyrazić każdy z powyższych warunków jako instrukcję AND i zagnieździć je w funkcji OR (ponieważ nie jest konieczne spełnienie obu warunków, wystarczy któryś z nich):

    OR(AND(B2>50, C2>50), AND(B2>40, C2>60)

    Następnie użyj funkcji OR do testu logicznego IF i podaj pożądany wartość_jeśli_true oraz wartość_jeśli_false wartości. W rezultacie otrzymujesz następującą formułę IF z wieloma warunkami AND / OR:

    =IF(OR(AND(B2>50, C2>50), AND(B2>40, C2>60), "Pass", "Fail")

    Poniższy zrzut ekranu wskazuje, że wykonaliśmy formułę poprawnie:

    Oczywiście, nie jesteś ograniczony do używania tylko dwóch funkcji AND/OR w swoich formułach IF. Możesz użyć tylu z nich, ile wymaga tego twoja logika biznesowa, pod warunkiem, że:

    • W programie Excel 2007 i nowszych masz do dyspozycji nie więcej niż 255 argumentów, a całkowita długość formuły JEŻELI nie przekracza 8 192 znaków.
    • W programie Excel 2003 i niższych, nie ma więcej niż 30 argumentów, a całkowita długość twojej formuły IF nie przekracza 1024 znaków.

    Zagnieżdżone polecenie IF do sprawdzenia wielu testów logicznych

    Jeśli chcesz ocenić wiele testów logicznych w jednej formule, możesz zagnieździć kilka funkcji jedna w drugiej. Takie funkcje nazywane są zagnieżdżone funkcje IF Są one szczególnie przydatne, gdy chcemy zwrócić różne wartości w zależności od wyników testów logicznych.

    Oto typowy przykład: załóżmy, że chcesz zakwalifikować osiągnięcia uczniów jako " Dobra ", " Zadowalający " i " Słaba " w oparciu o następującą punktację:

    • Dobrze: 60 lub więcej (>=60)
    • Zadowalający: między 40 a 60 (>40 i <60)
    • Słaby: 40 lub mniej (<=40)

    Przed napisaniem formuły zastanów się nad kolejnością funkcji, które zamierzasz zagnieździć. Excel będzie oceniał testy logiczne w kolejności, w jakiej pojawiają się w formule. Gdy warunek oceni się na TRUE, kolejne warunki nie są testowane, co oznacza, że formuła zatrzymuje się po pierwszym wyniku TRUE.

    W naszym przypadku funkcje są ułożone od największej do najmniejszej:

    =IF(B2>=60, "Dobry", IF(B2>40, "Zadowalający", "Słaby"))

    Oczywiście w razie potrzeby można zagnieździć więcej funkcji (do 64 w nowoczesnych wersjach).

    Więcej informacji znajdziesz w rozdziale Jak używać wielu zagnieżdżonych instrukcji IF w Excelu.

    Formuła tablicowa Excel IF z wieloma warunkami

    Innym sposobem, aby uzyskać Excel IF do testowania wielu warunków, jest użycie formuły tablicowej.

    Aby ocenić warunki za pomocą logiki AND, użyj gwiazdki:

    IF( stan1 ) * ( stan2 ) * ..., wartość_if_true, wartość_if_false)

    Aby przetestować warunki za pomocą logiki OR, użyj znaku plus:

    IF( stan1 ) + ( stan2 ) + ..., wartość_if_true, wartość_if_false)

    Aby poprawnie zakończyć formułę tablicową, należy nacisnąć razem klawisze Ctrl + Shift + Enter. W programach Excel 365 i Excel 2021 działa to również jako zwykła formuła ze względu na obsługę tablic dynamicznych.

    Na przykład, aby uzyskać "Pass", jeśli zarówno B2 i C2 są większe niż 50, wzór jest:

    =IF((B2>50) * (C2>50), "Pass", "Fail")

    W moim Excelu 365 zwykła formuła działa po prostu dobrze (jak widać na zrzutach ekranu powyżej). W Excelu 2019 i niższych pamiętaj, aby uczynić go formułą tablicową za pomocą skrótu Ctrl + Shift + Enter.

    Aby ocenić wiele warunków za pomocą logiki OR, wzór to:

    =IF((B2>50) + (C2>50), "Pass", "Fail")

    Używanie funkcji IF wraz z innymi funkcjami

    W tym rozdziale wyjaśniono, jak używać JEŻELI w połączeniu z innymi funkcjami Excela i jakie korzyści daje to użytkownikowi.

    Przykład 1. Jeśli błąd #N/A w VLOOKUP

    Kiedy VLOOKUP lub inna funkcja lookup nie może czegoś znaleźć, zwraca błąd #N/A. Aby twoje tabele wyglądały ładniej, możesz zwrócić zero, puste miejsce lub określony tekst, jeśli #N/A. W tym celu użyj tej ogólnej formuły:

    IF(ISNA(VLOOKUP(...)), wartość_jeśli_na , VLOOKUP(...))

    Na przykład:

    Jeśli #N/A zwróć 0:

    Jeśli wartość lookup w E1 nie zostanie znaleziona, formuła zwraca zero.

    =IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), 0, VLOOKUP(E1, A2:B10, 2, FALSE))

    Jeśli #N/A zwróć puste miejsce:

    Jeśli wartość lookup nie zostanie znaleziona, formuła nie zwraca nic (pusty łańcuch).

    =IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "", VLOOKUP(E1, A2:B10, 2, FALSE))

    Jeśli #N/A zwróć określony tekst:

    Jeśli wartość lookup nie zostanie znaleziona, formuła zwraca określony tekst.

    =IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "Nie znaleziono", VLOOKUP(E1, A2:B10, 2, FALSE))

    Więcej przykładów formuł znajdziesz w VLOOKUP z IF statement w Excelu.

    Przykład 2. JEŻELI z funkcjami SUMA, ŚREDNIA, MIN i MAX

    Aby zsumować wartości komórek na podstawie określonych kryteriów, Excel udostępnia funkcje SUMIF i SUMIFS.

    W niektórych sytuacjach Twoja logika biznesowa może wymagać włączenia funkcji SUM do testu logicznego IF. Na przykład, aby zwrócić różne etykiety tekstowe w zależności od sumy wartości w B2 i C2, formuła to:

    =IF(SUM(B2:C2)>130, "Dobry", IF(SUM(B2:C2)>110, "Zadowalający", "Słaby"))

    Jeśli suma jest większa niż 130, wynik jest "dobry"; jeśli większa niż 110 - "zadowalający", jeśli 110 lub mniej - "słaby".

    W podobny sposób można osadzić funkcję AVERAGE w teście logicznym IF i zwrócić różne etykiety na podstawie średniego wyniku:

    =IF(AVERAGE(B2:C2)>65, "Dobry", IF(AVERAGE(B2:C2)>55, "Zadowalający", "Słaby"))

    Zakładając, że wynik całkowity znajduje się w kolumnie D, możesz określić najwyższe i najniższe wartości za pomocą funkcji MAX i MIN:

    =IF(D2=MAX($D$2:$D$10), "Najlepszy wynik", "")

    =IF(D2=MAX($D$2:$D$10), "Najlepszy wynik", "")

    Aby mieć obie etykiety w jednej kolumnie, zagnieżdż powyższe funkcje jedna w drugą:

    =IF(D2=MAX($D$2:$D$10), "Najlepszy wynik", IF(D2=MIN($D$2:$D$10), "Najgorszy wynik", "")

    Podobnie, możesz użyć IF razem z twoimi niestandardowymi funkcjami. Na przykład, możesz połączyć go z GetCellColor lub GetCellFontColor, aby zwrócić różne wyniki w oparciu o kolor komórki.

    Ponadto Excel udostępnia szereg funkcji do obliczania danych na podstawie warunków. Szczegółowe przykłady formuł można znaleźć w poniższych tutorialach:

    • COUNTIF - zliczanie komórek spełniających dany warunek
    • COUNTIFS - zliczanie komórek z wieloma kryteriami
    • SUMIF - warunkowe sumowanie komórek
    • SUMIFS - sumowanie komórek z wieloma kryteriami

    Przykład 3. IF z ISNUMBER, ISTEXT i ISBLANK

    Aby zidentyfikować tekst, liczby i puste komórki, Microsoft Excel udostępnia specjalne funkcje, takie jak ISTEXT, ISNUMBER i ISBLANK. Umieszczając je w testach logicznych trzech zagnieżdżonych instrukcji IF, można zidentyfikować wszystkie różne typy danych za jednym zamachem:

    =IF(ISTEXT(A2), "Tekst", IF(ISNUMBER(A2), "Liczba", IF(ISBLANK(A2), "Pusty", "")))

    Przykład 4. IF i CONCATENATE

    Aby wyprowadzić wynik JEŻELI i jakiś tekst do jednej komórki, należy użyć funkcji CONCATENATE lub CONCAT (w Excelu 2016 - 365) i JEŻELI razem. Na przykład:

    =CONCATENATE("Wystąpiłeś ", IF(B1>100, "fantastycznie!", IF(B1>50, "dobrze", "słabo"))

    =CONCAT("Wystąpiłeś ", IF(B1>100, "fantastycznie!", IF(B1>50, "dobrze", "słabo"))

    Patrząc na poniższy zrzut ekranu, raczej nie będziesz potrzebował wyjaśnienia, co robi ta formuła:

    Formuła IF ISERROR / ISNA w Excelu

    Nowoczesne wersje Excela mają specjalne funkcje wyłapujące błędy i zastępujące je innym wyliczeniem lub predefiniowaną wartością - IFERROR (w Excelu 2007 i nowszych) oraz IFNA (w Excelu 2013 i nowszych). We wcześniejszych wersjach Excela można zamiast tego używać kombinacji IF ISERROR i IF ISNA.

    Różnica polega na tym, że IFERROR i ISERROR obsługują wszystkie możliwe błędy Excela, w tym #VALUE!, #N/A, #NAME?, #REF!, #NUM!, #DIV/0! i #NULL! Natomiast IFNA i ISNA specjalizują się wyłącznie w błędach #N/A.

    Na przykład, aby zastąpić błąd "dzielenia przez zero" (#DIV/0!) swoim niestandardowym tekstem, możesz użyć następującej formuły:

    =IF(ISERROR(A2/B2), "N/A", A2/B2)

    I to już wszystko co mam do powiedzenia na temat używania funkcji JEŻELI w Excelu. Dziękuję za przeczytanie i mam nadzieję, że zobaczymy się na naszym blogu za tydzień!

    Zeszyt ćwiczeń do pobrania

    Excel IF wiele kryteriów - przykłady (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.