Innehållsförteckning
I handledningen förklaras vad ISNUMBER i Excel är och du får exempel på grundläggande och avancerade användningsområden.
Begreppet ISNUMBER-funktionen i Excel är mycket enkelt - den kontrollerar bara om ett givet värde är ett tal eller inte. En viktig punkt här är att funktionens praktiska användningsområden sträcker sig långt bortom det grundläggande konceptet, särskilt när den kombineras med andra funktioner i större formler.
Excel ISNUMBER-funktionen
Funktionen ISNUMBER i Excel kontrollerar om en cell innehåller ett numeriskt värde eller ej. Den tillhör gruppen IS-funktioner.
Funktionen är tillgänglig i alla versioner av Excel för Office 365, Excel 2019, Excel 2016, Excel 2013, Excel 2010, Excel 2007 och lägre.
Syntaxen ISNUMBER kräver bara ett argument:
=ISNUMMER(värde)
Var värde är det värde som du vill testa. Vanligtvis representeras det av en cellreferens, men du kan också ange ett verkligt värde eller bädda in en annan funktion i ISNUMBER för att kontrollera resultatet.
Om värde är numerisk, returnerar funktionen TRUE. För allt annat (textvärden, fel, blanksteg) returnerar ISNUMBER FALSE.
Om vi till exempel testar värdena i cellerna A2 till A6 får vi reda på att de tre första värdena är siffror och de två sista är text:
2 saker du bör veta om ISNUMBER-funktionen i Excel
Det finns ett par intressanta punkter att notera här:
- I den interna Excel-representationen, datum och gånger är numeriska värden, så formeln ISNUMBER returnerar TRUE för dem (se B3 och B4 i skärmdumpen ovan).
- För siffror som lagras som text returnerar funktionen ISNUMBER FALSE (se detta exempel).
Exempel på Excel ISNUMBER-formler
Nedanstående exempel visar några vanliga och några mindre vanliga användningsområden för ISNUMBER i Excel.
Kontrollera om ett värde är ett nummer
När du har en massa värden i ditt kalkylblad och vill veta vilka som är siffror är ISNUMBER rätt funktion att använda.
I det här exemplet finns det första värdet i A2, så vi använder nedanstående formel för att kontrollera det och drar sedan ner formeln till så många celler som behövs:
=ISNUMMER(A2)
Var uppmärksam på att även om alla värden ser ut som siffror har formeln ISNUMBER returnerat FALSE för cellerna A4 och A5, vilket betyder att dessa värden är numeriska strängar Det kan finnas olika orsaker till detta, t.ex. ledande nollor, föregående apostrof etc. Oavsett orsaken känner Excel inte igen sådana värden som siffror. Om dina värden inte beräknas korrekt bör du först kontrollera om de verkligen är siffror enligt Excel, och sedan konvertera text till siffror om det behövs.
Excel ISNUMBER SEARCH-formel
Förutom att identifiera nummer kan Excel-funktionen ISNUMBER också kontrollera om en cell innehåller specifik text som en del av innehållet. Använd ISNUMBER tillsammans med funktionen SÖKNING för detta.
I den generiska formen ser formeln ut på följande sätt:
ISNUMBER(SEARCH( delsträng , cell ))Var delsträng är den text som du vill hitta.
Låt oss till exempel kontrollera om strängen i A3 innehåller en viss färg, till exempel röd:
=ISNUMBER(SEARCH("red", A3))
Den här formeln fungerar bra för en enskild cell. Men eftersom vår exempeltabell (se nedan) innehåller tre olika färger skulle det vara slöseri med tid att skriva en separat formel för var och en av dem. Istället kommer vi att hänvisa till cellen som innehåller den aktuella färgen (B2).
=ISNUMBER(SEARCH(B$2, $A3))
För att formeln ska kunna kopieras nedåt och åt höger ska du se till att låsa följande koordinater med $-tecknet:
- På delsträng referensen låser raden (B$2) så att de kopierade formlerna alltid väljer delsträngarna i rad 2. Kolumnreferensen är relativ eftersom vi vill att den ska justeras för varje kolumn, dvs. när formeln kopieras till C3 ändras delsträngreferensen till C$2.
- I Källcell referens, låsa kolumnen ($A3) så att alla formler kontrollerar värdena i kolumn A.
Skärmbilden nedan visar resultatet:
ISNUMBER FIND - formel som tar hänsyn till stora och små bokstäver
Eftersom SEARCH-funktionen är Skiftlägeskänslig Om du letar efter en formel som tar hänsyn till stora och små bokstäver använder du funktionen FIND i stället för SEARCH.
ISNUMMER(FIND( delsträng , cell ))För vårt exempel på dataset skulle formeln ha följande form:
=ISNUMBER(FIND(B$2, $A3))
Hur denna formel fungerar
Formelns logik är ganska uppenbar och lätt att följa:
- Funktionen SEARCH / FIND letar efter delsträngen i den angivna cellen. Om delsträngen hittas returneras positionen för det första tecknet. Om delsträngen inte hittas ger funktionen ett #VALUE! felmeddelande.
- ISNUMBER-funktionen tar det därifrån och behandlar numeriska positioner. Om delsträngen hittas och dess position returneras som ett nummer, ger ISNUMBER ut TRUE. Om delsträngen inte hittas och ett #VALUE!-fel uppstår, ger ISNUMBER ut FALSE.
IF ISNUMBER-formeln
Om du vill få en formel som ger något annat än TRUE eller FALSE använder du ISNUMBER tillsammans med IF-funktionen.
Exempel 1. Cell innehåller vilken text
Om du fortsätter med det tidigare exemplet antar vi att du vill markera färgen på varje objekt med "x" som i tabellen nedan.
För att få detta gjort är det bara att slå in formeln ISNUMBER SEARCH i IF-angivelsen:
=IF(ISNUMBER(SEARCH(B$2, $A3)), "x", "")
Om ISNUMBER returnerar TRUE, ger IF-funktionen ut "x" (eller något annat värde som du anger i value_if_true Om ISNUMBER returnerar FALSE ger IF-funktionen ut en tom sträng ("").
Exempel 2. Det första tecknet i en cell är ett nummer eller en text.
Föreställ dig att du arbetar med en lista med alfanumeriska strängar och vill veta om det första tecknet i en sträng är en siffra eller en bokstav.
För att bygga en sådan formel behöver du 4 olika funktioner:
- Funktionen LEFT tar ut det första tecknet från början av en sträng, till exempel i cell A2:
VÄNSTER(A2, 1)
- Eftersom LEFT tillhör kategorin textfunktioner är resultatet alltid en textsträng, även om den bara innehåller siffror. Innan vi kontrollerar det extraherade tecknet måste vi därför försöka konvertera det till en siffra. För detta använder vi antingen VALUE-funktionen eller den dubbla unära operatorn:
VÄRDE(VÄNSTER(A2, 1))
eller .(--VÄNSTER(A2, 1))
- Funktionen ISNUMBER avgör om det extraherade tecknet är numeriskt eller inte:
ISNUMBER(VÄRDE(VÄNSTER(A2, 1)))
- Baserat på ISNUMBER-resultatet (TRUE eller FALSE) returnerar IF-funktionen "Nummer" respektive "Bokstav".
Om vi antar att vi testar en sträng i A2, får den fullständiga formeln följande form:
=IF(ISNUMBER(VALUE(LEFT(A2, 1))), "Nummer", "Bokstav")
eller .
=IF(ISNUMBER(--LEFT(A2, 1)), "Nummer", "Bokstav")
ISNUMBER-funktionen är också användbar för att utdrag av siffror från en sträng. Här är ett exempel: Hämta nummer från vilken position som helst i en sträng.
Kontrollera om ett värde inte är ett nummer
Även om Microsoft Excel har en särskild funktion, ISNONTEXT, för att avgöra om en cells värde inte är text, saknas en motsvarande funktion för siffror.
En enkel lösning är att använda ISNUMBER i kombination med NOT som returnerar motsatsen till ett logiskt värde. Med andra ord, när ISNUMBER returnerar TRUE omvandlar NOT det till FALSE, och tvärtom.
För att se hur det fungerar, observera resultaten av följande formel:
=NOT(ISNUMBER(A2))
En annan metod är att använda funktionerna IF och ISNUMBER tillsammans:
=IF(ISNUMBER(A2), "", "Inte nummer")
Om A2 är numerisk återger formeln ingenting (en tom sträng). Om A2 inte är numerisk säger formeln det på förhand: "Not number".
Om du vill utföra beräkningar med siffror kan du lägga in en ekvation eller en annan formel i fältet value_if_true argumentet i stället för en tom sträng. Exempelvis multiplicerar formeln nedan siffror med 10 och ger "Not number" för icke-numeriska värden:
=IF(ISNUMBER(A2), A2*10, "Inte nummer")
Kontrollera om ett intervall innehåller något nummer
Om du vill testa hela intervallet för siffror använder du funktionen ISNUMBER i kombination med SUMPRODUCT på följande sätt:
SUMPRODUCT(--ÄRNUMMER( sortiment ))>0 SUMPRODUCT(ISNUMBER( sortiment )*1)>0Om du till exempel vill ta reda på om intervallet A2:A5 innehåller något numeriskt värde skulle formlerna se ut på följande sätt:
=SUMPRODUCT(--ISNUMMER(A2:A5))>0
=SUMPRODUCT(ISNUMBER(A2:A5)*1)>0
Om du vill skriva ut "Ja" och "Nej" i stället för TRUE och FALSE kan du använda IF-angivelsen som en "omslagsformel" för ovanstående formler. Till exempel:
=IF(SUMPRODUCT(--ISNUMBER(A2:A5))>0, "Ja", "Nej")
Hur denna formel fungerar
I formelns hjärta utvärderar funktionen ISNUMBER varje cell i det angivna intervallet, till exempel B2:B5, och returnerar TRUE för siffror och FALSE för allt annat. Eftersom intervallet innehåller fyra celler har matrisen fyra element:
{SANN;FALSKT;FALSKT;FALSKT;FALSKT}
Multiplikationsoperationen eller den dubbla unära (--) omvandlar TRUE och FALSE till 1:or respektive 0:or:
{1;0;0;0}
Funktionen SUMPRODUCT adderar elementen i matrisen. Om resultatet är större än noll betyder det att det finns minst en siffra i intervallet. Du använder alltså ">0" för att få ett slutresultat som är VARA eller FALSKT.
ISNUMBER i villkorlig formatering för att markera celler som innehåller viss text.
Om du vill markera celler eller hela rader som innehåller specifik text skapar du en villkorlig formateringsregel som baseras på formeln ISNUMBER SEARCH (okänslig för stora bokstäver) eller ISNUMBER FIND (okänslig för stora bokstäver).
I det här exemplet ska vi markera rader baserat på värdet i kolumn A. Mer exakt ska vi markera de objekt som innehåller ordet "röd". Så här gör vi:
- Markera alla datarader (A2:C6 i det här exemplet) eller bara den kolumn där du vill markera celler.
- På den Hem på fliken Stilar grupp, klicka på Ny regel > Använd en formel för att bestämma vilka celler som ska formateras .
- I Formatera värden där denna formel är sann och skriver in följande formel (observera att kolumnkoordinaten är låst med $-tecknet):
=ISNUMBER(SEARCH("red", $A2))
- Klicka på Format och välj det format du vill ha.
- Klicka på OK två gånger.
Om du har lite erfarenhet av villkorlig formatering i Excel kan du hitta detaljerade steg med skärmdumpar i den här handledningen: Hur man skapar en formelbaserad regel för villkorlig formatering.
Resultatet är att alla objekt med röd färg markeras:
I stället för att "hårdkoda" färgen i regeln för villkorlig formatering kan du skriva in den i en fördefinierad cell, till exempel E2, och hänvisa till den cellen i formeln (tänk på den absoluta cellhänvisningen $E$2). Dessutom måste du kontrollera att inmatningscellen inte är tom:
=AND(ISNUMBER(SEARCH($E$2, $A2)), $E$2"")
Resultatet blir en mer flexibel regel som markerar rader baserat på din inmatning i E2:
Så här använder du funktionen ISNUMMER i Excel. Tack för att du läste och hoppas att vi ses på vår blogg nästa vecka!
Tillgängliga nedladdningar
Exempel på Excel ISNUMBER-formler