Innholdsfortegnelse
Opplæringen viser hvordan du oppretter flere IF-setninger i Excel med AND samt OR-logikk. Du vil også lære hvordan du bruker IF sammen med andre Excel-funksjoner.
I den første delen av vår Excel IF-veiledning så vi på hvordan du konstruerer en enkel IF-setning med én betingelse for tekst, tall, datoer, blanke og ikke-blanke. For kraftig dataanalyse kan det imidlertid hende du ofte må evaluere flere forhold om gangen. Formeleksemplene nedenfor viser deg de mest effektive måtene å gjøre dette på.
Hvordan bruke IF-funksjonen med flere betingelser
I hovedsak er det to typer HVIS-formel med flere kriterier basert på OG/ELLER-logikken . Følgelig, i den logiske testen av IF-formelen din, bør du bruke en av disse funksjonene:
- AND-funksjon - returnerer TRUE hvis alle betingelsene er oppfylt; FALSE ellers.
- OR-funksjon - returnerer TRUE hvis en enkelt betingelse er oppfylt; FALSE ellers.
For bedre å illustrere poenget, la oss undersøke noen eksempler på formler fra det virkelige liv.
Excel IF-setning med flere betingelser (OG logikk)
Generisk formel for Excel IF med to eller flere betingelser er dette:
IF(AND( condition1, condition2, …), value_if_true, value_if_false)Oversatt til et menneske språk, sier formelen: Hvis betingelse 1 er sann OG betingelse 2 er sann, returner verdi_hvis_sann ; else return value_if_false .
Anta at du har en tabell som viser poengsummene for to tester i kolonne B og C. For å bestå den avsluttende eksamen, må en student ha begge poengsummene høyere enn 50.
For den logiske testen bruker du følgende AND-setning: AND(B2>50, C2>50)
Hvis begge betingelsene er sanne, vil formelen returnere "Pass"; hvis en betingelse er falsk - "Fail".
=IF(AND(B2>50, B2>50), "Pass", "Fail")
Lett, ikke sant? Skjermbildet nedenfor viser at vår Excel IF /AND-formel fungerer riktig:
På lignende måte kan du bruke Excel IF-funksjonen med flere tekstbetingelser .
For for eksempel for å sende ut "Bra" hvis både B2 og C2 er større enn 50, "Dårlig" ellers er formelen:
=IF(AND(B2="pass", C2="pass"), "Good!", "Bad")
Viktig merknad! OG-funksjonen sjekker alle betingelsene , selv om den eller de allerede testede er evaluert til FALSE. Slik oppførsel er litt uvanlig siden påfølgende forhold i de fleste programmeringsspråk ikke testes hvis noen av de tidligere testene har returnert FALSE.
I praksis kan en tilsynelatende korrekt IF-setning resultere i en feil på grunn av dette spesifisitet. For eksempel vil formelen nedenfor returnere #DIV/0! ("divide by null" feil) hvis celle A2 er lik 0:
=IF(AND(A20, (1/A2)>0.5),"Good", "Bad")
For å unngå dette, bør du bruke en nestet IF-funksjon:
=IF(A20, IF((1/A2)>0.5, "Good", "Bad"), "Bad")
For mer informasjon, se HVIS OG formel i Excel.
Excel HVIS-funksjon med flerebetingelser (ELLER-logikk)
For å gjøre én ting hvis enhver betingelse er oppfylt, ellers gjør noe annet, bruk denne kombinasjonen av HVIS- og ELLER-funksjonene:
HVIS(ELLER( betingelse1 , betingelse2 , …), value_if_true, value_if_false)Forskjellen fra IF / AND-formelen diskutert ovenfor er at Excel returnerer TRUE hvis noen av de angitte betingelsene er sanne.
Så, hvis vi i den forrige formelen bruker OR i stedet for AND:
=IF(OR(B2>50, B2>50), "Pass", "Fail")
Så vil alle som har mer enn 50 poeng i hver eksamen få "Bestått" i kolonne D. Med slike forhold har våre studenter en bedre sjanse til å bestå den avsluttende eksamen (Yvette er spesielt uheldig som stryker med bare 1 poeng :)
Tips. I tilfelle du lager en fler IF-setning med tekst og tester en verdi i én celle med ELLER-logikken (dvs. en celle kan være "dette" eller "det"), så kan du bygge en mer kompakt formel som bruker en matrisekonstant.
For å merke for eksempel et salg som "stengt" hvis celle B2 enten er "levert" eller "betalt", er formelen:
=IF(OR(B2={"delivered", "paid"}), "Closed", "")
Flere formeleksempler finnes i Excel HVIS ELLER-funksjonen.
HVIS med flere OG & ELLER-setninger
Hvis oppgaven din krever evaluering av flere sett med flere betingelser, må du bruke både OG & OR-funksjoner om gangen.
I eksempeltabellen vår antar du at du har følgende kriterier for å sjekke eksamensresultatene:
- Betingelse 1:eksamen1>50 og eksamen2>50
- Betingelse 2: eksamen1>40 og eksamen2>60
Hvis en av betingelsene er oppfylt, anses den avsluttende eksamen som bestått.
Ved første øyekast virker formelen litt vanskelig, men det er den faktisk ikke! Du uttrykker bare hver av betingelsene ovenfor som en AND-setning og legger dem inn i OR-funksjonen (siden det ikke er nødvendig å oppfylle begge betingelsene, vil enten være tilstrekkelig):
OR(AND(B2>50, C2>50), AND(B2>40, C2>60)
Deretter bruker du ELLER-funksjonen for den logiske testen av IF og oppgi de ønskede verdiene verdi_hvis_sann og verdi_hvis_falsk . Som et resultat får du følgende HVIS-formel med flere OG/ELLER-betingelser:
=IF(OR(AND(B2>50, C2>50), AND(B2>40, C2>60), "Pass", "Fail")
Skjermbildet nedenfor indikerer at vi har gjort formelen riktig:
Naturligvis , er du ikke begrenset til å bruke bare to OG/ELLER-funksjoner i HVIS-formlene. Du kan bruke så mange av dem som forretningslogikken din krever, forutsatt at:
- I Excel 2007 og høyere har du ikke mer enn 255 argumenter, og den totale lengden på IF-formelen ikke overskrider 8192 tegn.
- I Excel 2003 og lavere er det ikke mer enn 30 argumenter, og den totale lengden på IF-formelen din overstiger ikke 1024 tegn.
Nestet IF-setning til sjekk flere logiske tester
Hvis du ønsker å evaluere flere logiske tester innenfor en enkelt formel, kan du sette flere funksjoner inn i hverandre. Slike funksjoner kalles nestedIF-funksjoner . De viser seg spesielt nyttige når du ønsker å returnere forskjellige verdier avhengig av resultatene til de logiske testene.
Her er et typisk eksempel: anta at du vil kvalifisere elevenes prestasjoner som " Good ", " Tilfredsstillende " og " Dårlig " basert på følgende poengsum:
- Bra: 60 eller mer (>=60)
- Tilfredsstillende: mellom 40 og 60 (>40 og <60)
- Dårlig: 40 eller mindre (<=40)
Før du skriver en formel, bør du vurdere rekkefølgen av funksjoner du skal neste. Excel vil evaluere de logiske testene i den rekkefølgen de vises i formelen. Når en tilstand evalueres til TRUE, blir ikke de påfølgende betingelsene testet, noe som betyr at formelen stopper etter det første TRUE-resultatet.
I vårt tilfelle er funksjonene ordnet fra størst til minste:
=IF(B2>=60, "Good", IF(B2>40, "Satisfactory", "Poor"))
Naturligvis kan du bygge flere funksjoner om nødvendig (opptil 64 i moderne versjoner).
For mer informasjon, se Hvordan bruke flere nestede IF-setninger i Excel.
Excel IF-matriseformel med flere betingelser
En annen måte å få en Excel IF til å teste flere betingelser er ved å bruke en matriseformel.
For å evaluere betingelser med OG-logikken, bruk stjernen:
IF( condition1 ) * ( condition2 ) * …, value_if_true, value_if_false)For å teste forhold med OR-logikken, bruk plusstegnet:
IF( condition1 ) + ( condition2 ) + …,value_if_true, value_if_false)For å fullføre en matriseformel på riktig måte, trykk Ctrl + Shift + Enter-tastene samtidig. I Excel 365 og Excel 2021 fungerer dette også som en vanlig formel på grunn av støtte for dynamiske arrays.
For å få "Pass" hvis både B2 og C2 er større enn 50, er formelen:
=IF((B2>50) * (C2>50), "Pass", "Fail")
I Excel 365 fungerer en vanlig formel helt fint (som du kan se på skjermbildene ovenfor). I Excel 2019 og lavere, husk å gjøre det til en matriseformel ved å bruke snarveien Ctrl + Shift + Enter.
For å evaluere flere forhold med ELLER-logikken er formelen:
=IF((B2>50) + (C2>50), "Pass", "Fail")
Bruke IF sammen med andre funksjoner
Denne delen forklarer hvordan du bruker IF i kombinasjon med andre Excel-funksjoner og hvilke fordeler dette gir deg.
Eksempel 1. Hvis #N /En feil i VLOOKUP
Når VLOOKUP eller annen oppslagsfunksjon ikke finner noe, returnerer den en #N/A feil. For å få tabellene dine til å se penere ut, kan du returnere null, tom eller spesifikk tekst hvis #N/A. For dette, bruk denne generiske formelen:
IF(ISNA(VLOOKUP(…)), value_if_na , VLOOKUP(…))For eksempel:
Hvis #N/ En retur 0:
Hvis oppslagsverdien i E1 ikke blir funnet, returnerer formelen null.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), 0, VLOOKUP(E1, A2:B10, 2, FALSE))
Hvis #N/A returnerer blank:
Hvis oppslagsverdien ikke blir funnet, returnerer formelen ingenting (en tom streng).
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "", VLOOKUP(E1, A2:B10, 2, FALSE))
Hvis #N/A returnerer bestemt tekst:
Hvis oppslagsverdien ble ikke funnetformel returnerer spesifikk tekst.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "Not found", VLOOKUP(E1, A2:B10, 2, FALSE))
For flere formeleksempler, se VLOOKUP med IF-setning i Excel.
Eksempel 2. IF med SUM, AVERAGE, MIN og MAX funksjoner
For å summere celleverdier basert på visse kriterier, gir Excel funksjonene SUM.HVIS og SUM.
I noen situasjoner kan forretningslogikken din kreve å inkludere SUM-funksjonen i den logiske testen av HVIS. For eksempel, for å returnere forskjellige tekstetiketter avhengig av summen av verdiene i B2 og C2, er formelen:
=IF(SUM(B2:C2)>130, "Good", IF(SUM(B2:C2)>110, "Satisfactory", "Poor"))
Hvis summen er større enn 130, er resultatet "bra "; hvis større enn 110 – "tilfredsstillende", hvis 110 eller lavere – "dårlig".
På lignende måte kan du bygge inn AVERAGE-funksjonen i den logiske testen av IF og returnere forskjellige etiketter basert på gjennomsnittlig poengsum :
=IF(AVERAGE(B2:C2)>65, "Good", IF(AVERAGE(B2:C2)>55, "Satisfactory", "Poor"))
Forutsatt at totalpoengsummen er i kolonne D, kan du identifisere de høyeste og laveste verdiene ved hjelp av MAX- og MIN-funksjonene:
=IF(D2=MAX($D$2:$D$10), "Best result", "")
=IF(D2=MAX($D$2:$D$10), "Best result", "")
For å ha begge etikettene i én kolonne, nest funksjonene ovenfor inn i hverandre:
=IF(D2=MAX($D$2:$D$10), "Best result", IF(D2=MIN($D$2:$D$10), "Worst result", ""))
På samme måte kan du bruke IF sammen med egendefinerte funksjoner. Du kan for eksempel kombinere det med GetCellColor eller GetCellFontColor for å returnere forskjellige resultater basert på en cellefarge.
I tillegg gir Excel en rekke funksjoner for å beregne data basert på forhold. For detaljerte formeleksempler, vennligst sjekk ut følgendeveiledninger:
- COUNTIF - tell celler som oppfyller en betingelse
- COUNTIFS - telle celler med flere kriterier
- SUMIF - betinget summere celler
- SUMIFS - sumceller med flere kriterier
Eksempel 3. HVIS med ISNUMBER, ISTEXT og ISBLANK
For å identifisere tekst, tall og tomme celler, tilbyr Microsoft Excel spesielle funksjoner som ISTEXT, ISNUMBER og ISBLANK. Ved å plassere dem i de logiske testene av tre nestede IF-setninger, kan du identifisere alle forskjellige datatyper på én gang:
=IF(ISTEXT(A2), "Text", IF(ISNUMBER(A2), "Number", IF(ISBLANK(A2), "Blank", "")))
Eksempel 4. IF og CONCATENATE
Til ut resultatet av IF og litt tekst i én celle, bruk CONCATENATE eller CONCAT (i Excel 2016 - 365) og IF-funksjonene sammen. For eksempel:
=CONCATENATE("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))
=CONCAT("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))
Når du ser på skjermbildet nedenfor, trenger du knapt noen forklaring på hva formelen gjør:
HVIS FEIL / ISNA-formel i Excel
De moderne versjonene av Excel har spesielle funksjoner for å felle feil og erstatte dem med en annen beregning eller forhåndsdefinert verdi - IFERROR (i Excel 2007 og nyere) og IFNA (i Excel 2013 og senere). I tidligere Excel-versjoner kan du bruke HVIS FEIL og HVIS ISNA-kombinasjoner i stedet.
Forskjellen er at HVIS FEIL og FEIL håndterer alle mulige Excel-feil, inkludert #VERDI!, #N/A, #NAVN?, #REF!, #NUM!, #DIV/0! og #NULL!. Mens IFNA og ISNA spesialiserer seg utelukkende på #N/A-feil.
For å f.eks.erstatte "divide by null"-feilen (#DIV/0!) med din egendefinerte tekst, du kan bruke følgende formel:
=IF(ISERROR(A2/B2), "N/A", A2/B2)
Og det er alt jeg har å si om bruken av IF-funksjon i Excel. Jeg takker for at du leste og håper å se deg på bloggen vår neste uke!
Øvningsarbeidsbok for nedlasting
Excel IF flere kriterier - eksempler (.xlsx-fil)