Hur man använder If och Nested If-satser i Excel
En Excel- funktion som jag använder ganska mycket i mina formler är IF - funktionen. Funktionen OM(IF) används för att testa ett logiskt villkor och producera två olika resultat beroende på om det logiska villkoret returnerar SANT(TRUE) eller FALSKT(FALSE) .
Låt oss använda försäljningstabellen för mobiltelefoner nedan som ett exempel. Du kan ladda ner exempelfilen här .
IF-funktion med Single Condition(IF Function with Single Condition)
Överväg ett scenario där du behöver beräkna provisionsavgiften(Commission Fee) för varje försäljningsrad, beroende på var försäljningen gjordes ( kolumn D(Column D) ). Om försäljningen gjordes i USA är provisionsavgiften(Commission Fee) 10 %, annars kommer de återstående platserna att ha en provisionsavgift(Commission Fee) på 5 %.
Den första formeln som du behöver ange i cell F2 är som visas nedan:
=IF(D2="USA", E2*10%, E2*5%)
Formeluppdelning:
- =IF( – “=” indikerar början av en formel i cellen och OM(IF) är excelfunktionen som vi använder.
- D2=”USA” – Logiskt(Logical) test som vi utför (dvs om data i kolumn D2 är USA ).
- E2*10% – Resultat(Result) som returneras av formeln om det första logiska testet resulterar i TRUE (dvs värdet i kolumn D2 är USA ).
- E2*5% – Resultat(Result) som returneras av formeln om det första logiska testet resulterar i FALSK(FALSE) (dvs värdet i kolumn D2 är INTE (NOT) USA ).
- ) – Slutande(Closing) parentes som indikerar slutet på formeln.
Sedan kan du kopiera ner formeln från cell F2 till resten av raderna i kolumn F(Column F) och den kommer att beräkna provisionsavgiften(Commission Fee) för varje rad, antingen med 10 % eller 5 % beroende på om det logiska OM-testet returnerar TRUE (IF)eller(TRUE) FALSE på(FALSE) varje rad. rad.
IF-funktion med flera villkor(IF Function with Multiple Conditions)
Tänk om reglerna var lite mer komplicerade där du behöver testa för mer än ett logiskt villkor med olika resultat som returneras för varje villkor?
Excel har ett svar på detta! Vi kan kombinera flera IF -funktioner inom samma cell, som ibland kallas en Nested IF .
Överväg ett liknande scenario där provisionerna(Commissions) är olika för varje försäljningsplats(Sales Location) enligt nedan:
- USA 10 %
- Australien(Australia) 5 %
- Singapore 2 %
I cell F2 (som senare kommer att kopieras till resten av raderna i samma kolumn F), skriv in formeln enligt följande:
=IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,E2*2%))
Formeluppdelning:
- =IF( – Början(Beginning) av formeln med en IF-sats
- D2=”USA” – Första(First) logiska testet som vi utför (dvs om data i kolumn D2 är USA ).
- E2*10% – Resultat(Result) som returneras av formeln om det första logiska testet resulterar i TRUE (dvs värdet i kolumn D2 är USA ).
- IF(D2=”Australia”,E2*5%,E2*2%) – andra Excel IF- sats som kommer att bedömas om det första logiska testet resulterade i FALSK(FALSE) (dvs. värdet i kolumn D2 är INTE (NOT) USA ). Detta är en liknande syntax för " OM-funktion med enstaka villkor"(IF Function with Single Condition”) som diskuterades tidigare i den här artikeln, där om värdet på cell D2 är Australien(Australia) , kommer resultatet av E2*5% att returneras. Annars, om värdet inte är Australien(Australia) , kommer funktionen att returnera resultatet av E2*2%.
- ) – Slutande(Closing) parentes som indikerar slutet av formeln för den första OM(IF) -funktionen.
Eftersom Excel kommer att bedöma formeln från vänster till höger, när ett logiskt test är uppfyllt (t.ex. D2=“USA”, kommer funktionen att stoppa och returnera resultatet, och ignorera eventuella ytterligare logiska test efter (t.ex. D2=“Australia” . )
Så om det första logiska testet returnerar FALSE (dvs. platsen är inte USA ), kommer det att fortsätta att bedöma det andra logiska testet. Om det andra logiska testet också returnerar FALSK(FALSE) (dvs. platsen är inte Australien(Australia) ), behöver vi inte testa ytterligare eftersom vi vet att det enda möjliga värdet på cell D2 är Singapore , så det bör returnera ett resultat på E2*2% .
Om du föredrar för tydlighetens skull kan du lägga till det tredje logiska testet IF(D2=”Singapore”, “value if TRUE” , “value if FALSE”) . Därför är den fullständiga utökade formeln som visas nedan:
=IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,IF(D2="Singapore",E2*2%)))
Som nämnts tidigare kommer ovanstående att returnera samma resultat som den ursprungliga formeln som vi hade.
=IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,E2*2%))
Snabba tips(Quick Tips)
- För varje enskild IF( -funktion, måste det finnas en öppnings- och stängningsrunda parentes. När det finns tre IF -funktioner enligt ett av exemplen ovan, kommer formeln att behöva tre avslutande parenteser ")))" , var och en markerar slutet på en motsvarande inledande IF( -sats.
- Om vi inte specificerar det andra resultatet av det logiska testet (när det logiska testet resulterade i FALSK(FALSE) ), kommer standardvärdet som tilldelas av Excel att vara texten "FALSK". (“FALSE”.)Så formel =IF(D2=”USA”,E2*10%) returnerar texten “FALSE” om D2 inte är “USA” .
- Om du har flera olika logiska test, var och en med olika utfall, kan du kombinera/kapsla IF -funktionen flera gånger, en efter en, liknande exemplet ovan.
Related posts
Hur man tar bort tomma rader i Excel
Hur man använder Excels Speak Cells-funktion
Hur man infogar ett Excel-kalkylblad i ett Word-dokument
Hur man använder Excels What-If-analys
Hur man fixar en rad i Excel
Använd dynamiska intervallnamn i Excel för flexibla rullgardinsmenyer
Hur man öppnar Word och Excel i felsäkert läge
Hur man åtgärdar #N/A-fel i Excel-formler som VLOOKUP
Hur man söker i Excel
Hur man snabbt infogar flera rader i Excel
Hur man delar en Excel-fil för enkelt samarbete
4 sätt att konvertera Excel till Google Sheets
Hur man flyttar kolumner i Excel
En avancerad VBA-guide för MS Excel
Hur man spårar beroende i Excel
Vad är en VBA-array i Excel och hur man programmerar en
Hur man tar bort rutnät i Excel
Grundläggande datasortering med en kolumn och flera kolumner i Excel-kalkylblad
Använda Excels What-If Analysis Goal Seek Tool
Skillnader mellan Microsoft Excel Online och Excel för skrivbordet