Hvordan fortelle om en celle inneholder sifre
Vil du bruke en formel til å gjenkjenne når et tall eller en eller flere sifre kan bli funnet i en tekst i en celle? Hvis det er et tall i en celle, bør formelen returnere "ja", men også hvis et tall er en del av celleinnholdet, dvs. for "Meine5isthier" eller "2fast4you". Det var oppgaven i Excel -formelkonkurransen, og her er den første løsningen:
= HVIS (TEL (FINN (LINJE (A: A) -1; A1)); "ja"; "nei")
Formelen er en matriseformel. Du må skrive den inn med tastatursnarveien CTRL SHIFT ENTER i stedet for ENTER -tasten. Deretter markerer Excel formelen med krøllete seler. Ikke skriv inn disse parentesene; de plasseres automatisk rundt formelen for visualisering av matriseformler.
Følgende figur viser bruken av formelen i praksis:
Formelen får FIND -funksjonen til å lete etter sifrene 0 til 9 i celle A1. Datafeltet 0 til 9 kommer fra uttrykket LINE (1: 9) i matrisen. FINDEN returnerer et datafelt som består av tallene som er funnet og feilverdiene#VERDI! består.
Fra dette bestemmer NUMBER -funksjonen antall siffer i listen. Hvis dette tallet er større enn 0, inneholder cellen sifre. IF -funksjonen spør etter dette nummeret. Fordi IF bare anser verdien 0 som FALSK, resulterer IF -funksjonen i at "ja" vises hvis det er sifre i cellen og "nei" hvis ikke.
Formelen er veldig kort, men fungerer også veldig sakte fordi den går gjennom alle radene i kolonne A etter matrise til fordel for formellengden. Funksjonen blir raskere som følger:
= HVIS (TEL (FINN (LINJE (A1: A10) -1, A1)), "ja", "nei")
Alternativt kan du bruke løsning 2, som bruker samme antall tegn:
= HVIS (NUMMER (1 * DEL (A1; LINE (A: A); 1)); "ja"; "nei")
Denne formelen er også en matriseformel du må overføre til en celle ved å bruke CTRL SHIFT ENTER.
I denne formelen isoleres de enkelte bokstavene / sifrene i celleinnholdet fra celle A1 ved hjelp av en matrise og multipliseres deretter med 1. Dette resulterer i en matrise som består av feilverdiene # VALUE1 og de individuelle sifrene i celleinnholdet. Formelen bruker deretter NUMBER -funksjonen til å bestemme antall sifre den inneholder og bruker den som et kriterium for IF -spørringen.
Denne formelen er også treg fordi alle radene i kolonne A er gjennomgått. Formelen blir raskere med følgende endring:
= HVIS (NUMMER (1 * DEL (A1; RAD (A1: A100); 1)); "ja"; "nei")
I dette tilfellet kan oppføringen som skal undersøkes i celle A1 maksimalt være 100 tegn lang. Følgende, spesielt raske formel, som du kan angi på vanlig måte, krever ikke en matrise i det hele tatt:
= HVIS (NUMMER (FINN ({0; 1; 2; 3; 4; 5; 6; 7; 8; 9}; A1)); "ja"; "nei")
Her er matrisen RAD (A: A) erstattet av den eksplisitte listen over de mulige sifrene 0 til 9. Du må skrive inn de krøllete selene i denne formelen!