Excel: Hvis celle indeholder formeleksempler

  • Del Dette
Michael Brown

Vejledningen indeholder en række eksempler på "Excel if contains"-formler, der viser, hvordan man returnerer noget i en anden kolonne, hvis en målcelle indeholder en krævet værdi, hvordan man søger med delvis match og tester flere kriterier med OR- og AND-logik.

En af de mest almindelige opgaver i Excel er at kontrollere, om en celle indeholder en værdi af interesse. Hvilken slags værdi kan det være? Bare en tekst eller et tal, en bestemt tekst eller en hvilken som helst værdi (ikke en tom celle).

Der findes flere variationer af formlen "Hvis celle indeholder" i Excel, afhængigt af præcis hvilke værdier du ønsker at finde. Generelt vil du bruge IF-funktionen til at udføre en logisk test og returnere en værdi, når betingelsen er opfyldt (celle indeholder) og/eller en anden værdi, når betingelsen ikke er opfyldt (celle indeholder ikke). Nedenstående eksempler dækker de mest hyppige scenarier.

    Hvis cellen indeholder en værdi, skal

    Lad os først se, hvordan du finder celler, der indeholder noget som helst: tekst, tal eller datoer. Vi bruger en simpel IF-formel, der kontrollerer, om der er celler, der ikke er tomme.

    IF( celle "", value_to_return , "")

    Hvis du f.eks. vil returnere "Ikke tomt" i kolonne B, hvis kolonne A's celle i samme række indeholder en værdi, skal du indtaste følgende formel i B2 og derefter dobbeltklikke på den lille grønne firkant i nederste højre hjørne for at kopiere formlen ned i kolonnen:

    =IF(A2""", "Ikke tom", "")

    Resultatet kommer til at se nogenlunde sådan her ud:

    Hvis cellen indeholder tekst, skal

    Hvis du kun ønsker at finde celler med tekstværdier uden at tage hensyn til tal og datoer, skal du bruge IF i kombination med ISTEXT-funktionen. Her er den generiske formel til at returnere en værdi i en anden celle, hvis en målcelle indeholder enhver tekst :

    IF(ISTEXT( celle ), value_to_return , "")

    Hvis du ønsker at indsætte ordet "ja" i kolonne B, hvis en celle i kolonne A indeholder tekst, skal du indsætte følgende formel i B2 for at få det gjort:

    =IF(ISTEXT(A2), "Ja", "")

    Hvis cellen indeholder et tal, skal

    På samme måde kan du identificere celler med numeriske værdier (tal og datoer) ved at bruge IF-funktionen sammen med ISNUMBER:

    IF(ISNUMBER( celle ), value_to_return , "")

    Følgende formel returnerer "ja" i kolonne B, hvis en tilsvarende celle i kolonne A indeholder et tal:

    =IF(ISNUMBER(A2), "Ja", "")

    Hvis cellen indeholder en bestemt tekst

    Det er nemt at finde celler, der indeholder en bestemt tekst (eller tal eller datoer). Du skriver en almindelig IF-formel, der kontrollerer, om en målcelle indeholder den ønskede tekst, og skriver den tekst, der skal returneres, i feltet value_if_true argument.

    IF( celle =" tekst ", value_to_return , "")

    Hvis du f.eks. vil finde ud af, om celle A2 indeholder "æbler", skal du bruge denne formel:

    =IF(A2="æbler", "Ja", "")

    Hvis cellen ikke indeholder en bestemt tekst

    Hvis du ønsker det modsatte resultat, dvs. at returnere en værdi til en anden kolonne, hvis en målcelle ikke indeholder den angivne tekst ("æbler"), skal du gøre en af følgende ting.

    Angiv en tom streng ("") i value_if_true argumentet, og den tekst, der skal returneres i value_if_false argument:

    =IF(A2="æbler", "", "Ikke æbler")

    Eller sæt operatoren "ikke lig med" i logisk_test og tekst, der skal returneres i value_if_true:

    =IF(A2 "æbler", "Ikke æbler", "")

    Uanset hvad, vil formlen give dette resultat:

    Hvis celle indeholder tekst: formel med hensyn til store og små bogstaver

    Hvis du vil tvinge din formel til at skelne mellem store og små bogstaver, skal du bruge EXACT-funktionen, der kontrollerer, om to tekststrenge er nøjagtigt ens, inklusive bogstaver:

    =IF(EXACT(A2, "Æbler"), "Ja", "")

    Du kan også indtaste modeltekststrengen i en celle (f.eks. i C1), fastsætte cellehenvisningen med $-tegnet ($C$1) og sammenligne målcellen med denne celle:

    =IF(EXACT(A2,$C$1), "Ja", "")

    Hvis cellen indeholder en bestemt tekststreng (delvis match)

    Vi er færdige med trivielle opgaver og går videre til mere udfordrende og interessante opgaver :) I dette eksempel skal der tre forskellige funktioner til for at finde ud af, om et givet tegn eller en delstreng er en del af celleindholdet:

    IF(ISNUMBER(SEARCH(" tekst" , celle )), value_to_return ,"")

    Her er, hvad formlen gør, når man arbejder indefra og ud:

    • SEARCH-funktionen søger efter en tekststreng, og hvis strengen findes, returnerer den position af det første tegn, ellers returneres fejlen #VALUE!
    • Funktionen ISNUMBER kontrollerer, om SEARCH er lykkedes eller mislykkedes. Hvis SEARCH har returneret et tal, returnerer ISNUMBER TRUE. Hvis SEARCH resulterer i en fejl, returnerer ISNUMBER FALSE.
    • Endelig returnerer IF-funktionen den angivne værdi for celler, der har TRUE i den logiske test, og ellers en tom streng ("").

    Lad os nu se, hvordan denne generiske formel fungerer i virkelige regneark.

    Hvis en celle indeholder en bestemt tekst, skal du sætte en værdi i en anden celle

    Hvis du har en liste over ordrer i kolonne A, og du ønsker at finde ordrer med en bestemt identifikator, f.eks. "A-", kan du udføre opgaven med denne formel:

    =IF(ISNUMBER(SEARCH("A-",A2)), "Valid","")

    I stedet for at hardccode strengen i formlen kan du indtaste den i en separat celle (E1) og referere til denne celle i formlen:

    =IF(ISNUMBER(SEARCH($E$1,A2)), "Valid","")

    For at formlen kan fungere korrekt, skal du sørge for at låse adressen på den celle, der indeholder strengen, med $-tegnet (absolut cellehenvisning).

    Hvis en celle indeholder en bestemt tekst, kopieres den til en anden kolonne

    Hvis du ønsker at kopiere indholdet af de gyldige celler et andet sted hen, skal du blot angive adressen på den evaluerede celle (A2) i value_if_true argument:

    =IF(ISNUMBER(SEARCH($E$1,A2))),A2,"")

    Skærmbilledet nedenfor viser resultaterne:

    Hvis celle indeholder specifik tekst: formel med hensyn til store og små bogstaver

    I begge ovenstående eksempler er formlerne ikke skiftet mellem store og små bogstaver. I situationer, hvor du arbejder med data, der er skiftet mellem store og små bogstaver, skal du bruge FIND-funktionen i stedet for SEARCH for at skelne mellem store og små bogstaver.

    Følgende formel identificerer f.eks. kun ordrer med store bogstaver "A-" og ignorerer små bogstaver "a-".

    =IF(ISNUMBER(FIND("A-",A2)), "Valid","")

    Hvis cellen indeholder en af mange tekststrenge (OR-logik)

    Hvis du vil identificere celler, der indeholder mindst én af de mange ting, du søger efter, skal du bruge en af følgende formler.

    IF OR ISNUMBER SEARCH-formel

    Den mest oplagte fremgangsmåde ville være at kontrollere hver enkelt delstreng individuelt og lade OR-funktionen returnere TRUE i den logiske test af IF-formlen, hvis mindst én delstreng er fundet:

    IF(OR(ISNUMBER(SEARCH(" string1 ", celle ))), ISNUMBER(SEARCH(" string2 ", celle ))), value_to_return , "")

    Hvis du har en liste over SKU'er i kolonne A, og du ønsker at finde dem, der indeholder enten "kjole" eller "nederdel", kan du få det gjort ved hjælp af denne formel:

    =IF(OR(ISNUMBER(SEARCH("kjole",A2)),ISNUMBER(SEARCH("nederdel",A2))), "Valid ","")

    Formlen fungerer ret godt for et par elementer, men den er bestemt ikke den rigtige løsning, hvis du vil kontrollere mange ting. I dette tilfælde ville det være bedre at bruge funktionen SUMPRODUCT som vist i det næste eksempel.

    SUMPRODUCT ISNUMBER SØG formlen

    Hvis du har med flere tekststrenge at gøre, ville det gøre din formel for lang og vanskelig at læse, hvis du søger efter hver enkelt streng. En mere elegant løsning ville være at integrere kombinationen ISNUMBER SEARCH i SUMPRODUCT-funktionen og se, om resultatet er større end nul:

    SUMPRODUCT(--ISNUMBER(SØGNING( strenge , celle ))))>0

    Hvis du f.eks. vil finde ud af, om A2 indeholder et af de ord, der er indtastet i cellerne D2:D4, skal du bruge denne formel:

    =SUMPRODUCT(--ISNUMBER(SEARCH($D$2:$D$4,A2)))>0

    Alternativt kan du oprette et navngivet område med de strenge, der skal søges efter, eller angive ordene direkte i formlen:

    =SUMPRODUCT(--ISNUMBER(SEARCH({"kjole", "nederdel", "jeans"},A2)))>0

    Uanset hvad, vil resultatet ligne dette:

    For at gøre output mere brugervenligt kan du indlejre ovenstående formel i IF-funktionen og returnere din egen tekst i stedet for TRUE/FALSE-værdierne:

    =IF(SUMPRODUCT(--ISNUMBER(SEARCH($D$2:$D$4,A2)))>0, "Valid", "")

    Sådan fungerer denne formel

    I det centrale bruger du ISNUMBER sammen med SEARCH som forklaret i det foregående eksempel. I dette tilfælde repræsenteres søgeresultaterne i form af et array som {TRUE;FALSE;FALSE;FALSE}. Hvis en celle indeholder mindst en af de angivne understrenge, vil der være TRUE i arrayet. Den dobbelte unære operatør (--) tvinger værdierne TRUE / FALSE til henholdsvis 1 og 0 og leverer et array som{1;0;0;0}. Til sidst summerer funktionen SUMPRODUCT tallene, og vi udvælger de celler, hvor resultatet er større end nul.

    Hvis cellen indeholder flere strenge (AND-logik)

    I situationer, hvor du ønsker at finde celler, der indeholder alle de angivne tekststrenge, skal du bruge den allerede velkendte kombination ISNUMBER SEARCH sammen med IF AND:

    IF(AND(ISNUMBER(SEARCH(" string1 ", celle ))), ISNUMBER(SEARCH(" string2 ", celle ))), value_to_return ,"")

    Du kan f.eks. finde SKU'er, der indeholder både "kjole" og "blå", med denne formel:

    =IF(AND(ISNUMBER(SEARCH("kjole",A2)),ISNUMBER(SEARCH("blå",A2))), "Valid ","")

    Du kan også skrive strengene i separate celler og henvise til disse celler i din formel:

    =IF(AND(ISNUMBER(SEARCH($D$2,A2)),ISNUMBER(SEARCH($E$2,A2))), "Valid ",""")

    Som en alternativ løsning kan du tælle forekomsterne af hver streng og kontrollere, om hver tælling er større end nul:

    =IF(AND(COUNTIF(A2, "*kjole*")>0,COUNTIF(A2, "*blå*")>0), "Valid",""")

    Resultatet bliver nøjagtigt som vist på skærmbilledet ovenfor.

    Sådan returneres forskellige resultater baseret på celleværdi

    Hvis du vil sammenligne hver celle i målkolonnen med en anden liste over elementer og returnere en anden værdi for hvert match, skal du bruge en af følgende fremgangsmåder.

    Indlejrede IF'er

    Logikken i den indlejrede IF-formel er så enkel som denne: Du bruger en separat IF-funktion til at teste hver betingelse og returnerer forskellige værdier afhængigt af resultaterne af disse test.

    IF( celle =" opslag_tekst1 ", " returnere _ tekst1 ", IF( celle =" opslag_tekst2 ", " returnere _ text2 ", IF( celle =" opslag_tekst3 ", " returnere _ text3 ", "")))

    Antag at du har en liste med emner i kolonne A, og du vil have deres forkortelser i kolonne B. Du kan gøre det ved at bruge følgende formel:

    =IF(A2="æble", "Ap", IF(A2="avocado", "Av", IF(A2="banan", "B", IF(A2="citron", "L", ""))))

    Du kan finde alle oplysninger om syntaks og logik i Excel nested IF's syntaks og logik under Excel nested IF - flere betingelser i en enkelt formel.

    Opslagsformel

    Hvis du ønsker en mere kompakt og lettere forståelig formel, kan du bruge LOOKUP-funktionen med opslags- og returværdierne som vertikale arraykonstanter:

    LOOKUP( celle , {" opslag_tekst1 ";" opslag_tekst2 ";" opslag_tekst3 ";...}, {" returnere _ tekst1 ";" returnere _ text2 ";" returnere _ text3 ";...})

    For at opnå nøjagtige resultater skal du sørge for at angive opslagsværdierne i alfabetisk rækkefølge , fra A til Z.

    =LOOKUP(A2,{"apple";"avocado";"banana";"lemon"},{"Ap";"Av";"B";"L"})

    Sammenlignet med indlejrede IF'er har Lookup-formlen endnu en fordel - den forstår jokertegn og kan derfor identificere delvise matches.

    Hvis kolonne A f.eks. indeholder et par banansorter, kan du slå op på "*banan*" og få den samme forkortelse ("B") tilbage for alle sådanne celler:

    =LOOKUP(A2,{"apple";"avocado";"*banana*";"lemon"},{"Ap";"Av";"B";"L"})

    Du kan finde flere oplysninger under Opslagsformel som et alternativ til indlejrede IF'er.

    Vlookup-formel

    Når du arbejder med et variabelt datasæt, kan det være mere praktisk at indtaste en liste over match i separate celler og hente dem ved hjælp af en Vlookup-formel, f.eks:

    =VLOOKUP(A2, $D$2:$E$5, 2,FALSE )

    Du kan finde flere oplysninger i Excel VLOOKUP-tutorial for begyndere.

    Det er sådan, du kontrollerer, om en celle indeholder en værdi eller specifik tekst i Excel. I næste uge fortsætter vi med at se på Excels formler Hvis celle indeholder og lærer, hvordan du tæller eller summerer relevante celler, kopierer eller fjerner hele rækker, der indeholder disse celler, og meget mere. Bliv hængende!

    Arbejdsbog til øvelser

    Excel Hvis celle indeholder - eksempler på formler (.xlsx-fil)

    Michael Brown er en dedikeret teknologientusiast med en passion for at forenkle komplekse processer ved hjælp af softwareværktøjer. Med mere end ti års erfaring i teknologibranchen har han finpudset sine færdigheder i Microsoft Excel og Outlook samt Google Sheets og Docs. Michaels blog er dedikeret til at dele sin viden og ekspertise med andre og giver nemme at følge tips og vejledninger til at forbedre produktiviteten og effektiviteten. Uanset om du er en erfaren professionel eller nybegynder, tilbyder Michaels blog værdifuld indsigt og praktiske råd til at få mest muligt ud af disse vigtige softwareværktøjer.