Cuprins
Acest tutorial explică esența funcțiilor logice din Excel AND, OR, XOR și NOT și oferă exemple de formule care demonstrează utilizările lor comune și inventive.
Săptămâna trecută am exploatat intuiția operatorilor logici Excel care sunt utilizați pentru a compara datele din celule diferite. Astăzi, veți vedea cum să extindeți utilizarea operatorilor logici și să construiți teste mai elaborate pentru a efectua calcule mai complexe. Funcțiile logice Excel, cum ar fi AND, OR, XOR și NOT vă vor ajuta în acest sens.
Funcții logice Excel - prezentare generală
Microsoft Excel oferă 4 funcții logice pentru a lucra cu valorile logice. Funcțiile sunt AND, OR, XOR și NOT. Folosiți aceste funcții atunci când doriți să efectuați mai multe comparații în formula dvs. sau să testați mai multe condiții în loc de una singură. La fel ca operatorii logici, funcțiile logice Excel returnează fie TRUE, fie FALSE atunci când argumentele lor sunt evaluate.
Următorul tabel oferă un scurt rezumat a ceea ce face fiecare funcție logică pentru a vă ajuta să alegeți formula potrivită pentru o anumită sarcină.
Funcția | Descriere | Exemplu de formulă | Formula Descriere |
ȘI | Returnează TRUE dacă toate argumentele sunt evaluate la TRUE. | =AND(A2>=10, B2<5) | Formula returnează TRUE dacă o valoare din celula A2 este mai mare sau egală cu 10 și o valoare din B2 este mai mică decât 5, iar în caz contrar FALSE. |
OR | Returnează TRUE dacă oricare dintre argumente este evaluat la TRUE. | =OR(A2>=10, B2<5) | Formula returnează TRUE dacă A2 este mai mare sau egal cu 10 sau B2 este mai mic decât 5, sau dacă ambele condiții sunt îndeplinite. Dacă niciuna dintre condiții nu este îndeplinită, formula returnează FALSE. |
XOR | Întoarce un ordin logic de tip Exclusive Or al tuturor argumentelor. | =XOR(A2>=10, B2<5) | Formula returnează TRUE dacă A2 este mai mare sau egal cu 10 sau B2 este mai mic decât 5. Dacă niciuna dintre condiții nu este îndeplinită sau dacă ambele condiții sunt îndeplinite, formula returnează FALSE. |
NU | Returnează valoarea logică inversă a argumentului său. De exemplu, dacă argumentul este FALSE, atunci se returnează TRUE și invers. | =NOT(A2>=10) | Formula returnează FALSE dacă o valoare din celula A1 este mai mare sau egală cu 10; în caz contrar, TRUE. |
În plus față de cele patru funcții logice prezentate mai sus, Microsoft Excel oferă 3 funcții "condiționale" - IF, IFERROR și IFNA.
Funcții logice Excel - fapte și cifre
- În argumentele funcțiilor logice, puteți utiliza referințe de celule, valori numerice și de text, valori booleene, operatori de comparație și alte funcții Excel. Cu toate acestea, toate argumentele trebuie să fie evaluate la valorile booleene TRUE sau FALSE, sau referințe sau array-uri care conțin valori logice.
- În cazul în care un argument al unei funcții logice conține orice celule goale , astfel de valori sunt ignorate. Dacă toate argumentele sunt celule goale, formula returnează eroarea #VALUE!
- Dacă un argument al unei funcții logice conține numere, atunci zero se evaluează la FALSE, iar toate celelalte numere, inclusiv numerele negative, se evaluează la TRUE. De exemplu, dacă celulele A1:A5 conțin numere, formula =AND(A1:A5) va returna TRUE dacă niciuna dintre celule nu conține 0, iar în caz contrar FALSE.
- O funcție logică returnează eroarea #VALUE! dacă niciunul dintre argumente nu este evaluat ca valoare logică.
- O funcție logică returnează eroarea #NAME? dacă ați scris greșit numele funcției sau dacă ați încercat să utilizați funcția într-o versiune anterioară de Excel care nu o acceptă. De exemplu, funcția XOR poate fi utilizată numai în Excel 2016 și 2013.
- În Excel 2007 și versiunile ulterioare, puteți include până la 255 de argumente într-o funcție logică, cu condiția ca lungimea totală a formulei să nu depășească 8.192 de caractere. În Excel 2003 și versiunile ulterioare, puteți furniza până la 30 de argumente, iar lungimea totală a formulei nu trebuie să depășească 1.024 de caractere.
Utilizarea funcției ȘI în Excel
Funcția AND este cel mai popular membru al familiei de funcții logice. Este utilă atunci când trebuie să testați mai multe condiții și să vă asigurați că toate sunt îndeplinite. Din punct de vedere tehnic, funcția AND testează condițiile pe care le specificați și returnează TRUE dacă toate condițiile sunt evaluate la TRUE, iar în caz contrar FALSE.
Sintaxa pentru funcția Excel AND este următoarea:
AND(logic1, [logic2], ...)Unde logic este condiția pe care doriți să o testați și care poate fi evaluată la TRUE sau FALSE. Prima condiție (logical1) este obligatorie, iar condițiile ulterioare sunt opționale.
Și acum, să analizăm câteva exemple de formule care demonstrează cum se utilizează funcțiile AND în formulele Excel.
Formula | Descriere |
=AND(A2="Banane", B2>C2) | Returnează TRUE dacă A2 conține "Bananas" și B2 este mai mare decât C2, iar în caz contrar FALSE. |
=AND(B2>20, B2=C2) | Returnează TRUE dacă B2 este mai mare decât 20 și B2 este egal cu C2, altfel FALSE. |
=AND(A2="Banane", B2>=30, B2>C2) | Se returnează TRUE dacă A2 conține "Bananas", B2 este mai mare sau egal cu 30 și B2 este mai mare decât C2, altfel FALSE. |
Funcția Excel AND - utilizări comune
De una singură, funcția Excel AND nu este foarte interesantă și are o utilitate limitată. Dar, în combinație cu alte funcții Excel, AND poate extinde semnificativ capacitățile foilor de calcul.
Una dintre cele mai comune utilizări ale funcției Excel AND se găsește în argumentul logical_test al funcției IF pentru a testa mai multe condiții în loc de una singură. De exemplu, puteți anina oricare dintre funcțiile AND de mai sus în interiorul funcției IF și puteți obține un rezultat similar cu acesta:
=IF(AND(AND(A2="Banane", B2>C2), "Bun", "Rău")
Pentru mai multe exemple de formule IF / AND, vă rugăm să consultați tutorialul său: Funcția Excel IF cu mai multe condiții AND.
O formulă Excel pentru condiția BETWEEN
Dacă aveți nevoie să creați o formulă între în Excel care să selecteze toate valorile dintre cele două valori date, o abordare obișnuită este să utilizați funcția IF cu AND în testul logic.
De exemplu, aveți 3 valori în coloanele A, B și C și doriți să știți dacă o valoare din coloana A se încadrează între valorile B și C. Pentru a realiza o astfel de formulă, este nevoie doar de funcția IF cu AND imbricate și de câțiva operatori de comparație:
Formulă pentru a verifica dacă X se află între Y și Z, inclusiv:
=IF(AND(A2>=B2,A2<=C2),"Yes", "No")
Formulă pentru a verifica dacă X este între Y și Z, nu inclusiv:
=IF(AND(A2>B2, A2
După cum se demonstrează în captura de ecran de mai sus, formula funcționează perfect pentru toate tipurile de date - numere, date și valori text. Atunci când se compară valori text, formula le verifică caracter cu caracter în ordine alfabetică. De exemplu, se precizează că Mere în nu între Caisă și Banane deoarece al doilea "p" din Mere vine înaintea lui "r" în Caisă Pentru mai multe detalii, consultați Utilizarea operatorilor de comparație Excel cu valori text.
După cum vedeți, formula IF /AND este simplă, rapidă și aproape universală. Spun "aproape" pentru că nu acoperă un singur scenariu. Formula de mai sus implică faptul că o valoare din coloana B este mai mică decât cea din coloana C, adică coloana B conține întotdeauna valoarea limitei inferioare, iar C - valoarea limitei superioare. Acesta este motivul pentru care formula returnează " Nu " pentru rândul 6, unde A6 are 12, B6 - 15 și C6 - 3, precum și pentru rândul 8, unde A8 este 24-noiembrie, B8 este 26-decembrie și C8 este 21-octombrie.
Dar ce se întâmplă dacă doriți ca formula între să funcționeze corect, indiferent unde se află valorile limită inferioară și superioară? În acest caz, utilizați funcția Excel MEDIAN care returnează mediana numerelor date (adică numărul din mijlocul unui set de numere).
Deci, dacă înlocuiți AND în testul logic al funcției IF cu MEDIAN, formula va fi următoarea:
=IF(A2=MEDIAN(A2:C2), "Da", "Nu")
Și veți obține următoarele rezultate:
După cum vedeți, funcția MEDIAN funcționează perfect pentru numere și date, dar returnează eroarea #NUM! pentru valorile text. Din păcate, nimeni nu este perfect : )
Dacă doriți o formulă Between perfectă, care să funcționeze atât pentru valori text, cât și pentru numere și date, atunci va trebui să construiți un text logic mai complex, utilizând funcțiile AND / OR, ca acesta:
=IF(OR(AND(A2>B2, A2
Utilizarea funcției OR în Excel
La fel ca ȘI, funcția Excel OR este o funcție logică de bază care este utilizată pentru a compara două valori sau declarații. Diferența constă în faptul că funcția OR returnează ADEVĂRAT dacă cel puțin unul dintre argumente se evaluează la ADEVĂRAT și returnează FALS dacă toate argumentele sunt FALSE. Funcția OR este disponibilă în toate versiunile Excel 2016 - 2000.
Sintaxa funcției OR din Excel este foarte asemănătoare cu cea a funcției AND:
OR(logic1, [logic2], ...)Unde logic este ceva ce doriți să testați și care poate fi fie ADEVĂRAT, fie FALS. Prima logică este obligatorie, iar condițiile suplimentare (până la 255 în versiunile moderne de Excel) sunt opționale.
Și acum, haideți să scriem câteva formule pentru a vă face o idee despre cum funcționează funcția OR în Excel.
Formula | Descriere |
=OR(A2="Bananas", A2="Oranges") | Returnează TRUE dacă A2 conține "Banane" sau "Portocale", iar în caz contrar FALSE. |
=OR(B2>=40, C2>=20) | Returnează TRUE dacă B2 este mai mare sau egal cu 40 sau C2 este mai mare sau egal cu 20, altfel FALSE. |
=OR(B2=" ",) | Returnează TRUE dacă B2 sau C2 este gol sau ambele, iar în caz contrar FALSE. |
La fel ca și funcția Excel AND, funcția OR este utilizată pe scară largă pentru a extinde utilitatea altor funcții Excel care efectuează teste logice, de exemplu funcția IF. Iată doar câteva exemple:
Funcția IF cu OR imbricate
=IF(OR(B2>30, C2>20), "Bun", "Rău")
Formula returnează " Bun " dacă un număr din celula B3 este mai mare de 30 sau numărul din C2 este mai mare de 20, " Rău " în caz contrar.
Funcțiile Excel AND / OR într-o singură formulă
Firește, nimic nu vă împiedică să utilizați ambele funcții, AND & OR, într-o singură formulă, dacă logica dvs. de afaceri necesită acest lucru. Pot exista infinite variații ale unor astfel de formule care se reduc la următoarele modele de bază:
=AND(OR(Cond1, Cond2), Cond3)
=AND(OR(Cond1, Cond2), OR(Cond3, Cond4)
=OR(AND(AND(Cond1, Cond2), Cond3)
=OR(AND(AND(Cond1,Cond2), AND(Cond3,Cond4))
De exemplu, dacă ați dori să știți ce loturi de banane și portocale sunt epuizate, adică numărul "În stoc" (coloana B) este egal cu numărul "Vândut" (coloana C), următoarea formulă OR/AND vă poate arăta rapid acest lucru:
=OR(AND(A2="banane", B2=C2), AND(A2="portocale", B2=C2))
Funcția OR în formatarea condiționată Excel
=OR($B2="", $C2="")
Regula cu formula OR de mai sus evidențiază rândurile care conțin o celulă goală fie în coloana B sau C, fie în ambele.
Pentru mai multe informații despre formulele de formatare condiționată, vă rugăm să consultați următoarele articole:
- Formule de formatare condiționată Excel
- Schimbarea culorii rândului pe baza valorii unei celule
- Modificarea culorii unei celule pe baza valorii unei alte celule
- Cum să evidențiați fiecare alt rând în Excel
Utilizarea funcției XOR în Excel
În Excel 2013, Microsoft a introdus funcția XOR, care este o funcție logică. Exclusiv OR Acest termen este cu siguranță familiar pentru cei care au cunoștințe de orice limbaj de programare sau de informatică în general. Pentru cei care nu au cunoștințe, conceptul de "Exclusive Or" poate fi un pic mai greu de înțeles la început, dar sperăm că explicația de mai jos, ilustrată cu exemple de formule, vă va ajuta.
Sintaxa funcției XOR este identică cu cea a funcției OR :
XOR(logic1, [logic2],...)Prima afirmație logică (Logical 1) este obligatorie, iar valorile logice suplimentare sunt opționale. Puteți testa până la 254 de condiții într-o formulă, iar acestea pot fi valori logice, matrice sau referințe care se evaluează la TRUE sau FALSE.
În cea mai simplă versiune, o formulă XOR conține doar 2 declarații logice și returnează:
- TRUE dacă oricare dintre argumente este evaluat la TRUE.
- FALSE dacă ambele argumente sunt TRUE sau niciunul nu este TRUE.
Acest lucru ar putea fi mai ușor de înțeles din exemplele de formule:
Formula | Rezultat | Descriere |
=XOR(1>0, 2<1) | ADEVĂRAT | Returnează TRUE deoarece primul argument este TRUE și al doilea argument este FALSE. |
=XOR(1<0, 2<1) | FALSE | Returnează FALSE deoarece ambele argumente sunt FALSE. |
=XOR(1>0, 2>1) | FALSE | Returnează FALSE deoarece ambele argumente sunt TRUE. |
Atunci când se adaugă mai multe declarații logice, funcția XOR din Excel are ca rezultat:
- TRUE dacă un număr impar de argumente se evaluează la TRUE;
- FALSE în cazul în care numărul total de declarații TRUE este egal sau dacă toate declarațiile sunt FALSE.
Captura de ecran de mai jos ilustrează acest aspect:
Dacă nu sunteți sigur de modul în care funcția XOR din Excel poate fi aplicată într-un scenariu din viața reală, luați în considerare următorul exemplu. Să presupunem că aveți un tabel cu concurenții și rezultatele lor pentru primele 2 jocuri. Doriți să știți care dintre plătitori va juca al treilea joc pe baza următoarelor condiții:
- Concurenții care au câștigat jocul 1 și jocul 2 trec automat în runda următoare și nu trebuie să joace jocul 3.
- Concurenții care au pierdut primele două jocuri sunt eliminați și nu participă nici la jocul 3.
- Concurenții care au câștigat fie jocul 1, fie jocul 2 vor juca jocul 3 pentru a determina cine trece în runda următoare și cine nu.
O simplă formulă XOR funcționează exact așa cum ne dorim:
=XOR(B2="Câștigat", C2="Câștigat")
Și, dacă veți integra această funcție XOR în testul logic al formulei IF, veți obține rezultate și mai sensibile:
=IF(XOR(B2="Câștigat", C2="Câștigat"), "Da", "Nu")
Utilizarea funcției NOT în Excel
Funcția NOT este una dintre cele mai simple funcții Excel din punct de vedere al sintaxei:
NOT(logic)Folosiți funcția NOT în Excel pentru a inversa o valoare a argumentului său. Cu alte cuvinte, dacă funcția logică se evaluează la FALSE, funcția NOT returnează TRUE și invers. De exemplu, ambele formule de mai jos returnează FALSE:
=NOT(TRUE)
=NOT(2*2=4)
De ce ar vrea cineva să obțină rezultate atât de ridicole? În unele cazuri, s-ar putea să fiți mai interesat să știți când o anumită condiție nu este îndeplinită decât atunci când este. De exemplu, atunci când analizați o listă de ținute, s-ar putea să doriți să excludeți o anumită culoare care nu vi se potrivește. Eu nu sunt deosebit de atașat de negru, așa că merg mai departe cu această formulă:
=NOT(C2="negru")
Ca de obicei, în Microsoft Excel există mai multe moduri de a face ceva și puteți obține același rezultat folosind operatorul "Not equal to": =C2 "negru".
Dacă doriți să testați mai multe condiții într-o singură formulă, puteți utiliza NOT în conjuncție cu funcția AND sau OR. De exemplu, dacă doriți să excludeți culorile alb și negru, formula ar fi următoarea:
=NOT(OR(C2="black", C2="white"))
Iar dacă preferați să nu aveți o haină neagră, în timp ce o jachetă neagră sau o haină de blană la spate poate fi luată în considerare, ar trebui să folosiți NOT în combinație cu funcția AND din Excel:
=NOT(AND(C2="black", B2="coat"))
O altă utilizare obișnuită a funcției NOT în Excel este de a inversa comportamentul unei alte funcții. De exemplu, puteți combina funcțiile NOT și ISBLANK pentru a crea formula ISNOTBLANK de care Microsoft Excel nu dispune.
După cum știți, formula =ISBLANK(A2) returnează TRUE dacă celula A2 este goală. Funcția NOT poate inversa acest rezultat în FALSE: =NOT(ISBLANK(A2))
Apoi, puteți face un pas mai departe și puteți crea o instrucțiune IF imbricate cu funcțiile NOT / ISBLANK pentru o sarcină din viața reală:
=IF(NOT(NOT(ISBLANK(C2)), C2*0.15, "Fără bonus :("))
Tradusă în limba engleză, formula îi spune lui Excel să facă următoarele: Dacă celula C2 nu este goală, înmulțiți numărul din C2 cu 0,15, ceea ce dă bonusul de 15% pentru fiecare vânzător care a făcut vânzări suplimentare. Dacă C2 este goală, apare textul "Niciun bonus :(".
În esență, acesta este modul în care utilizați funcțiile logice din Excel. Desigur, aceste exemple au zgâriat doar suprafața capacităților AND, OR, XOR și NOT. Cunoscând elementele de bază, vă puteți acum extinde cunoștințele abordând sarcinile reale și scriind formule elaborate inteligente pentru foile de calcul.