Inhoudsopgave
De handleiding legt uit wat ISNUMBER in Excel is en geeft voorbeelden van basis- en geavanceerd gebruik.
Het concept van de functie ISNUMBER in Excel is heel eenvoudig - er wordt alleen gecontroleerd of een gegeven waarde een getal is of niet. Een belangrijk punt hierbij is dat de praktische toepassingen van de functie veel verder gaan dan het basisconcept, vooral wanneer deze wordt gecombineerd met andere functies binnen grotere formules.
Excel ISNUMBER functie
De functie ISNUMBER in Excel controleert of een cel een numerieke waarde bevat of niet. Zij behoort tot de groep van IS-functies.
De functie is beschikbaar in alle versies van Excel voor Office 365, Excel 2019, Excel 2016, Excel 2013, Excel 2010, Excel 2007 en lager.
De syntaxis ISNUMBER vereist slechts één argument:
=ISNUMBER(value)
Waar waarde is de waarde die u wilt testen. Gewoonlijk wordt deze weergegeven door een celverwijzing, maar u kunt ook een echte waarde opgeven of een andere functie in ISNUMBER nestelen om het resultaat te controleren.
Als waarde is numeriek, dan geeft de functie WAAR. Voor alle andere waarden (tekstwaarden, fouten, spaties) geeft ISNUMBER ONWAAR terug.
Als voorbeeld testen we de waarden in de cellen A2 tot en met A6, en we zullen ontdekken dat de eerste 3 waarden getallen zijn en de laatste twee tekst:
2 dingen die u moet weten over de ISNUMBER functie in Excel
Er zijn hier een paar interessante punten op te merken:
- In interne Excel weergave, data en keer zijn numerieke waarden, zodat de formule ISNUMBER voor hen WAAR is (zie B3 en B4 in de bovenstaande schermafbeelding).
- Voor getallen die als tekst zijn opgeslagen, geeft de functie ISNUMBER FALSE terug (zie dit voorbeeld).
Excel ISNUMBER formule voorbeelden
De onderstaande voorbeelden demonstreren enkele veel voorkomende en enkele niet-triviale toepassingen van ISNUMBER in Excel.
Controleer of een waarde een getal is
Wanneer je een heleboel waarden in je werkblad hebt en je wilt weten welke daarvan getallen zijn, dan is ISNUMBER de juiste functie om te gebruiken.
In dit voorbeeld staat de eerste waarde in A2, dus gebruiken we de onderstaande formule om die te controleren, en slepen we de formule naar zoveel cellen als nodig:
=ISNUMBER(A2)
Let op: hoewel alle waarden er als getallen uitzien, heeft de formule ISNUMBER voor de cellen A4 en A5 FALSE opgeleverd, wat betekent dat die waarden numerieke reeksen Er kunnen verschillende redenen voor zijn, bijvoorbeeld voorloopnullen, voorafgaande apostrof, enz. Wat de reden ook is, Excel herkent dergelijke waarden niet als getallen. Dus, als uw waarden niet correct berekenen, is het eerste wat u moet controleren of het werkelijk getallen zijn in termen van Excel, en vervolgens tekst omzetten in getallen indien nodig.
Excel ISNUMBER ZOEKEN formule
Naast het identificeren van getallen kan de Excel ISNUMBER functie ook controleren of een cel specifieke tekst bevat als onderdeel van de inhoud. Gebruik hiervoor ISNUMBER samen met de SEARCH functie.
In de algemene vorm ziet de formule er als volgt uit:
ISNUMBER(SEARCH( substring , cel ))Waar substring is de tekst die u wilt vinden.
Laten we bijvoorbeeld nagaan of de string in A3 een bepaalde kleur bevat, bijvoorbeeld rood:
=ISNUMBER(SEARCH("red", A3))
Deze formule werkt prima voor een enkele cel. Maar omdat onze voorbeeldtabel (zie hieronder) drie verschillende kleuren bevat, zou het verspillen van tijd zijn om voor elke cel een aparte formule te schrijven. In plaats daarvan zullen we verwijzen naar de cel met de gewenste kleur (B2).
=ISNUMBER(SEARCH(B$2, $A3))
Om de formule correct naar beneden en naar rechts te kopiëren, moet u de volgende coördinaten vergrendelen met het $-teken:
- In substring verwijzing, vergrendel de rij (B$2) zodat de gekopieerde formules altijd de subteksten in rij 2 kiezen. De kolomverwijzing is relatief omdat we willen dat deze zich voor elke kolom aanpast, d.w.z. wanneer de formule naar C3 wordt gekopieerd, zal de substringverwijzing veranderen in C$2.
- In de broncel referentie, vergrendel de kolom ($A3) zodat alle formules de waarden in kolom A controleren.
Het onderstaande screenshot toont het resultaat:
ISNUMBER FIND - hoofdlettergevoelige formule
Aangezien de ZOEK-functie hoofdletterongevoelig De bovenstaande formule maakt geen onderscheid tussen hoofdletters en kleine letters. Als u een hoofdlettergevoelige formule zoekt, gebruik dan de functie FIND in plaats van SEARCH.
ISNUMBER(FIND( substring , cel ))Voor onze voorbeelddataset zou de formule de volgende vorm aannemen:
=ISNUMBER(FIND(B$2, $A3))
Hoe deze formule werkt
De logica van de formule is vrij duidelijk en gemakkelijk te volgen:
- De SEARCH / FIND-functie zoekt naar de substring in de opgegeven cel. Indien de substring wordt gevonden, wordt de positie van het eerste teken teruggegeven. Indien de substring niet wordt gevonden, geeft de functie een #VALUE! foutmelding.
- De functie ISNUMBER neemt dit over en verwerkt numerieke posities. Dus, als de substring wordt gevonden en de positie ervan wordt teruggegeven als een getal, geeft ISNUMBER TRUE weer. Als de substring niet wordt gevonden en er een #VALUE! fout optreedt, geeft ISNUMBER FALSE weer.
IF ISNUMBER formule
Als u een formule wilt die iets anders oplevert dan WAAR of ONWAAR, gebruik dan ISNUMBER in combinatie met de IF-functie.
Voorbeeld 1. Cel bevat welke tekst
Als we het vorige voorbeeld verder nemen, stel dat u de kleur van elk item wilt markeren met "x" zoals in de onderstaande tabel.
Om dit te doen, hoeft u alleen maar de formule ISNUMBER SEARCH in de IF-instructie op te nemen:
=IF(ISNUMBER(SEARCH(B$2, $A3)), "x", "")
Als ISNUMBER WAAR is, voert de IF-functie "x" uit (of een andere waarde die u aan de waarde_indien_waar Indien ISNUMBER FALSE oplevert, geeft de IF-functie een lege tekenreeks ("").
Voorbeeld 2. Eerste teken in een cel is een getal of tekst
Stel dat u werkt met een lijst van alfanumerieke tekenreeksen en u wilt weten of het eerste teken van een tekenreeks een cijfer of een letter is.
Om zo'n formule te bouwen, hebben we 4 verschillende functies nodig:
- De functie LINKS haalt het eerste teken uit het begin van een tekenreeks, bijvoorbeeld in cel A2:
LINKS(A2, 1)
- Omdat LINKS behoort tot de categorie tekstfuncties, is het resultaat ervan altijd een tekststring, zelfs als het alleen getallen bevat. Daarom moeten we, voordat we het geëxtraheerde teken controleren, proberen het te converteren naar een getal. Hiervoor gebruiken we de functie WAARDE of de dubbele unaire operator:
WAARDE(LINKS(A2, 1))
of(--LEFT(A2, 1))
- De functie ISNUMBER bepaalt of het geëxtraheerde teken numeriek is of niet:
ISNUMBER(VALUE(LEFT(A2, 1)))
- Op basis van het ISNUMBER-resultaat (TRUE of FALSE) geeft de IF-functie respectievelijk "Getal" of "Letter" terug.
Ervan uitgaande dat we een string in A2 testen, neemt de volledige formule deze vorm aan:
=IF(ISNUMBER(VALUE(LEFT(A2, 1))), "Number", "Letter")
of
=IF(ISNUMBER(LINKS(A2, 1)), "Nummer", "Letter")
De functie ISNUMBER is ook handig voor het extraheren van nummers uit een string. Hier is een voorbeeld: Haal een getal uit een willekeurige positie in een string.
Controleer of een waarde geen getal is
Hoewel Microsoft Excel een speciale functie heeft, ISNONTEXT, om te bepalen of de waarde van een cel geen tekst is, ontbreekt een analoge functie voor getallen.
Een eenvoudige oplossing is het gebruik van ISNUMBER in combinatie met NOT die het tegenovergestelde van een logische waarde teruggeeft. Met andere woorden, wanneer ISNUMBER TRUE teruggeeft, zet NOT dit om in FALSE, en omgekeerd.
Bekijk de resultaten van de volgende formule om het in actie te zien:
=NOT(ISNUMBER(A2))
Een andere aanpak is het gebruik van de functies IF en ISNUMBER samen:
=IF(ISNUMBER(A2), "", "Niet-nummer")
Als A2 numeriek is, geeft de formule niets terug (een lege tekenreeks). Als A2 niet numeriek is, zegt de formule het vooraf: "Niet getal".
Als u enkele berekeningen met getallen wilt uitvoeren, zet dan een vergelijking of een andere formule in de waarde_indien_waar argument in plaats van een lege tekenreeks. De onderstaande formule zal bijvoorbeeld getallen met 10 vermenigvuldigen en "Niet getal" opleveren voor niet-numerieke waarden:
=IF(ISNUMBER(A2), A2*10, "Niet-nummer")
Controleer of een bereik een getal bevat
In situaties waarin u het hele bereik op getallen wilt testen, gebruikt u de functie ISNUMBER in combinatie met SUMPRODUCT als volgt:
SUMPRODUCT(--ISNUMMER( reeks ))>0 SUMPRODUCT(ISNUMBER( reeks )*1)>0Om bijvoorbeeld na te gaan of het bereik A2:A5 een numerieke waarde bevat, gaan de formules als volgt:
=SUMPRODUCT(--ISNUMBER(A2:A5))>0
=SUMPRODUCT(ISNUMBER(A2:A5)*1)>0
Als u "Ja" en "Nee" wilt uitvoeren in plaats van TRUE en FALSE, gebruikt u de IF-instructie als "wrapper" voor de bovenstaande formules. Bijvoorbeeld:
=IF(SUMPRODUCT(--ISNUMBER(A2:A5))>0, "Ja", "Nee")
Hoe deze formule werkt
In het hart van de formule evalueert de functie ISNUMBER elke cel van het opgegeven bereik, bijvoorbeeld B2:B5, en geeft TRUE voor getallen, FALSE voor al het andere. Aangezien het bereik 4 cellen bevat, heeft de matrix 4 elementen:
{\A6;FALSE;FALSE;FALSE}
De vermenigvuldigingsoperatie of de dubbele unary (--) zet TRUE en FALSE om in respectievelijk 1'en en 0'en:
{1;0;0;0}
De SUMPRODUCT-functie telt de elementen van de matrix op. Als het resultaat groter is dan nul, betekent dat dat er minstens één getal de reeks is. Je gebruikt dus ">0" om een eindresultaat te krijgen van TRUE of FALSE.
ISNUMBER in voorwaardelijke opmaak om cellen te markeren die bepaalde tekst bevatten
Als u cellen of hele rijen met specifieke tekst wilt markeren, maakt u een voorwaardelijke opmaakregel op basis van de formule ISNUMBER SEARCH (hoofdlettergevoelig) of ISNUMBER FIND (hoofdlettergevoelig).
Voor dit voorbeeld gaan we rijen markeren op basis van de waarde in kolom A. Preciezer gezegd, we markeren de items die het woord "rood" bevatten. Zo werkt het:
- Selecteer alle gegevensrijen (A2:C6 in dit voorbeeld) of alleen de kolom waarin u cellen wilt markeren.
- Op de Home tabblad, in de Styles groep, klik Nieuwe regel > Gebruik een formule om te bepalen welke cellen moeten worden opgemaakt .
- In de Formatteer waarden waar deze formule waar is vak de onderstaande formule in (merk op dat de kolomcoördinaten zijn vergrendeld met het $-teken):
=ISNUMBER(SEARCH("red", $A2))
- Klik op de Formaat en kies het gewenste formaat.
- Klik tweemaal op OK.
Als u weinig ervaring hebt met voorwaardelijke opmaak in Excel, vindt u de gedetailleerde stappen met schermafbeeldingen in deze handleiding: Hoe maak ik een voorwaardelijke opmaakregel op basis van een formule?
Als resultaat worden alle items met de rode kleur gemarkeerd:
In plaats van de kleur te "hardcoderen" in de voorwaardelijke opmaakregel, kunt u deze in een vooraf gedefinieerde cel typen, bijvoorbeeld E2, en naar die cel verwijzen in uw formule (let op de absolute celverwijzing $E$2). Bovendien moet u controleren of de invoercel niet leeg is:
=AND(ISNUMBER(SEARCH($E$2, $A2)), $E$2"")
Het resultaat is een flexibelere regel die rijen markeert op basis van uw invoer in E2:
Zo gebruik je de functie ISNUMBER in Excel. Ik dank je voor het lezen en hoop je volgende week op onze blog te zien!
Beschikbare downloads
Excel ISNUMBER formule voorbeelden