Cijfers of getallen in een cel herkennen

Inhoudsopgave

Hoe weet u of een cel cijfers bevat?

Wil je een formule gebruiken om te herkennen wanneer een getal of een of meer cijfers in een tekst in een cel voorkomen? Als er een getal in een cel staat, moet de formule "ja" retourneren, maar ook als een getal deel uitmaakt van de celinhoud, bijvoorbeeld voor "Meine5isthier" of "2fast4you". Dat was de opdracht bij de Excel-formulewedstrijd en hier is de eerste oplossing:

= IF (COUNT (FIND (LINE (A: A) -1; A1)); "ja"; "nee")

De formule is een matrixformule. U moet het invoeren met de sneltoets CTRL SHIFT ENTER in plaats van de ENTER-toets. Vervolgens markeert Excel de formule met accolades. Vul deze haakjes niet in, ze worden automatisch om de formule geplaatst voor de visualisatie van matrixformules.

De volgende afbeelding laat het gebruik van de formule in de praktijk zien:

De formule zorgt ervoor dat de FIND-functie zoekt naar de cijfers 0 tot en met 9 in cel A1. Het gegevensveld 0 t/m 9 is het resultaat van de uitdrukking LINE (1: 9) in de matrix. FINDEN retourneert een gegevensveld dat bestaat uit de gevonden cijfers en de foutwaarden #WAARDE! bestaat.

Hieruit bepaalt de NUMBER-functie het aantal cijfers in de lijst. Als dit getal groter is dan 0, bevat de cel cijfers. De ALS-functie vraagt dit nummer op. Omdat ALS een waarde van 0 alleen als ONWAAR beschouwt, resulteert de ALS-functie erin dat "ja" wordt weergegeven als er cijfers in de cel staan en "nee" als dat niet het geval is.

De formule is erg kort, maar werkt ook erg traag omdat hij alle rijen in kolom A per matrix doorloopt in het voordeel van de formulelengte. De functie wordt als volgt sneller:

= IF (COUNT (FIND (LINE (A1: A10) -1, A1)), "ja", "nee")

Als alternatief kunt u oplossing 2 gebruiken, die hetzelfde aantal tekens gebruikt:

= IF (NUMMER (1 * DEEL (A1; REGEL (A: A); 1)); "ja"; "nee")

Deze formule is ook een matrixformule die u met CTRL SHIFT ENTER naar een cel moet overbrengen.

In deze formule worden de afzonderlijke letters / cijfers van de celinhoud uit cel A1 geïsoleerd met behulp van een matrix en vervolgens vermenigvuldigd met 1. Dit resulteert in een matrix die bestaat uit de #VALUE1 foutwaarden en de individuele cijfers van de celinhoud. De formule gebruikt vervolgens de NUMBER-functie om het aantal cijfers te bepalen dat het bevat en gebruikt het als een criterium voor de ALS-query.

Deze formule is ook traag omdat alle rijen in kolom A worden doorlopen. De formule wordt sneller met de volgende wijziging:

= IF (AANTAL (1 * DEEL (A1; RIJ (A1: A100); 1)); "ja"; "nee")

In dit geval mag het te onderzoeken item in cel A1 maximaal 100 tekens lang zijn. De volgende, bijzonder snelle formule, die u op de normale manier kunt invoeren, heeft helemaal geen matrix nodig:

= INDIEN (GETAL (VINDEN ({0; 1; 2; 3; 4; 5; 6; 7; 8; 9}; A1)); "ja"; "nee")

Hier wordt de matrix RIJ (A:A) vervangen door de expliciete opsomming van de mogelijke cijfers 0 tot 9. In deze formule moet je de accolades invullen!

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave