Vad att veta
- OM-funktionen används för att utföra ett logiskt test, dvs. om något är sant eller inte.
- IF-funktionens syntax och argument är =IF(logiskt_test, värde_om_sant, [värde_om_falskt]).
- Till exempel =IF(A2>A3, "Bigger", "Smaller").
Den här artikeln förklarar hur man använder IF-funktionen för att utföra ett logiskt test av alla versioner av Excel, inklusive Excel 2019 och Microsoft 365. Flera exempel beskrivs.
Vad är IF-funktionen?
IF-funktionen i Excel används för att utföra ett logiskt test. En formel som använder den här funktionen kallas också en IF-sats eller en if/then-sats.
Alla formler som använder den här funktionen kan ha ett av två resultat. Hur det fungerar, som vi ser i exemplen nedan, är att formeln är inställd för att testa om något är sant. Om det är sant händer en sak, men om det är falskt händer något annat.
OM-funktionen är en av flera logiska funktioner som du kan använda i Excel. Andra inkluderar AND, IFERROR, IFS, NOT och OR.
IF-funktionssyntax och argument
Varje formel som använder OM-funktionen har några delar:
=IF(logical_test, value_if_true, [value_if_false])
- logical_test: Tillståndet du testar. Det krävs.
- value_if_true: Vad ska hända om logical_test är sant. Det krävs.
- value_if_false: Vad ska hända om logical_test är falskt. Det är valfritt.
Att skriva ett Excel IF-uttalande är lätt om du läser det lite annorlunda: om den första delen är sann, gör den här saken. Om den första delen är falsk, gör den här andra saken istället.
Tänk på dessa regler:
- Excel returnerar FALSE om logical_test är falskt och value_if_false utelämnas.
- För att returnera text som värde_om_sant eller värde_om_falskt måste den vara omgiven av citattecken, med undantag för orden TRUE och FALSE.
- OM-funktionen är inte skiftlägeskänslig.
- Excel 2010 och nyare tillåter att upp till 64 IF-satser finns inom samma formel. Äldre versioner av Excel är begränsade till sju.
IF-funktionsexempel
Här är några av de olika sätten du kan använda IF-formler i Excel:
Skriv text om påståendet är sant
=IF(A2>A3, "Bigger", "Smaller")
Detta är ett riktigt grundläggande exempel på en IF-sats i Excel. Testet går ut på att se om A2 är större än A3. Om det är det, skriv Större, annars skriv Mindre.
Gör matematik om påståendet är sant
=IF(A2>A3, A2-A3)
Detta IF-uttalande är skrivet lite annorlunda. Istället för att value_if_true-resultatet är ett ord, subtraherar det ett värde från ett annat. Så om A2 faktiskt är större än A3 blir skillnaden resultatet. Om det inte är sant, eftersom vi har utelämnat delen value_if_false, returnerar Excel FALSE.
Testa påståendet med matematik
=IF(A2/A3=5, A2/A3, "")
Ett annat sätt att skriva en IF-sats är att utföra en beräkning inom logical_test-sektionen. IF-villkoret här är A2/A3=5. Om det är sant gör vi beräkningen A2/A3. Om det inte är lika med 5 vill vi att resultatet ska bli ingenting, så vi använder dubbla citattecken.
Testa om ett datum är idag
=IF(A2=TODAY(), "Det här är idag", "")
Andra Excel-funktioner kan användas i en IF-sats. I det här exemplet använder vi IDAG-funktionen för att kontrollera om A2 är dagens datum. Om så är fallet skriver formeln This is today, annars skrivs ingenting.
Using AND With IF-formel
=IF(E2<=IDAG(), "Nu", "Snart")
=OM(AND(F2="Nu", D2>=(B2-C2)), "Ja", "Nej")
Det här exemplet på IF-funktionen är lite mer involverat. Tanken här är att se om en vara som vi är skyldig pengar på är förfallen, och om det är det, ser vi om det beloppet finns i vår budget eller inte så att vi kan betala av det. Om båda dessa påståenden är sanna kan vi se i kolumn G om det är dags att betala det.
IF(E2<=TODAY(), "Nu", "Snart") finns i kolumnen Brådskande. Den talar om för oss om varan är försenad eller om den är förfallen idag genom att jämföra förfallodatumet med dagens datum. Om förfallodagen är idag eller i det förflutna skrivs Nu i kolumn F, annars skriver vi Snart.
Den andra IF-satsen är fortfarande strukturerad som en IF-sats trots att AND används i den. Den feta delen här är där OCH-funktionen sitter, och eftersom den är inom den första uppsättningen kommatecken, är det vad vi använder som logical_test:
=IF(AND(F2="Nu", D2>=(B2-C2)), "Ja", "Nej")
Här skrivs det annorlunda för att visa att det är precis som andra IF-påståenden:
=IF(testa denna OCH-funktion, skriv Yes om det är sant, eller skriv Noom det är falskt)
Inom AND-funktionen finns två IF-satser:
- F2="Now" är en del av formlerna i kolumn G. Den kontrollerar om Now är i F2.
- D2>=(B2-C2) har två delar: den utför först beräkningen B2-C2 för att se hur mycket vi har kvar att betala för varan, och sedan kontrollerar den tillgängliga budgeten i D2 för att se om vi har pengar att betala av den.
Så, om vi är skyldiga pengar nu och vi har pengarna för att betala av dem, får vi veta att Ja, det är dags att betala av varan.
Nested IF Statement Exempel
Nested IF-satser är vad det kallas när mer än en IF-sats ingår i formeln. Inställningen är nästan identisk, men istället för att stänga parentesen i slutet av den första uppsättningen sätter vi ett kommatecken och skriver ett annat påstående.
Två IF-uttalanden i en formel
=IF(B2="F", "Klass A", IF(B2="M", "Klass B"))
Det här första exemplet används för att kategorisera elever efter deras kön, där kvinnor tilldelas klass A och män klass B. Formeln kontrollerar för F och M i B2 och skriver sedan antingen klass A eller klass B beroende på påståendet det är sant.
Antalet parenteser du behöver i slutet av en formel med kapslade IF-funktioner är samma antal gånger IF skrivs. I vårt exempel skrivs OM två gånger, så vi behöver två parenteser på slutet.
Tre IF-uttalanden i en formel
=IF(A2=TODAY(), "Det här är idag", IF(A2TODAY(), "Framtida datum"))
Här är ett exempel på en formel med flera IF-satser. Det är identiskt med TODAY-exemplet ovan men med ytterligare ett logiskt test:
- Den första uppsättningen kontrollerar om A2 är dagens datum och returnerar. Detta är idag om det är det.
- Den andra testar om idag är större än A2 för att avgöra om A2 är ett äldre datum, och returnerar Gamm alt datum om det är det.
- Äntligen finns det ett test för att se om dagens datum är mindre än datumet i A2, och formeln returnerar framtida datum om det är det.
Kopiera pris om uttalanden är falska
=IF(C2="Bill", "", IF(C2="Mat", "", B2))
I det här sista kapslade IF-formelexemplet måste vi snabbt identifiera det totala beloppet för alla köp som inte faller under en viss kategori. Vi räknar ihop alla våra onödiga inköp, och med en lång lista är detta det bästa sättet att göra det. Vi har bestämt att varje artikelbeskrivning som säger Bill eller Food är viktig, så priset, i B2, måste visas för alla andra varor.
Det här är vad som händer:
- C2="Bill", "": Om C2 säger Bill, lämna cellen tom.
- C2="Mat", "": Om C2 säger Mat lämnar du cellen tom.
- B2: Om något av dessa påståenden är falskt, skriv vad som finns i B2.
Vad den här formeln lämnar oss med är en lista över priser som vi sedan kan summera med SUM-funktionen för att snabbt bedöma hur mycket pengar som spenderades på artiklar som vi inte behövde.
Ett enklare sätt att skriva kapslade IF-uttalanden
När du bygger in mer och mer i formeln kan den snabbt bli ohanterlig och svår att redigera senare. Ett sätt att göra kapslade IF-satser lättare att arbeta med är att sätta en radbrytning efter varje sats, så här:
=
IF(A2=TODAY(), "Det här är idag",
IF(A2<TODAY(), "Gammal datum",
IF(A2IF(A2>TODAY(), "Framtida datum")))
För att göra detta i Excel måste vi redigera från formelfältet:
- Välj formelfältet överst i Excel.
- Sätt musen under textutrymmet tills markören ändras till en dubbelsidig pil, och klicka och dra sedan rutan nedåt för att ge mer arbetsutrymme.
- Sätt markören efter likhetstecknet och tryck Alt+Enter (Windows) eller Ctrl+Option+Enter (Mac). Detta sätter resten av formeln på en ny rad.
-
Upprepa steg 3 före varje IF-sats så att varje instans läggs på sin egen rad.