IF-funktionen i Excel: exempel på formler för text, siffror, datum och blanksteg

  • Dela Detta
Michael Brown

I den här artikeln får du lära dig hur du bygger ett Excel IF-uttalande för olika typer av värden och hur du skapar flera IF-uttalanden.

IF är en av de mest populära och användbara funktionerna i Excel. I allmänhet använder du ett IF-meddelande för att testa ett villkor och för att returnera ett värde om villkoret är uppfyllt och ett annat värde om villkoret inte är uppfyllt.

I den här handledningen kommer vi att lära oss syntaxen och vanliga användningsområden för Excel-funktionen IF och sedan titta närmare på formelexempel som förhoppningsvis kommer att vara till hjälp för både nybörjare och erfarna användare.

    IF-funktionen i Excel

    IF är en logisk funktion som utvärderar ett visst villkor och returnerar ett värde om villkoret är VARA och ett annat värde om villkoret är FALSK.

    Syntaxen för IF-funktionen är följande:

    IF(logical_test, [value_if_true], [value_if_false])

    Som du ser tar IF totalt tre argument, men endast det första är obligatoriskt, de andra två är valfria.

    Logisk_test (krävs) - villkoret som ska testas. Kan utvärderas som antingen TRUE eller FALSE.

    Value_if_true (valfritt) - det värde som ska returneras när det logiska testet utvärderar till TRUE, dvs. villkoret är uppfyllt. Om det utelämnas kommer value_if_false argumentet måste definieras.

    Värde_if_false (valfritt) - det värde som ska returneras när det logiska testet utvärderar till FALSE, dvs. villkoret är inte uppfyllt. Om det utelämnas kommer value_if_true måste vara inställt.

    Grundläggande IF-formel i Excel

    För att skapa en enkel Om så är fallet i Excel, är det här vad du behöver göra:

    • För logisk_test Skriv ett uttryck som returnerar antingen TRUE (sant) eller FALSE (falskt). För detta använder du normalt en av de logiska operatörerna.
    • För value_if_true ange vad som ska returneras när det logiska testet utvärderar till TRUE.
    • För value_if_false ange vad som ska returneras när det logiska testet utvärderar till FALSE. Även om detta argument är valfritt rekommenderar vi att du alltid konfigurerar det för att undvika oväntade resultat. En detaljerad förklaring finns i Excel IF: saker att veta.

    Som exempel kan vi skriva en mycket enkel IF-formel som kontrollerar ett värde i cell A2 och returnerar "Bra" om värdet är större än 80, annars "Dåligt":

    =IF(B2>80, "Bra", "Dåligt")

    Denna formel går till C2 och kopieras sedan ner till C7:

    Om du vill returnera ett värde endast när villkoret uppfylls (eller inte uppfylls), annars - ingenting, använd en tom sträng ("") för argumentet "odefinierat". Till exempel:

    =IF(B2>80, "Bra", "")

    Formeln ger resultatet "Bra" om värdet i A2 är större än 80, annars en tom cell:

    Excel Om sedan-formeln: saker att veta

    Även om de två sista parametrarna i IF-funktionen är valfria kan formeln ge oväntade resultat om du inte känner till den underliggande logiken.

    Om value_if_true utelämnas

    Om det andra argumentet i din Excel IF-formel utelämnas (dvs. om det finns två på varandra följande kommatecken efter det logiska testet), får du noll (0) när villkoret är uppfyllt, vilket i de flesta fall är meningslöst. Här är ett exempel på en sådan formel:

    =IF(B2>80, , , "Bad")

    Om du vill returnera en tom cell i stället anger du en tom sträng ("") i den andra parametern, så här:

    =IF(B2>80, "", "Bad")

    Skärmbilden nedan visar skillnaden:

    Om value_if_false utelämnas

    Om du utelämnar den tredje parametern i IF får du följande resultat när det logiska testet ger FALSE.

    Om det bara finns en avslutande parentes efter value_if_true kommer IF-funktionen att ge det logiska värdet FALSE. Det är väl oväntat? Här är ett exempel på en sådan formel:

    =IF(B2>80, "Bra")

    Om du skriver ett kommatecken efter value_if_true argumentet tvingar Excel att returnera 0, vilket inte heller är särskilt meningsfullt:

    =IF(B2>80, "Bra",)

    Den mest rimliga metoden är att använda en sträng med noll längd ("") för att få en tom cell när villkoret inte uppfylls:

    =IF(B2>80, "Bra", "")

    Tips: Om du vill returnera ett logiskt värde när det angivna villkoret är uppfyllt eller inte uppfyllt anger du TRUE för value_if_true och FALSE för value_if_false För att resultaten ska vara boolska värden som andra Excel-funktioner kan känna igen ska du inte sätta TRUE och FALSE inom dubbla citationstecken, eftersom det gör dem till vanliga textvärden.

    Användning av IF-funktionen i Excel - exempel på formler

    Nu när du är bekant med IF-funktionens syntax kan vi titta på några exempel på formler och lära oss hur man använder Om så är fallet uttalanden i verkliga scenarier.

    Excel IF-funktion med siffror

    Om du vill skapa ett IF-uttalande för siffror använder du logiska operatörer som t.ex:

    • Lika med (=)
    • Inte lika med ()
    • Större än (>)
    • Större än eller lika med (>=)
    • Mindre än (<)
    • Mindre än eller lika med (<=)

    Ovan har du redan sett ett exempel på en sådan formel som kontrollerar om ett tal är större än ett givet tal.

    Och här är en formel som kontrollerar om en cell innehåller en negativt tal :

    =IF(B2<0, "Ogiltig", "")

    För negativa tal (som är mindre än 0) returnerar formeln "Invalid"; för nollor och positiva tal - en tom cell.

    Excel IF-funktion med text

    Vanligtvis skriver du ett IF-uttalande för textvärden med hjälp av antingen "lika med" eller "inte lika med"-operatorn.

    Följande formel kontrollerar till exempel Leveransstatus i B2 för att avgöra om en åtgärd är nödvändig eller inte:

    =IF(B2="levererad", "Nej", "Ja")

    På svenska lyder formeln: "Återge "Nej" om B2 är lika med "levererad", annars "Ja".

    Ett annat sätt att uppnå samma resultat är att använda operatorn "not equal to" och byta ut value_if_true och value_if_false värden:

    =IF(C2 "levererad", "Ja", "Nej")

    Anteckningar:

    • När du använder textvärden för IF:s parametrar, kom ihåg att alltid innesluta dem i dubbla citationstecken .
    • Precis som de flesta andra Excel-funktioner, IF är som standard skiftlägeskänslig. I exemplet ovan görs ingen skillnad mellan "delivered", "Delivered" och "DELIVERED".

    IF-anvisning som tar hänsyn till stora och små bokstäver för textvärden

    Om du vill behandla stora och små bokstäver som olika tecken använder du IF i kombination med den skiftlägeskänsliga EXACT-funktionen.

    Om du till exempel vill returnera "No" endast när B2 innehåller "DELIVERED" (stor bokstav), använder du den här formeln:

    =IF(EXACT(B2, "DELIVERED"), "Nej", "Ja")

    Om cellen innehåller partiell text

    I situationer där du vill basera villkoret på Partiell matchning. istället för exakt matchning är en omedelbar lösning att använda jokertecken i det logiska testet. Denna enkla och självklara metod fungerar dock inte. Många funktioner accepterar jokertecken, men tyvärr är IF inte en av dem.

    En fungerande lösning är att använda IF i kombination med ISNUMBER och SEARCH (skiftlägeskänslig) eller FIND (skiftlägeskänslig).

    Om till exempel "Ingen" åtgärd krävs för både "Levererat" och "Ut för leverans" fungerar följande formel utmärkt:

    =IF(ISNUMBER(SEARCH("deliv", B2)), "Nej", "Ja")

    För mer information, se:

    • Excel IF-meddelande för partiell textmatchning
    • Om cellen innehåller

    Excel IF-uttalande med datum

    Vid första anblicken kan det tyckas att IF-formler för datum är besläktade med IF-anvisningar för numeriska värden och textvärden. Tyvärr är det inte så. Till skillnad från många andra funktioner känner IF igen datum i logiska tester och tolkar dem som rena textsträngar. Med andra ord kan du inte ange ett datum i form av "1/1/2020" eller ">1/1/2020". För att IF-funktionen ska kunna känna igen ett datum måste du omsluta det ifunktionen DATEVALUE.

    Så här kan du till exempel kontrollera om ett visst datum är större än ett annat datum:

    =IF(B2>DATEVALUE("7/18/2022")), "Kommer snart", "Avslutat")

    Formeln utvärderar datumen i kolumn B och returnerar "Kommer snart" om spelet är planerat till den 18 juli 2022 eller senare, "Slutfört" för ett tidigare datum.

    Det finns naturligtvis inget som hindrar dig från att skriva in måldatumet i en fördefinierad cell (till exempel E2) och hänvisa till den cellen. Kom bara ihåg att låsa celladressen med $-tecknet för att göra den till en absolut referens. Till exempel:

    =IF(B2>$E$2, "Kommer snart", "Färdig")

    Om du vill jämföra ett datum med aktuellt datum Använd funktionen TODAY(), till exempel:

    =IF(B2>TODAY(), "Kommer snart", "Färdig")

    Excel IF-meddelande för blanketter och icke-blanketter

    Om du på något sätt vill markera data baserat på om en viss cell är tom eller inte tom kan du antingen:

    • Använd IF-funktionen tillsammans med ISBLANK, eller
    • Använd de logiska uttrycken (lika med tomt) eller "" (inte lika med tomt).

    I tabellen nedan förklaras skillnaden mellan dessa två tillvägagångssätt med exempel på formler.

    Logiskt test Beskrivning Exempel på en formel
    Tomma celler =""

    Utvärderar till TRUE om en cell är visuellt tom, även om den innehåller en sträng med noll längd .

    I annat fall utvärderas till FALSE.

    =IF(A1="", 0, 1)

    Återger 0 om A1 är visuellt tomt. Återger annars 1.

    Om A1 innehåller en tom sträng ("") ger formeln 0. ISBLANK()

    Utvärderar till TRUE om en cell innehåller absolut ingenting - inga formler, inga mellanslag, inga tomma strängar.

    I annat fall utvärderas till FALSE.

    =IF(ISBLANK(A1), 0, 1)

    Återger 0 om A1 är helt tom, annars 1.

    Om A1 innehåller en tom sträng ("") ger formeln 1. Icke-blankceller "" Utvärderas till TRUE om en cell innehåller data, annars till FALSE.

    Celler med strängar med noll längd anses vara tomt . =IF(A1"", 1, 0)

    Återger 1 om A1 inte är tomt, annars 0.

    Om A1 innehåller en tom sträng ger formeln 0. ISBLANK()=FALSK Värderar till TRUE om en cell inte är tom, annars till FALSE.

    Celler med strängar med noll längd anses vara ej utelämnad . =IF(ISBLANK(A1)=FALSE, 0, 1)

    Fungerar på samma sätt som ovanstående formel, men returnerar 1 om A1 innehåller en tom sträng.

    Och nu ska vi se hur tomma och icke-tomma IF-satser fungerar. Anta att du har ett datum i kolumn B endast om ett spel redan har spelats. För att märka de avslutade spelen använder du en av dessa formler:

    =IF(B2="", "", "", "Avslutat")

    =IF(ISBLANK(B2), "", "Avslutat")

    =IF($B2"", "Avslutat", "")

    =IF(ISBLANK($B2)=FALSE, "Avslutat", "")

    Om de testade cellerna inte har några strängar med noll längd kommer alla formler att ge exakt samma resultat:

    Kontrollera om två celler är samma

    Om du vill skapa en formel som kontrollerar om två celler matchar varandra jämför du cellerna genom att använda likhetstecknet (=) i det logiska testet IF:

    =IF(B2=C2, "Samma poäng", "")

    Om du vill kontrollera om de två cellerna innehåller samma text, inklusive bokstavsbokstäverna, kan du göra din IF-formel känslig för stora och små bokstäver med hjälp av EXACT-funktionen.

    Om du till exempel vill jämföra lösenorden i A2 och B2 och återger "Match" om de två strängarna är exakt likadana, och "Match inte" annars, är formeln följande:

    =IF(EXACT(A2, B2), "Överensstämmer", "Överensstämmer inte")

    IF sedan formel för att köra en annan formel

    I alla de tidigare exemplen returnerade ett Excel IF-uttalande värden. Men det kan också utföra en viss beräkning eller köra en annan formel när ett visst villkor uppfylls eller inte uppfylls. För att göra detta kan du bädda in en annan funktion eller ett aritmetiskt uttryck i value_if_true och/eller value_if_false argument.

    Om B2 till exempel är större än 80 multipliceras det med 7 %, annars med 3 %:

    =IF(B2>80, B2*7%, B2*3%)

    Flera IF-satser i Excel

    I huvudsak finns det två sätt att skriva flera IF-satser i Excel:

    • Inbäddning av flera IF-funktioner i varandra
    • Användning av AND- eller OR-funktionen i det logiska testet

    Inbäddat IF-uttalande

    Med inbäddade IF-funktioner kan du placera flera IF-satser i samma cell, dvs. testa flera villkor i en formel och returnera olika värden beroende på resultaten av dessa tester.

    Anta att ditt mål är att tilldela olika bonusar beroende på poäng:

    • Över 90 år - 10 %
    • 90 till 81 - 7%
    • 80 till 70 - 5 %
    • Mindre än 70 - 3 %

    För att klara av uppgiften skriver du tre separata IF-funktioner som du bäddar in i varandra på följande sätt:

    =IF(B2>90, 10 %, IF(B2>=81, 7 %, IF(B2>=70, 5 %, 3 %)))

    För fler exempel på formler, se:

    • Excel inbäddad IF-formel
    • Inbäddad IF-funktion: exempel, bästa praxis och alternativ

    Excel IF-meddelande med flera villkor

    Om du vill utvärdera flera villkor med AND- eller OR-logiken bäddar du in motsvarande funktion i det logiska testet:

    • AND - ger TRUE om alla villkoren är uppfyllda.
    • OR - ger TRUE om alla ett av villkoren är uppfyllt.

    För att till exempel returnera "Godkänd" om båda poängen i B2 och C2 är högre än 80, är formeln följande:

    =IF(AND(B2>80, C2>80), "Godkänd", "Underkänd")

    För att få "Godkänt" om någon av poängen är högre än 80, är formeln följande:

    =IF(OR(B2>80, C2>80), "Godkänd", "Underkänd")

    För mer information, besök:

    • IF AND-formeln i Excel
    • Excel IF OR-funktion med formelexempel

    Om fel i Excel

    Från och med Excel 2007 har vi en särskild funktion som heter IFERROR för att kontrollera formlerna för fel. I Excel 2013 och senare finns även funktionen IFNA för att hantera #N/A-fel.

    Men det kan ändå finnas omständigheter där det är bättre att använda IF-funktionen tillsammans med ISERROR eller ISNA. I princip är IF ISERROR den formel som du ska använda när du vill returnera något om du har ett fel och något annat om du inte har något fel. IFERROR-funktionen kan inte göra det eftersom den alltid returnerar resultatet av huvudformeln om det inte är ett fel.

    Om du till exempel vill jämföra varje resultat i kolumn B med de tre bästa resultaten i E2:E4 och returnera "Ja" om en matchning hittas och "Nej" annars, anger du formeln i C2 och kopierar den sedan ner till C7:

    =IF(ISERROR(MATCH(B2, $E$2:$E$4, 0)), "Nej", "Ja" )

    Mer information finns i formeln IF ISERROR i Excel.

    Förhoppningsvis har våra exempel hjälpt dig att få ett grepp om Excel IF-grunderna. Jag tackar dig för att du läste och hoppas att vi ses på vår blogg nästa vecka!

    Arbetsbok för övning

    Excel IF-meddelande - exempel på formler (.xlsx-fil)

    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.