Funkcje logiczne w Excelu: AND, OR, XOR i NOT

  • Udostępnij To
Michael Brown

Samouczek wyjaśnia istotę funkcji logicznych Excela AND, OR, XOR i NOT oraz podaje przykłady formuł, które pokazują ich powszechne i pomysłowe zastosowania.

W zeszłym tygodniu wykorzystaliśmy wgląd w operatory logiczne Excela, które służą do porównywania danych w różnych komórkach. Dzisiaj zobaczysz, jak rozszerzyć zastosowanie operatorów logicznych i skonstruować bardziej rozbudowane testy, aby wykonać bardziej złożone obliczenia. Pomogą Ci w tym funkcje logiczne Excela, takie jak AND, OR, XOR i NOT.

    Funkcje logiczne w Excelu - przegląd

    Microsoft Excel udostępnia 4 funkcje logiczne do pracy z wartościami logicznymi. Funkcje te to AND, OR, XOR i NOT. Funkcji tych używasz, gdy chcesz przeprowadzić więcej niż jedno porównanie w swojej formule lub przetestować wiele warunków zamiast tylko jednego. Podobnie jak operatory logiczne, funkcje logiczne Excela zwracają TRUE lub FALSE, gdy ich argumenty są oceniane.

    Poniższa tabela zawiera krótkie podsumowanie tego, co robi każda funkcja logiczna, aby pomóc Ci wybrać odpowiednią formułę do konkretnego zadania.

    Funkcja Opis Wzór Przykład Wzór Opis
    ORAZ Zwraca TRUE, jeśli wszystkie argumenty mają wartość TRUE. =AND(A2>=10, B2<5) Formuła zwraca TRUE, jeśli wartość w komórce A2 jest większa lub równa 10, a wartość w B2 jest mniejsza niż 5, FALSE w przeciwnym wypadku.
    LUB Zwraca TRUE, jeśli któryś z argumentów zostanie oceniony na TRUE. =OR(A2>=10, B2<5) Formuła zwraca TRUE, jeśli A2 jest większe lub równe 10 lub B2 jest mniejsze niż 5, lub oba warunki są spełnione. Jeśli żaden z warunków nie jest spełniony, formuła zwraca FALSE.
    XOR Zwraca logiczne Exclusive Or wszystkich argumentów. =XOR(A2>=10, B2<5) Formuła zwraca TRUE, jeśli A2 jest większe lub równe 10 albo B2 jest mniejsze niż 5. Jeśli żaden z warunków nie jest spełniony lub oba warunki są spełnione, formuła zwraca FALSE.
    NIE Zwraca odwróconą wartość logiczną swojego argumentu, tzn. jeśli argumentem jest FALSE, to zwracane jest TRUE i odwrotnie. =NOT(A2>=10) Formuła zwraca FALSE, jeśli wartość w komórce A1 jest większa lub równa 10; TRUE w przeciwnym razie.

    Oprócz czterech funkcji logicznych przedstawionych powyżej, Microsoft Excel udostępnia 3 funkcje "warunkowe" - JEŻELI, IFERROR i IFNA.

    Funkcje logiczne w Excelu - fakty i liczby

    1. W argumentach funkcji logicznych można używać odwołań do komórek, wartości liczbowych i tekstowych, wartości logicznych, operatorów porównania i innych funkcji Excela. Wszystkie argumenty muszą jednak mieć wartość logiczną TRUE lub FALSE albo odwołania lub tablice zawierające wartości logiczne.
    2. Jeśli argument funkcji logicznej zawiera dowolny puste komórki , takie wartości są ignorowane. Jeśli wszystkie argumenty są pustymi komórkami, formuła zwraca błąd #VALUE!
    3. Jeśli argument funkcji logicznej zawiera liczby, to zero jest oceniane na FALSE, a wszystkie inne liczby, w tym liczby ujemne, na TRUE. Na przykład, jeśli komórki A1:A5 zawierają liczby, to formuła =AND(A1:A5) zwróci TRUE, jeśli żadna z komórek nie zawiera 0, a FALSE w przeciwnym razie.
    4. Funkcja logiczna zwraca błąd #VALUE! jeśli żaden z argumentów nie jest wartością logiczną.
    5. Funkcja logiczna zwraca błąd #NAME? jeśli źle wpisałeś nazwę funkcji lub próbowałeś użyć funkcji we wcześniejszej wersji Excela, która jej nie obsługuje. Na przykład funkcja XOR może być używana tylko w Excelu 2016 i 2013.
    6. W programie Excel 2007 i nowszych możesz uwzględnić w funkcji logicznej do 255 argumentów, pod warunkiem że całkowita długość formuły nie przekroczy 8 192 znaków. W programie Excel 2003 i nowszych możesz podać do 30 argumentów, a całkowita długość formuły nie przekroczy 1 024 znaków.

    Używanie funkcji AND w programie Excel

    Funkcja AND jest najpopularniejszym członkiem rodziny funkcji logicznych. Przydaje się, gdy trzeba przetestować kilka warunków i upewnić się, że wszystkie są spełnione. Technicznie rzecz biorąc, funkcja AND testuje określone przez użytkownika warunki i zwraca TRUE, jeśli wszystkie warunki mają wartość TRUE, FALSE w przeciwnym razie.

    Składnia funkcji AND w Excelu jest następująca:

    AND(logiczne1, [logiczne2], ...)

    Gdzie logiczny to warunek, który ma być testowany i który może dać wynik TRUE lub FALSE. Pierwszy warunek (logiczny1) jest wymagany, kolejne są opcjonalne.

    A teraz przyjrzyjmy się kilku przykładom formuł, które pokazują, jak używać funkcji AND w formułach Excela.

    Formuła Opis
    =AND(A2="Banany", B2>C2) Zwraca TRUE jeśli A2 zawiera "Banany" i B2 jest większe niż C2, FALSE w przeciwnym wypadku.
    =AND(B2>20, B2=C2) Zwraca TRUE jeśli B2 jest większe niż 20 i B2 jest równe C2, FALSE w przeciwnym wypadku.
    =AND(A2="Banany", B2>=30, B2>C2) Zwraca TRUE jeśli A2 zawiera "Banany", B2 jest większe lub równe 30 i B2 jest większe niż C2, FALSE w przeciwnym wypadku.

    Funkcja AND w Excelu - wspólne zastosowania

    Sama w sobie funkcja AND w Excelu nie jest zbyt ekscytująca i ma wąską przydatność. Jednak w połączeniu z innymi funkcjami Excela, AND może znacznie rozszerzyć możliwości Twoich arkuszy.

    Jedno z najczęstszych zastosowań funkcji AND w Excelu można znaleźć w argumencie logical_test funkcji IF, aby przetestować kilka warunków zamiast jednego. Na przykład można zagnieździć dowolną z powyższych funkcji AND wewnątrz funkcji IF i uzyskać wynik podobny do tego:

    =IF(AND(A2="Banany", B2>C2), "Dobry", "Zły")

    Aby uzyskać więcej przykładów formuły IF / AND, sprawdź jego tutorial: Funkcja Excel IF z wieloma warunkami AND.

    Formuła Excela dla warunku BETWEEN

    Jeśli potrzebujesz stworzyć formułę między w Excelu, która wybiera wszystkie wartości pomiędzy podanymi dwiema wartościami, powszechnym podejściem jest użycie funkcji IF z AND w teście logicznym.

    Na przykład masz 3 wartości w kolumnach A, B i C i chcesz wiedzieć, czy wartość w kolumnie A mieści się między wartościami B i C. Aby stworzyć taką formułę, wystarczy funkcja JEŻELI z zagnieżdżonym AND i kilka operatorów porównania:

    Wzór na sprawdzenie, czy X jest pomiędzy Y a Z, włącznie:

    =IF(AND(A2>=B2,A2<=C2),"Yes", "No")

    Formuła sprawdzająca, czy X jest pomiędzy Y a Z, nie włącznie:

    =IF(AND(A2>B2, A2

    Jak pokazano na powyższym zrzucie ekranu, formuła działa doskonale dla wszystkich typów danych - liczb, dat i wartości tekstowych. Przy porównywaniu wartości tekstowych formuła sprawdza je znak po znaku w kolejności alfabetycznej. Na przykład stwierdza, że. Jabłka w nie między Morela oraz Banany ponieważ drugie "p" w Jabłka występuje przed "r" w Morela . Więcej szczegółów znajdziesz w rozdziale Używanie operatorów porównania Excela z wartościami tekstowymi.

    Jak widać, formuła IF /AND jest prosta, szybka i prawie uniwersalna.Mówię "prawie", ponieważ nie obejmuje jednego scenariusza.Powyższa formuła zakłada, że wartość w kolumnie B jest mniejsza niż w kolumnie C, czyli kolumna B zawsze zawiera dolną wartość graniczną, a C - górną wartość graniczną.To jest powód, dla którego formuła zwraca " Nie " dla rzędu 6, gdzie A6 ma 12, B6 - 15 i C6 - 3, jak również dla rzędu 8, gdzie A8 to 24-Nov, B8 to 26-Dec, a C8 to 21-Oct.

    Ale co zrobić, jeśli chcesz, aby Twoja formuła między działała poprawnie niezależnie od tego, gdzie znajdują się wartości dolnej i górnej granicy? W tym przypadku użyj funkcji Excel MEDIAN, która zwraca medianę podanych liczb (tj. liczbę w środku zestawu liczb).

    Jeśli więc w teście logicznym funkcji JEŻELI zastąpimy AND na MEDIANĘ, formuła pójdzie jak:

    =IF(A2=MEDIAN(A2:C2), "Tak", "Nie")

    I otrzymasz następujące wyniki:

    Jak widać, funkcja MEDIAN działa doskonale dla liczb i dat, ale zwraca błąd #NUM! dla wartości tekstowych. Alas, nikt nie jest doskonały : )

    Jeśli chcesz mieć doskonałą formułę Between, która działa zarówno dla wartości tekstowych, jak i dla liczb i dat, to będziesz musiał skonstruować bardziej złożony tekst logiczny za pomocą funkcji AND / OR, jak to:

    =IF(OR(AND(A2>B2, A2

    Używanie funkcji OR w programie Excel

    Podobnie jak AND, funkcja OR w Excelu jest podstawową funkcją logiczną, która służy do porównywania dwóch wartości lub stwierdzeń. Różnica polega na tym, że funkcja OR zwraca TRUE, jeśli przynajmniej jeden z argumentów ocenia się na TRUE, a zwraca FALSE, jeśli wszystkie argumenty są FALSE. Funkcja OR jest dostępna we wszystkich wersjach Excela 2016 - 2000.

    Składnia funkcji OR w Excelu jest bardzo podobna do AND:

    OR(logiczne1, [logiczne2], ...)

    Gdzie logiczne jest coś, co chcesz przetestować, które może być TRUE lub FALSE. Pierwszy logiczny jest wymagany, dodatkowe warunki (do 255 w nowoczesnych wersjach Excela) są opcjonalne.

    A teraz zapiszmy dla Ciebie kilka formuł, abyś mógł poczuć jak działa funkcja OR w Excelu.

    Formuła Opis
    =OR(A2="Bananas", A2="Oranges") Zwraca TRUE jeśli A2 zawiera "Banany" lub "Pomarańcze", FALSE w przeciwnym wypadku.
    =OR(B2>=40, C2>=20) Zwraca TRUE jeśli B2 jest większe lub równe 40 lub C2 jest większe lub równe 20, FALSE w przeciwnym wypadku.
    =OR(B2=" ",) Zwraca TRUE jeśli B2 lub C2 jest puste lub oba, FALSE w przeciwnym wypadku.

    Podobnie jak funkcja AND Excela, OR jest szeroko stosowana do rozszerzania użyteczności innych funkcji Excela wykonujących testy logiczne, np. funkcji JEŻELI. Oto tylko kilka przykładów:

    Funkcja IF z zagnieżdżonym OR

    =IF(OR(B2>30, C2>20), "Good", "Bad")

    Formuła zwraca " Dobra " jeśli liczba w komórce B3 jest większa niż 30 lub liczba w C2 jest większa niż 20, " Bad " w przeciwnym razie.

    Funkcje Excel AND / OR w jednej formule

    Oczywiście nic nie stoi na przeszkodzie, abyś użył obu funkcji, AND & OR, w pojedynczej formule, jeśli wymaga tego Twoja logika biznesowa. Mogą istnieć nieskończone wariacje takich formuł, które sprowadzają się do następujących podstawowych wzorców:

    =AND(OR(Cond1, Cond2), Cond3)

    =AND(OR(Cond1, Cond2), OR(Cond3, Cond4)

    =OR(AND(Cond1, Cond2), Cond3)

    =OR(AND(Cond1,Cond2), AND(Cond3,Cond4))

    Na przykład, jeśli chciałbyś wiedzieć, jakie partie bananów i pomarańczy są wyprzedane, tzn. numer "W magazynie" (kolumna B) jest równy numerowi "Sprzedane" (kolumna C), to poniższa formuła OR/AND mogłaby Ci to szybko pokazać:

    =OR(AND(A2="banany", B2=C2), AND(A2="pomarańcze", B2=C2))

    Funkcja OR w formatowaniu warunkowym w Excelu

    =OR($B2="", $C2="")

    Reguła z powyższą formułą OR podświetla wiersze, które zawierają pustą komórkę albo w kolumnie B lub C, albo w obu.

    Więcej informacji na temat formuł formatowania warunkowego można znaleźć w następujących artykułach:

    • Formuły formatowania warunkowego w programie Excel
    • Zmiana koloru wiersza na podstawie wartości komórki
    • Zmiana koloru komórki na podstawie wartości innej komórki
    • Jak podświetlić co drugi wiersz w programie Excel

    Używanie funkcji XOR w programie Excel

    W Excelu 2013 Microsoft wprowadził funkcję XOR, która jest logiczną Wyłącznie OR Funkcja. Ten termin jest z pewnością znany tym z was, którzy mają pewną wiedzę na temat dowolnego języka programowania lub informatyki w ogóle. Dla tych, którzy nie, pojęcie "Exclusive Or" może być nieco trudne do uchwycenia na początku, ale mam nadzieję, że poniższe wyjaśnienie zilustrowane przykładami wzorów pomoże.

    Składnia funkcji XOR jest identyczna jak OR'a :

    XOR(logiczne1, [logiczne2],...)

    Pierwsza deklaracja logiczna (Logical 1) jest wymagana, dodatkowe wartości logiczne są opcjonalne. W jednej formule można przetestować do 254 warunków, które mogą być wartościami logicznymi, tablicami lub referencjami, które oceniają się jako TRUE lub FALSE.

    W najprostszej wersji formuła XOR zawiera tylko 2 wyrażenia logiczne i zwraca:

    • TRUE, jeśli któryś z argumentów oceniany jest na TRUE.
    • FALSE jeśli oba argumenty są TRUE lub żaden nie jest TRUE.

    Może to być łatwiejsze do zrozumienia na podstawie przykładów wzorów:

    Formuła Wynik Opis
    =XOR(1>0, 2<1) TRUE Zwraca TRUE, ponieważ pierwszy argument jest TRUE, a drugi FALSE.
    =XOR(1<0, 2<1) FALSE Zwraca FALSE, ponieważ oba argumenty są FALSE.
    =XOR(1>0, 2>1) FALSE Zwraca FALSE, ponieważ oba argumenty są TRUE.

    Po dodaniu większej ilości stwierdzeń logicznych, funkcja XOR w Excelu daje wynik:

    • TRUE, jeśli nieparzysta liczba argumentów jest oceniana jako TRUE;
    • FALSE jeśli całkowita liczba instrukcji TRUE jest parzysta, lub jeśli wszystkie instrukcje są FALSE.

    Poniższy zrzut ekranu ilustruje ten punkt:

    Jeśli nie jesteś pewien, jak funkcja XOR programu Excel może być zastosowana do rzeczywistego scenariusza, rozważ następujący przykład. Załóżmy, że masz tabelę zawodników i ich wyników dla pierwszych 2 gier. Chcesz wiedzieć, który z płatników powinien zagrać w 3. grze w oparciu o następujące warunki:

    • Zawodnicy, którzy wygrali Game 1 i Game 2 awansują do kolejnej rundy automatycznie i nie muszą grać w Game 3.
    • Zawodnicy, którzy przegrali obie pierwsze gry, zostają wyeliminowani i nie grają również w grze nr 3.
    • Zawodnicy, którzy wygrali grę 1 lub grę 2, grają w grę 3, aby określić, kto przechodzi do następnej rundy, a kto nie.

    Prosta formuła XOR działa dokładnie tak, jak chcemy:

    =XOR(B2="Won", C2="Won")

    A jeśli zagnieździsz tę funkcję XOR w teście logicznym formuły IF, otrzymasz jeszcze bardziej sensowne wyniki:

    =IF(XOR(B2="Won", C2="Won"), "Tak", "Nie")

    Używanie funkcji NOT w programie Excel

    Funkcja NOT jest jedną z najprostszych pod względem składniowym funkcji Excela:

    NOT(logiczne)

    Funkcji NOT w Excelu używasz do odwrócenia wartości jej argumentu. Innymi słowy, jeśli logiczne ocenia się na FALSE, funkcja NOT zwraca TRUE i odwrotnie. Na przykład, obie poniższe formuły zwracają FALSE:

    =NOT(TRUE)

    =NOT(2*2=4)

    Dlaczego ktoś chciałby uzyskać tak absurdalne wyniki? W niektórych przypadkach może być bardziej zainteresowany wiedzą, kiedy pewien warunek nie jest spełniony niż kiedy jest. Na przykład, podczas przeglądania listy strojów, możesz chcieć wykluczyć jakiś kolor, który nie pasuje do ciebie. Nie jestem szczególnie lubiany przez czarny, więc idę dalej z tym wzorem:

    =NOT(C2="czarny")

    Jak zwykle w Microsoft Excelu jest więcej niż jeden sposób, aby coś zrobić, i można osiągnąć ten sam wynik, używając operatora Not equal to: =C2 "czarny".

    Jeśli chcesz przetestować kilka warunków w jednej formule, możesz użyć NOT w koniunkcji z funkcją AND lub OR. Na przykład, jeśli chciałeś wykluczyć czarne i białe kolory, formuła poszłaby jak:

    =NOT(OR(C2="black", C2="white"))

    A jeśli wolisz nie mieć czarnego płaszcza, podczas gdy czarna kurtka lub futro z tyłu mogą być rozważane, powinieneś użyć NOT w połączeniu z funkcją AND Excela:

    =NOT(AND(C2="black", B2="coat"))

    Innym częstym zastosowaniem funkcji NOT w programie Excel jest odwrócenie zachowania jakiejś innej funkcji. Na przykład można połączyć funkcje NOT i ISBLANK, aby stworzyć formułę ISNOTBLANK, której brakuje w programie Microsoft Excel.

    Jak wiesz, formuła =ISBLANK(A2) zwraca TRUE o ile komórka A2 jest pusta. Funkcja NOT może odwrócić ten wynik na FALSE: =NOT(ISBLANK(A2))

    A potem możesz zrobić krok dalej i stworzyć zagnieżdżone oświadczenie IF z funkcjami NOT / ISBLANK dla prawdziwego zadania:

    =IF(NOT(ISBLANK(C2)), C2*0.15, "Brak premii :(")

    Przetłumaczona na zwykły angielski formuła każe Excelowi wykonać następujące czynności. Jeśli komórka C2 nie jest pusta, pomnóż liczbę w C2 przez 0,15, co daje 15% premię każdemu sprzedawcy, który dokonał jakiejkolwiek dodatkowej sprzedaży. Jeśli C2 jest pusta, pojawia się tekst "Brak premii :(".

    W gruncie rzeczy tak właśnie używa się funkcji logicznych w Excelu. Oczywiście te przykłady tylko zarysowały powierzchnię możliwości AND, OR, XOR i NOT. Znając podstawy, możesz teraz poszerzyć swoją wiedzę, zajmując się prawdziwymi zadaniami i pisząc inteligentne, rozbudowane formuły dla swoich arkuszy.

    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.