Innholdsfortegnelse
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 annetIF( 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.
- 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.
- Bygg en referansetabell og en bruk VLOOKUP med omtrentlig samsvar som vist i dette eksemplet: VLOOKUP i stedet for nestet HVIS i Excel.
- Bruk HVIS med logiske funksjoner ELLER / OG, som vist i disseeksempler.
- Bruk en matriseformel som vist i dette eksemplet.
- Kombiner flere IF-setninger ved å bruke CONCATENATE-funksjonen eller sammenknytte-operatoren (&). Et formeleksempel finner du her.
- 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)