Spis treści
Samouczek wyjaśnia, jak używać wielu IF w Excelu i dostarcza kilka przykładów zagnieżdżonych formuł If dla większości typowych zadań.
Gdyby ktoś zapytał Cię, jakiej funkcji Excela używasz najczęściej, jaka byłaby Twoja odpowiedź? W większości przypadków jest to funkcja JEŻELI w Excelu. Zwykła formuła JEŻELI, która testuje pojedynczy warunek, jest bardzo prosta i łatwa do napisania. Ale co, jeśli Twoje dane wymagają bardziej skomplikowanych testów logicznych z wieloma warunkami? W takim przypadku możesz zawrzeć kilka funkcji JEŻELI w jednej formule, a te wielokrotne JEŻELIoświadczenia nazywane są Excel Zagnieżdżony IF Największą zaletą zagnieżdżonej instrukcji If jest to, że pozwala ona sprawdzić więcej niż jeden warunek i zwrócić różne wartości w zależności od wyników tych kontroli, a wszystko to w jednej formule.
Microsoft Excel ma ograniczenia dot. poziomy zagnieżdżonych IF . W Excelu 2003 i niższych dopuszczalne było maksymalnie 7 poziomów. W Excelu 2007 i wyższych można zagnieździć w jednej formule do 64 funkcji IF.
W dalszej części tego tutorialu znajdziesz kilka przykładów zagnieżdżonych If w Excelu wraz z dokładnym wyjaśnieniem ich składni i logiki.
Przykład 1. Klasyczna zagnieżdżona formuła IF
Oto typowy przykład Excel Jeśli z wieloma warunkami. Załóżmy, że masz listę studentów w kolumnie A i ich wyniki egzaminów w kolumnie B, i chcesz sklasyfikować wyniki z następującymi warunkami:
- Doskonale: ponad 249
- Dobrze: między 249 a 200, włącznie
- Zadowalający: między 199 a 150, włącznie.
- Słaby: Poniżej 150
A teraz napiszmy zagnieżdżoną funkcję JEŻELI w oparciu o powyższe kryteria. Uważa się, że dobrą praktyką jest rozpoczynanie od najważniejszego warunku i utrzymywanie funkcji w jak najprostszej formie. Nasza zagnieżdżona formuła JEŻELI w Excelu przebiega następująco:
=IF(B2>249, "Doskonały", IF(B2>=200, "Dobry", IF(B2>150, "Zadowalający", "Słaby"))
I działa dokładnie tak, jak powinien:
Zrozumienie logiki zagnieżdżonych IF w Excelu
Słyszałem, że niektórzy ludzie mówią, że Excel multiple If doprowadza ich do szaleństwa :) Spróbuj spojrzeć na to pod innym kątem:
To, co formuła nakazuje Excelowi zrobić, to ocenić logiczny_test pierwszej funkcji IF i jeśli warunek jest spełniony, zwraca wartość podaną w wartość_jeśli_true argument. Jeśli warunek 1. funkcji If nie jest spełniony, to przetestuj 2. instrukcję If, i tak dalej.
IF( sprawdzać czy B2>=249, jeśli prawda - wróć "Doskonale", lub inaczejIF( sprawdzać czy B2>=200, jeśli prawda - wróć "Dobra", lub inaczej
IF( sprawdzać czy B2>150, jeśli prawda - wróć "Zadowalający", jeśli fałszywe -
return "Poor"))
Przykład 2. Multiple If z obliczeniami arytmetycznymi
Oto kolejne typowe zadanie: cena jednostkowa zmienia się w zależności od podanej ilości, a Twoim celem jest napisanie formuły, która obliczy cenę całkowitą dla dowolnej ilości elementów wprowadzonych w określonej komórce. Innymi słowy, Twoja formuła musi sprawdzić wiele warunków i wykonać różne obliczenia w zależności od tego, w jakim przedziale kwotowym mieści się podana ilość:
Jednostka Ilość | Cena za sztukę |
1 do 10 | $20 |
11 do 19 | $18 |
20 do 49 | $16 |
50 do 100 | $13 |
Ponad 101 | $12 |
Zadanie to można również zrealizować za pomocą wielu funkcji IF. Logika jest taka sama jak w powyższym przykładzie, jedyna różnica polega na tym, że mnożymy podaną ilość przez wartość zwróconą przez zagnieżdżone IF (czyli odpowiednią cenę za jednostkę).
Zakładając, że użytkownik wprowadza ilość do komórki B8, formuła wygląda następująco:
=B8*IF(B8>=101, 12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, "")))))
A wynik będzie wyglądał coś podobnego do tego:
Jak rozumiesz, ten przykład demonstruje tylko ogólne podejście, a ty możesz łatwo dostosować tę zagnieżdżoną funkcję If w zależności od konkretnego zadania.
Na przykład zamiast "twardo" wpisywać ceny do formuły, możesz odwołać się do komórek zawierających te wartości (komórki od B2 do B6). Dzięki temu Twoi użytkownicy będą mogli edytować dane źródłowe bez konieczności aktualizowania formuły:
=B8*IF(B8>=101,B6, IF(B8>=50, B5, IF(B8>=20, B4, IF( B8>=11, B3, IF(B8>=1, B2, "")))))
Można też dołączyć dodatkową funkcję (funkcje) JEŻELI, która ustala górną, dolną lub obie granice zakresu kwot. Gdy ilość jest poza zakresem, formuła wyświetli komunikat "poza zakresem". Na przykład:
=IF(OR(B8>200,B8=101,12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, ""))))))
Opisane powyżej zagnieżdżone formuły IF działają we wszystkich wersjach Excela. W Excelu 365 i Excelu 2021 do tego samego celu można użyć także funkcji IFS.
Zaawansowani użytkownicy Excela, którzy są zaznajomieni z formułami tablicowymi, mogą skorzystać z tej formuły, która w zasadzie robi to samo, co zagnieżdżona funkcja IF omówiona powyżej. Chociaż formuła tablicowa jest znacznie trudniejsza do zrozumienia, a tym bardziej do napisania, ma jedną niezaprzeczalną zaletę - określasz zakres komórek zawierających twoje warunki, zamiast odwoływać się do każdego warunku z osobna. To sprawia, żeformuła jest bardziej elastyczna, a jeśli użytkownicy zmienią któryś z istniejących warunków lub dodadzą nowy, trzeba będzie zaktualizować tylko jedno odniesienie do zakresu w formule.
Zagnieżdżone IF w Excelu - wskazówki i porady
Jak właśnie zobaczyłeś, nie ma żadnej nauki rakietowej w używaniu wielokrotnego IF w Excelu. Poniższe wskazówki pomogą ci ulepszyć twoje zagnieżdżone formuły IF i zapobiec częstym błędom.
Granice zagnieżdżonego IF
W programach Excel 2007 - Excel 365 można zagnieżdżać do 64 funkcji JEŻELI. W starszych wersjach programu Excel 2003 i niższych można używać do 7 zagnieżdżonych funkcji JEŻELI. Jednak fakt, że można zagnieżdżać wiele funkcji JEŻELI w jednej formule, nie oznacza, że należy to robić. Należy pamiętać, że każdy dodatkowy poziom utrudnia zrozumienie formuły i rozwiązywanie problemów. Jeśli formuła ma zbyt wiele zagnieżdżonych poziomów, może to spowodować, żechcą go zoptymalizować, używając jednej z tych alternatyw.
Kolejność zagnieżdżonych funkcji IF ma znaczenie
Zagnieżdżona funkcja JEŻELI w Excelu ocenia testy logiczne w kolejności, w jakiej pojawiają się w formule, a gdy tylko jeden z warunków oceni się na TRUE, kolejne warunki nie są testowane. Innymi słowy, formuła zatrzymuje się po pierwszym wyniku TRUE.
Zobaczmy, jak to działa w praktyce. Przy B2 równym 274, zagnieżdżona formuła IF poniżej ocenia pierwszy test logiczny (B2>249) i zwraca "Doskonały", ponieważ ten test logiczny jest TRUE:
=IF(B2>249, "Doskonały", IF(B2>=200, "Dobry", IF(B2>150, "Zadowalający", "Słaby"))
Teraz odwróćmy kolejność funkcji IF:
=IF(B2>150, "Zadowalający", IF(B2>200, "Dobry", IF(B2>249, "Doskonały", "Słaby"))
Formuła testuje pierwszy warunek, a ponieważ 274 jest większe od 150, wynik tego testu logicznego jest również TRUE. W konsekwencji formuła zwraca "Satysfakcjonujące" bez testowania innych warunków.
Widzisz, zmiana kolejności funkcji IF zmienia wynik:
Oceń logikę formuły
Aby obejrzeć logiczny przebieg zagnieżdżonej formuły IF krok po kroku, użyj funkcji Evaluate Formula (oceń formułę) znajdującej się na stronie Formuła zakładka, w Audyt wzorów Podkreślone wyrażenie to część, która jest aktualnie oceniana, a kliknięcie przycisku Oceń przycisk pokaże Ci wszystkie kroki w procesie oceny.
Na przykład ocena pierwszego testu logicznego zagnieżdżonej formuły IF pokazanej na poniższym zrzucie ekranu będzie przebiegać w następujący sposób: B2>249; 274>249; TRUE; Excellent.
Zrównoważyć nawiasy zagnieżdżonych funkcji IF
Jednym z głównych wyzwań związanych z zagnieżdżonymi IF w programie Excel jest dopasowanie par nawiasów. Jeśli nawiasy nie pasują, twoja formuła nie będzie działać. Na szczęście Microsoft Excel zapewnia kilka funkcji, które mogą pomóc w zrównoważeniu nawiasów podczas edycji formuły:
- Jeśli masz więcej niż jeden zestaw nawiasów, pary nawiasów są cieniowane w różnych kolorach, aby nawias otwierający pasował do zamykającego.
- Gdy zamykasz nawias, Excel na krótko podświetla pasującą parę. Ten sam efekt pogrubienia lub "migotania" powstaje, gdy poruszasz się po formule za pomocą klawiszy strzałek.
Więcej informacji znajdziesz w rozdziale Dopasowywanie par nawiasów w formułach Excela.
Traktuj tekst i liczby w różny sposób
Budując testy logiczne swoich zagnieżdżonych formuł IF, pamiętaj, że tekst i liczby powinny być traktowane inaczej - zawsze obudowuj wartości tekstowe w podwójne cudzysłowy, ale nigdy nie umieszczaj cudzysłowów wokół liczb:
Racja: =IF(B2>249, "Doskonale",...)
Nieprawda: =IF(B2>"249", "Excellent",…)
Test logiczny drugiej formuły zwróci FALSE, nawet jeśli wartość w B2 jest większa niż 249. Dlaczego? Ponieważ 249 to liczba, a "249" to ciąg liczbowy, które są dwiema różnymi rzeczami.
Dodaj spacje lub przerwy w linii, aby ułatwić czytanie zagnieżdżonych IF.
Podczas budowania formuły z wieloma zagnieżdżonymi poziomami IF, możesz sprawić, że logika formuły będzie bardziej przejrzysta, oddzielając różne funkcje IF spacjami lub przerwami w linii. Excel nie dba o dodatkowe odstępy w formule, więc możesz nie martwić się o maglowanie.
Aby przenieść określoną część formuły do następnego wiersza, po prostu kliknij w miejscu, w którym chcesz wstawić przerwę w linii, i naciśnij Alt + Enter . Następnie rozwiń pasek formuły tak bardzo, jak to konieczne, a zobaczysz, że twoja zagnieżdżona formuła IF stała się znacznie łatwiejsza do zrozumienia.
Alternatywy dla zagnieżdżonych IF w Excelu
Aby obejść limit siedmiu zagnieżdżonych funkcji IF w programie Excel 2003 i starszych wersjach oraz sprawić, że Twoje formuły będą bardziej zwarte i szybkie, rozważ użycie następujących alternatyw dla zagnieżdżonych funkcji IF programu Excel.
- Aby przetestować wiele warunków i zwrócić różne wartości w oparciu o wyniki tych testów, możesz użyć funkcji CHOOSE zamiast zagnieżdżonych IF.
- Zbuduj tabelę referencyjną i użyj VLOOKUP z dopasowaniem przybliżonym, jak pokazano w tym przykładzie: VLOOKUP zamiast zagnieżdżonego IF w Excelu.
- Użyj IF z funkcjami logicznymi OR / AND, jak pokazano w tych przykładach.
- Użyj formuły tablicowej, jak pokazano w tym przykładzie.
- Połącz wiele instrukcji IF za pomocą funkcji CONCATENATE lub operatora konkatenacji (&). Przykład formuły można znaleźć tutaj.
- Dla doświadczonych użytkowników programu Excel najlepszą alternatywą dla używania wielu zagnieżdżonych funkcji IF może być stworzenie niestandardowej funkcji arkusza za pomocą VBA.
Tak wygląda użycie formuły If w Excelu z wieloma warunkami. Dziękuję za przeczytanie i mam nadzieję, że zobaczymy się na naszym blogu za tydzień.
Zeszyt ćwiczeń do pobrania
Zagnieżdżone zestawienia If Excel (plik .xlsx)