Indholdsfortegnelse
Vejledningen forklarer, hvad ISNUMBER i Excel er, og giver eksempler på grundlæggende og avancerede anvendelser.
Konceptet med ISNUMBER-funktionen i Excel er meget enkelt - den kontrollerer blot, om en given værdi er et tal eller ej. Det er vigtigt at understrege, at funktionens praktiske anvendelse går langt ud over dens grundlæggende koncept, især når den kombineres med andre funktioner i større formler.
Excel ISNUMBER-funktionen
Funktionen ISNUMBER i Excel kontrollerer, om en celle indeholder en numerisk værdi eller ej. Den hører til gruppen af IS-funktioner.
Funktionen er tilgængelig i alle versioner af Excel til Office 365, Excel 2019, Excel 2016, Excel 2013, Excel 2010, Excel 2007 og lavere versioner af Excel.
ISNUMBER-syntaksen kræver kun ét argument:
=ISNUMBER(værdi)
Hvor værdi er den værdi, du vil teste. Normalt repræsenteres den af en cellehenvisning, men du kan også angive en reel værdi eller indlejre en anden funktion i ISNUMBER for at kontrollere resultatet.
Hvis værdi er numerisk, returnerer funktionen TRUE. For alt andet (tekstværdier, fejl, tomme felter) returnerer ISNUMBER FALSK.
Lad os f.eks. teste værdierne i cellerne A2 til A6, og vi vil finde ud af, at de tre første værdier er tal og de to sidste er tekst:
2 ting, du bør vide om ISNUMBER-funktionen i Excel
Der er et par interessante punkter at bemærke her:
- I intern Excel-repræsentation, datoer og gange er numeriske værdier, så ISNUMBER-formlen returnerer TRUE for dem (se B3 og B4 i skærmbilledet ovenfor).
- For tal, der er gemt som tekst, returnerer funktionen ISNUMBER FALSK (se dette eksempel).
Excel ISNUMBER-formel eksempler
Nedenstående eksempler viser et par almindelige og et par ikke-trivielle anvendelser af ISNUMBER i Excel.
Kontroller, om en værdi er et tal
Når du har en masse værdier i dit regneark, og du vil vide, hvilke af dem der er tal, er ISNUMBER den rigtige funktion at bruge.
I dette eksempel er den første værdi i A2, så vi bruger nedenstående formel til at kontrollere den og trækker formlen ned til så mange celler som nødvendigt:
=ISNUMBER(A2)
Vær opmærksom på, at selv om alle værdierne ligner tal, har ISNUMBER-formlen returneret FALSE for cellerne A4 og A5, hvilket betyder, at disse værdier er numeriske strenge Der kan være forskellige årsager til dette, f.eks. foranstillede nuller, foranstillet apostrof osv. Uanset årsagen genkender Excel ikke sådanne værdier som tal. Så hvis dine værdier ikke beregnes korrekt, skal du først og fremmest kontrollere, om de virkelig er tal i Excel, og derefter konvertere tekst til tal, hvis det er nødvendigt.
Excel ISNUMBER SEARCH-formel
Ud over at identificere tal kan Excel-funktionen ISNUMBER også kontrollere, om en celle indeholder en bestemt tekst som en del af indholdet. Brug ISNUMBER sammen med funktionen SØGNING til dette formål.
I den generiske form ser formlen således ud:
ISNUMBER(SEARCH( understreng , celle ))Hvor understreng er den tekst, du ønsker at finde.
Lad os f.eks. kontrollere, om strengen i A3 indeholder en bestemt farve, f.eks. rød:
=ISNUMBER(SEARCH("red", A3))
Denne formel fungerer fint for en enkelt celle. Men da vores eksempeltabel (se nedenfor) indeholder tre forskellige farver, ville det være spild af tid at skrive en separat formel for hver enkelt celle. I stedet vil vi henvise til den celle, der indeholder den ønskede farve (B2).
=ISNUMBER(SEARCH(B$2, $A3))
For at formlen kan kopieres korrekt nedad og til højre, skal du sørge for at låse følgende koordinater med $-tegnet:
- På understreng referencen låser rækken (B$2), så de kopierede formler altid vælger understrenge i række 2. Kolonnehenvisningen er relativ, fordi vi ønsker, at den skal justeres for hver kolonne, dvs. når formlen kopieres til C3, ændres understrengehenvisningen til C$2.
- I den kildecelle reference, lås kolonnen ($A3), så alle formler kontrollerer værdierne i kolonne A.
Nedenstående skærmbillede viser resultatet:
ISNUMBER FIND - formel, der tager hensyn til store og små bogstaver
Da funktionen SEARCH er skift mellem store og små bogstaver , skelner ovenstående formel ikke mellem store og små bogstaver. Hvis du ønsker en formel, der tager hensyn til store og små bogstaver, skal du bruge funktionen FIND i stedet for SEARCH.
ISNUMBER(FIND( understreng , celle ))For vores eksempeldatasæt ville formlen have følgende formular:
=ISNUMBER(FIND(B$2, $A3))
Sådan fungerer denne formel
Formlens logik er ret indlysende og let at følge:
- Funktionen SEARCH / FIND søger efter delstrengen i den angivne celle. Hvis delstrengen findes, returneres positionen for det første tegn. Hvis delstrengen ikke findes, giver funktionen en #VALUE! fejl.
- ISNUMBER-funktionen tager den derfra og behandler numeriske positioner. Så hvis delstrengen findes, og dens position returneres som et tal, udsender ISNUMBER TRUE. Hvis delstrengen ikke findes, og der opstår en #VALUE!-fejl, udsender ISNUMBER FALSE.
IF ISNUMBER-formel
Hvis du ønsker at få en formel, der giver noget andet end TRUE eller FALSE, skal du bruge ISNUMBER sammen med IF-funktionen.
Eksempel 1. Celle indeholder hvilken tekst
Hvis vi fortsætter det foregående eksempel, kan vi antage, at du vil markere farven på hvert emne med "x" som vist i tabellen nedenfor.
For at få dette gjort, skal du blot pakke ISNUMBER SEARCH-formlen ind i IF-erklæringen:
=IF(ISNUMBER(SEARCH(B$2, $A3)), "x", "")
Hvis ISNUMBER returnerer TRUE, udsender IF-funktionen "x" (eller en hvilken som helst anden værdi, som du angiver i value_if_true Hvis ISNUMBER returnerer FALSK, udsender IF-funktionen en tom streng ("").
Eksempel 2. Første tegn i en celle er et tal eller tekst
Forestil dig, at du arbejder med en liste over alfanumeriske strenge, og at du vil vide, om det første tegn i en streng er et tal eller et bogstav.
For at opbygge en sådan formel har du brug for 4 forskellige funktioner:
- Funktionen LEFT udtrækker det første tegn fra starten af en streng, f.eks. i celle A2:
VENSTRE(A2, 1)
- Da LEFT hører til kategorien af tekstfunktioner, er resultatet altid en tekststreng, selv om den kun indeholder tal. Før vi kontrollerer det ekstraherede tegn, skal vi derfor forsøge at konvertere det til et tal. Brug enten VALUE-funktionen eller den dobbelte unære operatør til dette formål:
VÆRDI(VENSTRE(A2, 1))
eller(--LEFT(A2, 1))
- Funktionen ISNUMBER afgør, om det uddragne tegn er numerisk eller ej:
ISNUMBER(VÆRDI(LEFT(A2, 1)))
- Baseret på ISNUMBER-resultatet (TRUE eller FALSE) returnerer IF-funktionen henholdsvis "Tal" eller "Bogstav".
Hvis vi antager, at vi tester en streng i A2, har den komplette formel denne form:
=IF(ISNUMBER(VALUE(LEFT(A2, 1))), "Tal", "Bogstav")
eller
=IF(ISNUMBER(--LEFT(A2, 1)), "Tal", "Bogstav")
ISNUMBER-funktionen er også nyttig til udtrække tal fra en streng. Her er et eksempel: Hent tal fra en vilkårlig position i en streng.
Kontroller, om en værdi ikke er et tal
Selv om Microsoft Excel har en særlig funktion, ISNONTEXT, til at afgøre, om en celleværdi ikke er tekst, mangler en tilsvarende funktion for tal.
En nem løsning er at bruge ISNUMBER i kombination med NOT, der returnerer det modsatte af en logisk værdi. Med andre ord, når ISNUMBER returnerer TRUE, konverterer NOT det til FALSE, og omvendt.
For at se det i praksis kan du se resultaterne af følgende formel:
=NOT(ISNUMBER(A2))
En anden metode er at bruge IF- og ISNUMBER-funktionerne sammen:
=IF(ISNUMBER(A2), "", "Ikke nummer")
Hvis A2 er numerisk, returnerer formlen intet (en tom streng). Hvis A2 ikke er numerisk, siger formlen det på forhånd: "Ikke tal".
Hvis du vil udføre nogle beregninger med tal, skal du indsætte en ligning eller en anden formel i value_if_true argumentet i stedet for en tom streng. F.eks. vil nedenstående formel gange tal med 10 og give "Not number" for ikke-numeriske værdier:
=IF(ISNUMBER(A2), A2*10, "Ikke nummer")
Kontroller, om et interval indeholder et tal
Hvis du ønsker at teste hele området for tal, skal du bruge funktionen ISNUMBER i kombination med SUMPRODUCT på følgende måde:
SUMPRODUCT(--ISNUMBER( rækkevidde ))>0 SUMPRODUCT(ISNUMBER( rækkevidde )*1)>0Hvis du f.eks. vil finde ud af, om intervallet A2:A5 indeholder en numerisk værdi, vil formlerne se ud som følger:
=SUMPRODUCT(--ISNUMBER(A2:A5))>0
=SUMPRODUCT(ISNUMBER(A2:A5)*1)>0
Hvis du ønsker at udskrive "Yes" og "No" i stedet for TRUE og FALSE, skal du bruge IF-erklæringen som en "indpakning" for ovenstående formler. For eksempel:
=IF(SUMPRODUCT(--ISNUMBER(A2:A5))>0, "Ja", "Nej")
Sådan fungerer denne formel
I formlens kerne evaluerer funktionen ISNUMBER hver celle i det angivne område, f.eks. B2:B5, og returnerer TRUE for tal og FALSE for alt andet. Da området indeholder 4 celler, har arrayet 4 elementer:
{TRUE;FALSE;FALSE;FALSE;FALSE;FALSE}
Multiplikationsoperationen eller den dobbelte unære (--) tvinger henholdsvis TRUE og FALSE til at blive til 1'er og 0'er:
{1;0;0;0}
SUMPRODUCT-funktionen lægger elementerne i arrayet sammen. Hvis resultatet er større end nul, betyder det, at der er mindst ét tal i intervallet. Så du bruger ">0" for at få et slutresultat på TRUE eller FALSE.
ISNUMBER i betinget formatering for at fremhæve celler, der indeholder en bestemt tekst
Hvis du vil fremhæve celler eller hele rækker, der indeholder en bestemt tekst, skal du oprette en betinget formateringsregel baseret på formlen ISNUMBER SEARCH (ikke genkendelse af store og små bogstaver) eller ISNUMBER FIND (genkendelse af store og små bogstaver).
I dette eksempel vil vi fremhæve rækker baseret på værdien i kolonne A. Mere præcist vil vi fremhæve de elementer, der indeholder ordet "rød". Sådan gør vi:
- Vælg alle datarækkerne (A2:C6 i dette eksempel) eller kun den kolonne, hvor du vil fremhæve cellerne.
- På den Hjem under fanen, i fanen Stilarter gruppe, klik på Ny regel > Brug en formel til at bestemme, hvilke celler der skal formateres .
- I den Formater værdier, hvor denne formel er sand feltet, indtast nedenstående formel (bemærk, at kolonnekoordinaten er låst med $-tegnet):
=ISNUMBER(SEARCH("red", $A2))
- Klik på den Format knappen og vælg det ønskede format.
- Klik på OK to gange.
Hvis du har lidt erfaring med betinget formatering i Excel, kan du finde de detaljerede trin med skærmbilleder i denne vejledning: Sådan opretter du en formelbaseret regel for betinget formatering.
Resultatet er, at alle elementer med den røde farve er fremhævet:
I stedet for at "fastkode" farven i reglen for betinget formatering kan du skrive den i en foruddefineret celle, f.eks. E2, og henvise til denne celle i din formel (husk den absolutte cellehenvisning $E$2). Derudover skal du kontrollere, om inputcellen ikke er tom:
=AND(ISNUMBER(SEARCH($E$2, $A2))), $E$2"")
Resultatet er en mere fleksibel regel, der fremhæver rækker baseret på dine input i E2:
Sådan bruger du funktionen ISNUMBER i Excel. Tak for din læsning, og jeg håber at se dig på vores blog i næste uge!
Tilgængelige downloads
Excel ISNUMBER-formel eksempler