Excels IF-funktion er som den schweiziske hærkniv med Excel-funktioner. Faktisk bruges det i mange situationer. Ofte kan du bruge Excels IF-funktion sammen med andre funktioner. IF er strukturelt let at forstå. Excel IF-funktionen tager tre argumenter:
- En test, der giver et sandt eller falsk svar. For eksempel kan testen "er værdien i celle A5 lig med værdien i celle A8" kun have et af to mulige svar, ja eller nej. I computersnak er det sandt eller falsk. Dette er ikke en beregning, vel at mærke, men en sammenligning.
- De data, der skal returneres af IF-funktionen, hvis testen er sand.
- De data, der skal returneres af IF-funktionen, hvis testen er falsk.
Lyder nemt nok. Her er nogle eksempler:
Fungere |
Kommentar |
=HVIS(D10>D20, D10, D20) |
Hvis værdien i D10 er større end værdien i D20, returneres værdien i D10, fordi testen er sand. Hvis værdien i D10 ikke er større end - dvs. mindre eller lig med - værdien i D20, returneres værdien i D20. Hvis værdierne i D10 og D20 er ens, returnerer testen falsk, og værdien i D20 returneres. |
=IF(D10>D20, "Gode nyheder!", "Dårlige nyheder!") |
Hvis værdien i D10 er større end værdien i D20, vises teksten "Good News!" er returneret. Ellers "dårlige nyheder!" er returneret. |
=IF(D10>D20, "", "Dårlige nyheder!") |
Hvis værdien i D10 er større end værdien i D20, returneres intet . Ellers "dårlige nyheder!" er returneret. Bemærk, at det andet argument er et par tomme anførselstegn. |
=HVIS(D10>D20, "Gode nyheder!", "") |
Hvis værdien i D10 er større end værdien i D20, "Gode nyheder!" er returneret. Ellers returneres intet . Bemærk, at det tredje argument er tomme anførselstegn. |
Et vigtigt aspekt at bemærke ved brug af HVIS: at lade det andet eller tredje argument ikke returnere noget. En tom streng returneres, og den bedste måde at gøre dette på er at placere to dobbelte anførselstegn sammen med ingenting i midten. Resultatet er, at cellen, der indeholder IF-funktionen, forbliver tom.
IF giver dig derfor mulighed for at opsætte to resultater, der skal returneres: et for, når testen er sand, og et andet for, når testen er falsk. Hvert resultat kan være et tal, noget tekst, en funktion eller formel eller endda tomt.
Som du kan se i det foregående eksempel, er en almindelig brug af IF at se, hvordan to værdier sammenlignes og returnerer enten den ene værdi eller den anden, afhængigt af hvordan du opsætter testen i det første argument.
IF bruges ofte som en valideringskontrol for at forhindre fejl . Antag, at du har et økonomisk regneark, der bruger en variabel procentdel i sine beregninger. Brugeren skal indtaste denne procentdel hver dag, men den må aldrig være større end 10 procent. For at forhindre risikoen for fejl, kan du bruge IF-funktionen til at vise en fejlmeddelelse i den tilstødende celle, hvis du ved en fejl indtaster en værdi uden for det tilladte område. Hvis man antager, at procentdelen er indtastet i celle A3, er her den nødvendige HVIS-funktion:
=HVIS(A3>.1, "FEJL: % i A3 ER FOR STOR", "")
Følgende billede viser, hvordan IF kan bruges i en forretningsapplikation. En fiktiv butik - Ken's Guitars (lidt smart, synes du ikke?) - holder styr på lagerbeholdningen i et Excel-regneark.
Holder øje med lagerbeholdningen i guitarbutikken.
Kolonne D viser lagerniveauerne, og kolonne E viser genbestillingsniveauerne. Det fungerer på denne måde: Når et produkts lagerniveau er det samme eller mindre end genbestillingsniveauet, er det tid til at bestille mere af produktet. Cellerne i kolonne F indeholder en formel.
Excel-formlen i celle F8 er =IF(D8<>. Den siger, at hvis antallet af Stratoblaster 9000-guitarer på lager er det samme eller mindre end genbestillingsniveauet, returner ordre. Hvis antallet på lager er større end genbestillingsniveauet , returner intet. Intet returneres, fordi tre er på lager, og genbestillingsniveauet er to. I næste række er antallet af Flying X'er lig med genbestillingsniveauet; derfor viser celle F9 Ordre.
Det er nemt at bruge Excels IF-funktion. Følg disse trin:
Indtast to værdier i et regneark. Disse værdier burde have en vis betydning for dig, såsom eksemplet med lagerniveauer vist ovenfor.
Klik på den celle, hvor du ønsker, at resultatet skal vises.
Skriv =IF( for at starte funktionen.
Beslut hvilken test du vil udføre. Du kan se, om de to værdier er ens; om den ene er større end den anden; om subtrahering af den ene fra den anden er større end, lig med eller mindre end 0; og så videre. For at afgøre, om den første værdi er lig med den anden værdi, skal du for eksempel klikke på den første celle (eller indtaste dens adresse), indtaste et lighedstegn (=) og derefter klikke på den anden celle (eller indtaste dens adresse).
Indtast et komma (,).
Indtast det resultat, der skal vises, hvis testen er sand .
Indtast f.eks. "Værdierne er ens". Tekst skal stå i anførselstegn.
Indtast et komma (,).
Indtast det resultat, der skal vises, hvis testen er falsk . Indtast f.eks. "Værdierne er ikke ens" .
Skriv a) og tryk på Enter.
Excel IF-funktionen kan meget mere. Indlejrede IF-funktioner giver dig meget mere fleksibilitet til at udføre test på dine regnearksdata. En smule vedholdenhed er nødvendig for at komme igennem dette. Indlejret betyder, at du kan placere en IF-funktion inde i en anden IF-funktion. Det vil sige, at den indre IF er placeret, hvor det sande eller falske argument i det ydre IF går (eller endda bruge interne IF'er til begge argumenter). Hvorfor ville du gøre dette?
Her er et eksempel: Forleden aften besluttede vi, hvor vi skulle hen til middag. vi overvejede italiensk og besluttede, at hvis vi tog til et italiensk sted, og det serverede manicotti, ville vi have manicotti. Ellers besluttede vi at spise pizza.
Logisk set ser denne beslutning således ud:
Hvis restauranten er italiensk, så hvis restauranten serverer manicotti, så vil vi have manicotti, ellers vil vi have pizza
Dette ligner meget programmeringskode. End If-sætningerne er blevet udeladt med vilje for at forhindre forvirring, fordi IF-funktionen ikke har nogen tilsvarende værdi. Det er det! Bemærk, at den indre IF-sætning har et resultat for både de sande og falske muligheder. Det gør den ydre IF ikke. Her er strukturen som indlejrede Excel IF-sætninger:
=HVIS(Restaurant=italiensk, HVIS(Restauranten serverer manicotti, "manicotti", "pizza"), "")
Hvis restauranten ikke var italiensk, ville det ikke være ligegyldigt, hvad valget var (som indikeret af det tredje argument om, at det ydre IF er tomt).
Du kan indlejre op til 64 IF-udsagn, selvom tingene sandsynligvis bliver meget komplicerede, når du går ud over 4 eller 5.
Du kan anvende en indlejret IF-sætning for at øge sofistikeringen af opgørelsesarket ovenfra. Følgende billede har en ekstra kolonne: Hot Item. Et hot item kan have tre former:
- Hvis beholdningsniveauet er halvdelen eller mindre af genbestillingsniveauet, og den sidste salgsdato er inden for de sidste 30 dage, er dette en Hot Vare . Synspunktet er, at på 30 dage eller mindre blev lageret solgt ned til halvdelen eller mindre end genbestillingsniveauet. Det betyder, at lagerbeholdningen vender i et hurtigt tempo.
- Hvis lagerniveauet er halvdelen eller mindre af genbestillingsniveauet, og den sidste salgsdato er inden for de sidste 31-60 dage, er dette en varm vare . Synspunktet er, at lagerbeholdningen på 31-60 dage blev solgt ned til det halve eller mindre end genbestillingsniveauet. Det betyder, at varelageret vender med et middeltempo.
- Hvis ingen af de to foregående betingelser er opfyldt, tildeles varen ingen særlig status.
Leder efter varme lagervarer.
Der er varme genstande, og der er varme genstande. Begge skal opfylde det fælles kriterium om, at beholdningen er 50 procent eller mindre af genbestillingsniveauet. Først efter at denne første betingelse er opfyldt, kommer det andet kriterium - antallet af dage siden sidste ordre - i spil. Det lyder som et indlejret IF for mig! Her er formlen i celle G8:
=HVIS(D8<><><>
Okay, tag vejret.
Den ydre IF tester, om beholdningen i kolonne D er lig med eller mindre end halvdelen (50 procent) af genbestillingsniveauet. Den del af formlen, der gør det, er =HVIS(D8<>. Denne test giver selvfølgelig et sandt eller falsk svar. Hvis det er falsk, tages den falske del af den ydre HVIS (som kun er en tom streng). findes i slutningen af formlen: "")).
Det efterlader hele den midterste del at vade igennem. Bliv ved med det!
Hvis den første test er sand, tages den sande del af den ydre IF. Det sker bare sådan, at denne sande del er en anden HVIS-funktion:
HVIS(NU()-C8<><>
Det første Excel-argument i det indre HVIS tester, om antallet af dage siden sidste ordredato (i kolonne C) er mindre end eller lig med 30. Det gør du ved at trække den sidste ordredato fra i dag, som hentet fra NU-funktionen .
Hvis testen er sand, og den sidste ordredato er inden for de sidste 30 dage, VARMT! er returneret. En virkelig hot sælger! Hvis testen er falsk … vent, hvad er det her? Endnu en IF-funktion! Ja: en IF inde i en IF inde i en IF. Hvis antallet af dage siden sidste ordredato er større end 30, tester den næste indlejrede IF, om antallet af dage er inden for de sidste 60 dage:
HVIS(NU()-C8<>
Hvis denne test er sand, Varm! er returneret. Hvis testen er falsk, returneres intet.
Et par nøglepunkter om denne IF-erklæring på tre niveauer:
- HVIS, der tester, om antallet af forløbne dage er 30 eller færre, har en værdi, der skal returneres, hvis den er sand (HOT!), og en værdi, der skal returneres for falsk (hvad der end returneres af den næste indlejrede HVIS).
- Den ydre IF og den inderste IF returnerer intet, når deres test er falsk.
- På overfladen ville testen for 60 eller færre dage også fange en dato, der er 30 dage eller færre siden den sidste ordredato. Det er egentlig ikke det, der er meningen. Testen bør være, om antallet af forløbne dage er 60 eller færre, men mere end 30. Du behøver faktisk ikke at stave det ud på denne måde, fordi formlen nåede til det punkt, hvor man testede for tærsklen på 60 dage, kun fordi de 30 -dag tærskel allerede mislykkedes. Man skal passe på disse ting!