Nestet IF i Excel – formel med flere betingelser

  • Dele Denne
Michael Brown

Opplæringen forklarer hvordan du bruker flere IF i Excel og gir et par nestede If-formeleksempler for de fleste vanlige oppgavene.

Hvis noen spør deg hvilken Excel-funksjon du bruker oftest, hva vil svaret ditt være? I de fleste tilfeller er det Excel IF-funksjonen. En vanlig If-formel som tester en enkelt tilstand er veldig grei og lett å skrive. Men hva om dataene dine krever mer forseggjorte logiske tester med flere forhold? I dette tilfellet kan du inkludere flere IF-funksjoner i én formel, og disse multiple If-setningene kalles Excel Nested IF . Den største fordelen med den nestede If-setningen er at den lar deg sjekke mer enn én betingelse og returnere forskjellige verdier avhengig av resultatene av disse sjekkene, alt i én enkelt formel.

Microsoft Excel har grenser for nivåer av nestede IF-er . I Excel 2003 og lavere var opptil 7 nivåer tillatt. I Excel 2007 og høyere kan du legge inn opptil 64 IF-funksjoner i én formel.

Videre i denne opplæringen finner du et par Excel nestede If-eksempler sammen med en detaljert forklaring av deres syntaks og logikk .

    Eksempel 1. Klassisk nestet IF-formel

    Her er et typisk eksempel på Excel If med flere betingelser. Anta at du har en liste over studenter i kolonne A og deres eksamenspoeng i kolonne B, og du vil klassifisere poengsummene med følgendeforhold:

    • Utmerket: Over 249
    • Bra: mellom 249 og 200, inklusive
    • Tilfredsstillende: mellom 199 og 150, inkludert
    • Dårlig : Under 150

    Og nå, la oss skrive en nestet HVIS-funksjon basert på kriteriene ovenfor. Det anses som en god praksis å begynne med den viktigste tilstanden og holde funksjonene dine så enkle som mulig. Vår nestede IF-formel i Excel går som følger:

    =IF(B2>249, "Excellent", IF(B2>=200, "Good", IF(B2>150, "Satisfactory", "Poor")))

    Og fungerer akkurat som den skal:

    Forstå Excel nestede IF-logikk

    Jeg har hørt noen si at Excel multiple If gjør dem gale :) Prøv å se på det fra en annen vinkel:

    Hva formelen egentlig ber Excel å gjøre er å evaluere logical_test til den første IF-funksjonen og, hvis betingelsen er oppfylt, returnere verdien som er oppgitt i value_if_true -argumentet. Hvis betingelsen for 1. If-funksjonen ikke er oppfylt, test den 2. If-setningen, og så videre.

    IF( sjekk omB2>=249, hvis sant - return"Utmerket", eller annet

    IF( sjekk om B2>=200, hvis sant - return "Bra", eller annet

    IF( sjekk om B2>150, hvis sant - return "Tilfredsstillende", hvis usann -

    retur "Dårlig")))

    Eksempel 2. Multiple If med aritmetiske beregninger

    Her er en annen typisk oppgave: enhetsprisen varierer avhengig av spesifisert mengde, og målet ditt er å skrive en formel somberegner totalprisen for en hvilken som helst mengde varer som legges inn i en bestemt celle. Med andre ord, formelen din må kontrollere flere forhold og utføre forskjellige beregninger avhengig av hvilket mengdeområde den angitte mengden faller i:

    Enhetsmengde Pris per enhet
    1 til 10 $20
    11 til 19 $18
    20 til 49 $16
    50 til 100 $13
    Over 101 $12

    Denne oppgaven kan også utføres ved å bruke flere IF-funksjoner. Logikken er den samme som i eksemplet ovenfor, den eneste forskjellen er at du multipliserer den spesifiserte mengden med verdien returnert av nestede IF-er (dvs. den tilsvarende prisen per enhet).

    Forutsatt at brukeren legger inn mengden i celle B8, formelen er som følger:

    =B8*IF(B8>=101, 12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, "")))))

    Og resultatet vil se omtrent slik ut:

    Som du forstår , dette eksemplet viser bare den generelle tilnærmingen, og du kan enkelt tilpasse denne nestede If-funksjonen avhengig av din spesifikke oppgave.

    For eksempel, i stedet for å "hardkode" prisene i formelen, kan du referere til celler som inneholder disse verdiene (cellene B2 til B6). Dette vil gjøre det mulig for brukerne å redigere kildedataene uten å måtte oppdatere formelen:

    =B8*IF(B8>=101,B6, IF(B8>=50, B5, IF(B8>=20, B4, IF( B8>=11, B3, IF(B8>=1, B2, "")))))

    Eller det kan være lurt å inkludere en ekstra HVIS-funksjon (s) som fikser en overdel,nedre eller begge grenser for beløpsområdet. Når mengden er utenfor området, vil formelen vise en "utenfor området"-melding. For eksempel:

    =IF(OR(B8>200,B8=101,12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, ""))))))

    De nestede IF-formlene beskrevet ovenfor fungerer i alle versjoner av Excel. I Excel 365 og Excel 2021 kan du også bruke IFS-funksjonen til samme formål.

    Avanserte Excel-brukere som er kjent med matriseformler, kan bruke denne formelen som i utgangspunktet gjør det samme som den nestede IF-funksjonen diskutert ovenfor. Selv om matriseformelen er langt vanskeligere å forstå, la være å skrive, har den en ubestridelig fordel - du spesifiserer celleområdet som inneholder betingelsene dine i stedet for å referere til hver tilstand individuelt. Dette gjør formelen mer fleksibel, og hvis brukerne dine tilfeldigvis endrer noen av de eksisterende betingelsene eller legger til en ny, trenger du bare å oppdatere én enkelt områdereferanse i formelen.

    Excel nestet IF - tips og triks

    Som du nettopp har sett, er det ingen rakettvitenskap i å bruke flere IF i Excel. Følgende tips vil hjelpe deg med å forbedre de nestede IF-formlene dine og forhindre vanlige feil.

    Nestede IF-grenser

    I Excel 2007 - Excel 365 kan du neste opp til 64 IF-funksjoner. I eldre versjoner av Excel 2003 og lavere kan opptil 7 nestede IF-funksjoner brukes. Det faktum at du kan bygge mange IF-er i én formel betyr imidlertid ikke at du bør.Vær oppmerksom på at hvert tilleggsnivå gjør formelen din vanskeligere å forstå og feilsøke. Hvis formelen din har for mange nestede nivåer, kan det være lurt å optimalisere den ved å bruke ett av disse alternativene.

    Rekkefølgen på nestede IF-funksjoner har betydning

    Den Excel nestede IF-funksjonen evaluerer de logiske testene i den rekkefølgen de vises i formelen, og så snart en av betingelsene vurderes til TRUE, testes ikke de påfølgende betingelsene. Formelen stopper med andre ord etter det første TRUE resultatet.

    La oss se hvordan det fungerer i praksis. Med B2 lik 274, evaluerer den nestede HVIS-formelen nedenfor den første logiske testen (B2>249), og returnerer "Utmerket" fordi denne logiske testen er TRUE:

    =IF(B2>249, "Excellent", IF(B2>=200, "Good", IF(B2>150, "Satisfactory", "Poor")))

    Nå, la oss reversere rekkefølgen av HVIS-funksjoner:

    =IF(B2>150, "Satisfactory", IF(B2>200, "Good", IF(B2>249, "Excellent", "Poor")))

    Formelen tester den første betingelsen, og fordi 274 er større enn 150, er resultatet av denne logiske testen også SANN. Følgelig returnerer formelen "Tilfredsstillende" uten å teste andre forhold.

    Du ser, endring av rekkefølgen på HVIS-funksjoner endrer resultatet:

    Vurder formelen logikk

    For å se den logiske flyten av den nestede IF-formelen trinn-for-trinn, bruk Evaluer formel-funksjonen på Formel -fanen i Formelrevisjon gruppe. Det understrekede uttrykket er delen som for øyeblikket er under evaluering, og ved å klikke Evaluer -knappen vil vise deg alle trinnene i evalueringsprosessen.

    For eksempel vil evalueringen av den første logiske testen av den nestede IF-formelen vist i skjermbildet nedenfor gå som følger: B2>249; 274>249; EKTE; Utmerket.

    Balanser parentesen til nestede IF-funksjoner

    En av hovedutfordringene med nestede IF-er i Excel er å matche parenteser. Hvis parentesene ikke stemmer overens, vil ikke formelen din fungere. Heldigvis har Microsoft Excel et par funksjoner som kan hjelpe deg med å balansere parentesene når du redigerer en formel:

    • Hvis du har mer enn ett sett med parenteser, er parene i parentes skyggelagt i forskjellige farger. at åpningsparentesen samsvarer med den avsluttende.
    • Når du lukker en parentes, fremhever Excel kort det matchende paret. Den samme fete, eller "flimmer", effekten produseres når du beveger deg gjennom formelen ved å bruke piltastene.

    For mer informasjon, se Match parentes par i Excel-formler.

    Behandle tekst og tall annerledes

    Når du bygger logiske tester av dine nestede IF-formler, husk at tekst og tall bør behandles forskjellig - skriv alltid tekstverdier i doble anførselstegn, men aldri plasser anførselstegn rundt tall:

    Right: =IF(B2>249, "Excellent",...)

    Wrong: =IF(B2> "249", "Utmerket",...)

    Den logiske testen avandre formel vil returnere FALSE selv om verdien i B2 er større enn 249. Hvorfor? Fordi 249 er et tall og "249" er en numerisk streng, som er to forskjellige ting.

    Legg til mellomrom eller linjeskift for å gjøre nestede IF-er lettere å lese

    Når du bygger en formel med flere nestede HVIS-nivåer, kan du gjøre formelens logikk klarere ved å skille forskjellige HVIS-funksjoner med mellomrom eller linjeskift. Excel bryr seg ikke om ekstra mellomrom i en formel, så det kan hende du ikke bekymrer deg for å mangle den.

    For å flytte en bestemt del av formelen til neste linje, klikker du bare der du vil sette inn et linjeskift. , og trykk Alt + Enter. Deretter utvider du formellinjen så mye som nødvendig, og du vil se at den nestede IF-formelen din har blitt mye lettere å forstå.

    Alternativer til nestede IF i Excel

    For å komme rundt grensen på syv nestede IF-funksjoner i Excel 2003 og eldre versjoner og for å gjøre formlene dine mer kompakte og raske, bør du vurdere å bruke følgende alternativer til nestede Excel IF-funksjoner.

    1. For å test flere betingelser og returner forskjellige verdier basert på resultatene av disse testene. Du kan bruke VELG-funksjonen i stedet for nestede IF-er.
    2. Bygg en referansetabell og en bruk VLOOKUP med omtrentlig samsvar som vist i dette eksemplet: VLOOKUP i stedet for nestet HVIS i Excel.
    3. Bruk HVIS med logiske funksjoner ELLER / OG, som vist i disseeksempler.
    4. Bruk en matriseformel som vist i dette eksemplet.
    5. Kombiner flere IF-setninger ved å bruke CONCATENATE-funksjonen eller sammenknytte-operatoren (&). Et formeleksempel finner du her.
    6. For erfarne Excel-brukere kan det beste alternativet til å bruke flere nestede IF-funksjoner være å lage en egendefinert regnearkfunksjon ved hjelp av VBA.

    Dette er hvordan du bruker en If-formel i Excel med flere betingelser. Jeg takker for at du leste og håper å se deg på bloggen vår neste uke.

    Øvningsarbeidsbok for nedlasting

    Nested If Excel-setninger (.xlsx-fil)

    Michael Brown er en dedikert teknologientusiast med en lidenskap for å forenkle komplekse prosesser ved hjelp av programvareverktøy. Med mer enn ti års erfaring i teknologibransjen, har han forbedret ferdighetene sine i Microsoft Excel og Outlook, samt Google Sheets og Docs. Michaels blogg er dedikert til å dele sin kunnskap og ekspertise med andre, og gir enkle å følge tips og veiledninger for å forbedre produktivitet og effektivitet. Enten du er en erfaren profesjonell eller nybegynner, tilbyr Michaels blogg verdifull innsikt og praktiske råd for å få mest mulig ut av disse viktige programvareverktøyene.