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:

  1. =IF(“=” indikerar början av en formel i cellen och OM(IF) är excelfunktionen som vi använder.
  2. D2=”USA”Logiskt(Logical) test som vi utför (dvs om data i kolumn D2 är USA ).
  3.  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 ).
  4. 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 ).
  5. )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 (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:

  1. =IF(Början(Beginning) av formeln med en IF-sats
  2. D2=”USA”Första(First) logiska testet som vi utför (dvs om data i kolumn D2 är USA ).
  3.  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 ).
  4. 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%.
  5. )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.



About the author

"Jag är en frilansande Windows- och Office-expert. Jag har över 10 års erfarenhet av att arbeta med dessa verktyg och kan hjälpa dig att få ut det mesta av dem. Mina färdigheter inkluderar: arbeta med Microsoft Word, Excel, PowerPoint och Outlook; skapa webben sidor och applikationer; och hjälpa kunder att nå sina affärsmål."



Related posts