Logiska funktioner i Excel: AND, OR, XOR och NOT

  • Dela Detta
Michael Brown

I handledningen förklaras vad de logiska Excel-funktionerna AND, OR, XOR och NOT innebär och du får exempel på formler som visar hur de ofta och på ett uppfinningsrikt sätt används.

Förra veckan tog vi del av insikten om Excels logiska operatörer som används för att jämföra data i olika celler. Idag kommer du att se hur du kan utöka användningen av logiska operatörer och konstruera mer genomarbetade tester för att utföra mer komplexa beräkningar. Logiska Excel-funktioner som AND, OR, XOR och NOT kommer att hjälpa dig att göra detta.

    Excel logiska funktioner - översikt

    Microsoft Excel tillhandahåller 4 logiska funktioner för att arbeta med logiska värden. Funktionerna är AND, OR, XOR och NOT. Du använder dessa funktioner när du vill göra mer än en jämförelse i din formel eller testa flera villkor i stället för bara ett. Liksom logiska operatörer returnerar Excels logiska funktioner antingen TRUE eller FALSE när deras argument utvärderas.

    I följande tabell finns en kort sammanfattning av vad varje logisk funktion gör för att hjälpa dig att välja rätt formel för en specifik uppgift.

    Funktion Beskrivning Exempel på en formel Beskrivning av formeln
    OCH Återger TRUE om alla argumenten är TRUE. =AND(A2>=10, B2<5) Formeln returnerar TRUE om ett värde i cell A2 är större än eller lika med 10 och ett värde i B2 är mindre än 5, annars FALSE.
    ELLER Återger TRUE om något av argumenten utvärderas till TRUE. =OR(A2>=10, B2<5) Formeln ger TRUE om A2 är större än eller lika med 10 eller B2 är mindre än 5, eller om båda villkoren är uppfyllda. Om inget av villkoren är uppfyllda ger formeln FALSE.
    XOR Återger ett logiskt Exclusive Or av alla argument. =XOR(A2>=10, B2<5) Formeln ger TRUE om antingen A2 är större än eller lika med 10 eller B2 är mindre än 5. Om inget av villkoren är uppfyllda eller om båda villkoren är uppfyllda ger formeln FALSE.
    INTE Återger det omvända logiska värdet av argumentet, dvs. om argumentet är FALSE återges TRUE och vice versa. =NOT(A2>=10) Formeln returnerar FALSK om ett värde i cell A1 är större än eller lika med 10, annars SANT.

    Utöver de fyra logiska funktionerna som beskrivs ovan har Microsoft Excel tre "villkorliga" funktioner - IF, IFERROR och IFNA.

    Excel logiska funktioner - fakta och siffror

    1. Som argument för de logiska funktionerna kan du använda cellreferenser, numeriska värden och textvärden, booleska värden, jämförelseoperatörer och andra Excel-funktioner. Alla argument måste dock utvärderas till de booleska värdena TRUE eller FALSE, eller referenser eller matriser som innehåller logiska värden.
    2. Om ett argument för en logisk funktion innehåller något tomma celler Om alla argument är tomma celler returnerar formeln felet #VALUE!.
    3. Om ett argument i en logisk funktion innehåller siffror, blir nollvärdet FALSK och alla andra siffror, inklusive negativa siffror, blir VARA. Om cellerna A1:A5 innehåller siffror, ger formeln =AND(A1:A5) till exempel VARA om ingen av cellerna innehåller noll, och annars FALSK.
    4. En logisk funktion returnerar felet #VALUE! om inget av argumenten är logiska värden.
    5. En logisk funktion returnerar felet #NAME? om du har stavat fel på funktionens namn eller om du har försökt använda funktionen i en tidigare Excel-version som inte har stöd för den. XOR-funktionen kan till exempel endast användas i Excel 2016 och 2013.
    6. I Excel 2007 och senare kan du inkludera upp till 255 argument i en logisk funktion, förutsatt att den totala längden på formeln inte överstiger 8 192 tecken. I Excel 2003 och senare kan du ange upp till 30 argument och den totala längden på din formel får inte överstiga 1 024 tecken.

    Använda AND-funktionen i Excel

    AND-funktionen är den mest populära i familjen logiska funktioner. Den är praktisk när du måste testa flera villkor och se till att alla är uppfyllda. Tekniskt sett testar AND-funktionen de villkor du anger och returnerar TRUE om alla villkor är TRUE och FALSE i annat fall.

    Syntaxen för Excel AND-funktionen är följande:

    AND(logical1, [logical2], ...)

    Där logical är det villkor som du vill testa och som kan utvärderas till antingen TRUE (sant) eller FALSE (falskt). Det första villkoret (logical1) är obligatoriskt, efterföljande villkor är valfria.

    Nu ska vi titta på några formelexempel som visar hur man använder AND-funktionerna i Excel-formler.

    Formel Beskrivning
    =AND(A2="Bananer", B2>C2) Återger TRUE om A2 innehåller "Bananas" och B2 är större än C2, annars FALSE.
    =AND(B2>20, B2=C2) Återger TRUE om B2 är större än 20 och B2 är lika med C2, annars FALSE.
    =AND(A2="Bananer", B2>=30, B2>C2) Återger TRUE om A2 innehåller "Bananas", B2 är större än eller lika med 30 och B2 är större än C2, annars FALSE.

    Excel AND-funktionen - vanliga användningsområden

    Excel-funktionen AND är i sig själv inte särskilt spännande och har begränsad användbarhet. Men i kombination med andra Excel-funktioner kan AND avsevärt utöka dina kalkylblad.

    En av de vanligaste användningarna av Excel AND-funktionen finns i argumentet logical_test i IF-funktionen för att testa flera villkor i stället för bara ett. Du kan till exempel bädda in någon av AND-funktionerna ovan i IF-funktionen och få ett resultat som liknar det här:

    =IF(AND(A2="Bananer", B2>C2), "Bra", "Dåligt")

    Om du vill ha fler exempel på IF/AND-formler kan du läsa hans handledning: Excel IF-funktion med flera AND-villkor.

    En Excel-formel för villkoret BETWEEN

    Om du behöver skapa en mellanformel i Excel som väljer alla värden mellan två givna värden är det vanligt att använda IF-funktionen med AND i det logiska testet.

    Du har till exempel tre värden i kolumnerna A, B och C och vill veta om ett värde i kolumn A ligger mellan värdena B och C. För att skapa en sådan formel räcker det med IF-funktionen med inbäddat AND och ett par jämförelseoperatörer:

    Formel för att kontrollera om X ligger mellan Y och Z, inklusive:

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

    Formel för att kontrollera om X ligger mellan Y och Z, inte inkluderande:

    =IF(AND(A2>B2, A2

    Som framgår av skärmbilden ovan fungerar formeln perfekt för alla datatyper - siffror, datum och textvärden. När textvärden jämförs kontrolleras de tecken för tecken i alfabetisk ordning. Det står till exempel att Äpplen i inte mellan Aprikos och Bananer eftersom det andra "p" i Äpplen kommer före "r" i Aprikos Se Användning av Excel-jämförelseoperatörer med textvärden för mer information.

    Som du ser är IF /AND-formeln enkel, snabb och nästan universell. Jag säger "nästan" eftersom den inte täcker ett enda scenario. Formeln ovan innebär att ett värde i kolumn B är mindre än i kolumn C, dvs. kolumn B innehåller alltid det lägre gränsvärdet och C - det högre gränsvärdet. Detta är anledningen till att formeln ger " Ingen " för rad 6, där A6 har 12, B6 - 15 och C6 - 3 samt för rad 8 där A8 är 24-nov, B8 är 26-dec och C8 är 21-okt.

    Men vad händer om du vill att din mellanformel ska fungera korrekt oavsett var de nedre och övre gränsvärdena befinner sig? I det här fallet kan du använda Excel-funktionen MEDIAN som returnerar medianen av de givna siffrorna (dvs. siffran i mitten av en uppsättning siffror).

    Om du ersätter AND i det logiska testet i IF-funktionen med MEDIAN kommer formeln att se ut på följande sätt:

    =IF(A2=MEDIAN(A2:C2), "Ja", "Nej")

    Du får följande resultat:

    Som du ser fungerar MEDIAN-funktionen perfekt för siffror och datum, men returnerar felet #NUM! för textvärden. Tyvärr är ingen perfekt : )

    Om du vill ha en perfekt Between-formel som fungerar både för textvärden och för siffror och datum måste du skapa en mer komplex logisk text med hjälp av funktionerna AND / OR, till exempel så här:

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

    Använda OR-funktionen i Excel

    Förutom AND är Excel-funktionen OR en grundläggande logisk funktion som används för att jämföra två värden eller påståenden. Skillnaden är att OR-funktionen returnerar TRUE (sant) om minst ett av argumenten är TRUE (sant) och FALSE (falskt) om alla argument är FALSE (falska). OR-funktionen är tillgänglig i alla versioner av Excel 2016-2000.

    Syntaxen för Excel-funktionen OR är mycket lik AND:

    OR(logical1, [logical2], ...)

    Logik är något du vill testa och som kan vara antingen VARA eller FALSKT. Det första logiska villkoret är obligatoriskt, ytterligare villkor (upp till 255 i moderna Excel-versioner) är valfria.

    Nu ska vi skriva några formler för att du ska få en känsla för hur OR-funktionen i Excel fungerar.

    Formel Beskrivning
    =OR(A2="Bananas", A2="Oranges") Återger TRUE om A2 innehåller "Bananas" eller "Oranges", annars FALSE.
    =OR(B2>=40, C2>=20) Återger TRUE om B2 är större än eller lika med 40 eller C2 är större än eller lika med 20, annars FALSE.
    =OR(B2=" ",) Återger TRUE om antingen B2 eller C2 är tomt eller båda, annars FALSE.

    Förutom Excel AND-funktionen används OR ofta för att utöka användbarheten av andra Excel-funktioner som utför logiska tester, t.ex. IF-funktionen. Här är bara några exempel:

    IF-funktion med inbäddad OR

    =IF(OR(B2>30, C2>20), "Bra", "Dåligt")

    Formeln returnerar " Bra " Om ett tal i cell B3 är större än 30 eller om talet i C2 är större än 20, " Dålig " annars.

    Excel AND / OR-funktioner i en formel

    Naturligtvis finns det inget som hindrar dig från att använda båda funktionerna, AND & OR, i en enda formel om din affärslogik kräver det. Det finns oändliga variationer av sådana formler som kan kokas ner till följande grundläggande mönster:

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

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

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

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

    Om du t.ex. vill veta vilka partier bananer och apelsiner som är slutsålda, dvs. om antalet "I lager" (kolumn B) är lika med antalet "Sålda" (kolumn C), kan följande OR/AND-formel snabbt visa dig detta:

    =OR(AND(A2="bananer", B2=C2), AND(A2="apelsiner", B2=C2))

    OR-funktionen i Excel villkorlig formatering

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

    Regeln med ovanstående OR-formel markerar rader som innehåller en tom cell antingen i kolumn B eller C, eller i båda.

    Mer information om formler för villkorlig formatering finns i följande artiklar:

    • Formler för villkorlig formatering i Excel
    • Ändra radens färg baserat på en cells värde
    • Ändra en cells färg baserat på ett annat cellvärde
    • Hur du markerar varannan rad i Excel

    Använda XOR-funktionen i Excel

    I Excel 2013 introducerade Microsoft XOR-funktionen, som är en logisk funktion för att Exklusivt eller Denna term är definitivt bekant för de av er som har en viss kunskap om programmeringsspråk eller datavetenskap i allmänhet. För dem som inte har det kan begreppet "Exclusive Or" vara lite svårt att förstå till en början, men förhoppningsvis kan nedanstående förklaring illustrerad med formelexempel hjälpa till.

    Syntaxen för XOR-funktionen är identisk med OR-funktionen :

    XOR(logisk1, [logisk2],...)

    Det första logiska påståendet (Logical 1) krävs, ytterligare logiska värden är valfria. Du kan testa upp till 254 villkor i en formel, och dessa kan vara logiska värden, matriser eller referenser som utvärderas till antingen TRUE (sant) eller FALSE (falskt).

    I den enklaste versionen innehåller en XOR-formel endast två logiska påståenden och en retur:

    • TRUE om ett av argumenten är TRUE.
    • FALSE om båda argumenten är TRUE eller om inget av dem är TRUE.

    Detta kan vara lättare att förstå med hjälp av formelexemplen:

    Formel Resultat Beskrivning
    =XOR(1>0, 2<1) TRUE Återger TRUE eftersom det första argumentet är TRUE och det andra argumentet är FALSE.
    =XOR(1<0, 2<1) FALSK Återger FALSE eftersom båda argumenten är FALSE.
    =XOR(1>0, 2>1) FALSK Återger FALSE eftersom båda argumenten är TRUE.

    När fler logiska påståenden läggs till blir XOR-funktionen i Excel följande:

    • TRUE om ett udda antal av argumenten är TRUE;
    • FALSK om det totala antalet TRUE-utsagor är jämnt eller om alla utsagor är FALSK.

    Skärmbilden nedan illustrerar detta:

    Om du inte är säker på hur Excel XOR-funktionen kan tillämpas i ett verkligt scenario kan du ta följande exempel: Anta att du har en tabell med deltagare och deras resultat för de två första spelen. Du vill veta vem av betalarna som ska spela det tredje spelet baserat på följande villkor:

    • De deltagare som vunnit Game 1 och Game 2 går automatiskt vidare till nästa omgång och behöver inte spela Game 3.
    • Deltagare som förlorat båda de första matcherna slås ut och får inte heller spela match 3.
    • De tävlande som vunnit antingen spel 1 eller spel 2 ska spela spel 3 för att avgöra vem som går vidare till nästa omgång och vem som inte gör det.

    En enkel XOR-formel fungerar precis som vi vill:

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

    Och om du integrerar denna XOR-funktion i det logiska testet i IF-formeln får du ännu mer förnuftiga resultat:

    =IF(XOR(B2="vunnit", C2="vunnit"), "Ja", "Nej")

    Använda funktionen NOT i Excel

    Funktionen NOT är en av de enklaste Excel-funktionerna när det gäller syntax:

    NOT(logisk)

    Du använder NOT-funktionen i Excel för att vända på värdet av dess argument. Med andra ord, om logisk utvärderas till FALSE, returnerar NOT-funktionen TRUE och vice versa. Till exempel returnerar båda formlerna nedan FALSE:

    =NOT(TRUE)

    =NOT(2*2=4)

    Varför skulle man vilja få så löjliga resultat? I vissa fall kan du vara mer intresserad av att veta när ett visst villkor inte är uppfyllt än när det är det. När du till exempel granskar en lista över klädsel kan du vilja utesluta en färg som inte passar dig. Jag är inte särskilt förtjust i svart, så jag använder den här formeln:

    =NOT(C2="svart")

    Som vanligt finns det mer än ett sätt att göra något i Microsoft Excel, och du kan uppnå samma resultat genom att använda operatorn Not equal to: =C2 "black".

    Om du vill testa flera villkor i en enda formel kan du använda NOT i samband med AND- eller OR-funktionen. Om du till exempel vill utesluta svarta och vita färger skulle formeln se ut på följande sätt:

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

    Och om du hellre vill slippa en svart kappa, medan en svart jacka eller en päls kan övervägas, bör du använda NOT i kombination med Excel-funktionen AND:

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

    En annan vanlig användning av NOT-funktionen i Excel är att vända på beteendet hos någon annan funktion. Du kan till exempel kombinera funktionerna NOT och ISBLANK för att skapa formeln ISNOTBLANK som Microsoft Excel saknar.

    Som du vet returnerar formeln =ISBLANK(A2) TRUE om cellen A2 är tom. Funktionen NOT kan vända detta resultat till FALSE: =NOT(ISBLANK(A2))

    Sedan kan du ta ett steg längre och skapa ett inbäddat IF-uttalande med funktionerna NOT / ISBLANK för en verklig uppgift:

    =IF(NOT(ISBLANK(C2)), C2*0.15, "Ingen bonus :(")

    Översatt till vanlig engelska säger formeln till Excel att göra följande: Om cellen C2 inte är tom, multiplicera siffran i C2 med 0,15, vilket ger 15 % bonus till varje säljare som har gjort någon extra försäljning. Om C2 är tom visas texten "Ingen bonus :(".

    I huvudsak är det så här du använder de logiska funktionerna i Excel. Naturligtvis har dessa exempel bara skrapat på ytan av AND, OR, XOR och NOT-funktionerna. När du känner till grunderna kan du nu utöka dina kunskaper genom att ta itu med verkliga uppgifter och skriva smarta, genomarbetade formler för dina kalkylblad.

    Michael Brown är en hängiven teknikentusiast med en passion för att förenkla komplexa processer med hjälp av mjukvaruverktyg. Med mer än ett decenniums erfarenhet inom teknikbranschen har han finslipat sina kunskaper i Microsoft Excel och Outlook, samt Google Sheets och Docs. Michaels blogg är tillägnad att dela med sig av sin kunskap och expertis med andra, och tillhandahåller lätta att följa tips och handledningar för att förbättra produktiviteten och effektiviteten. Oavsett om du är en erfaren proffs eller nybörjare, erbjuder Michaels blogg värdefulla insikter och praktiska råd för att få ut det mesta av dessa viktiga programvaruverktyg.