find leder efter tal i a1 + "0123456789" tal er sat på efter a1, så der vil helt sikkert findes tal min tager den mindste placering (det første tals position)
måske skulle man udenom det hele tjekke, at værdien skal være maksimum længden af a1, og hvis den er større, så returnere 'ikke fundet'
Da der er indeholdt et Array i fomlen ({0,1,2,3,4,5,6,7,8,9}) bruges find (eller søg) funktionen, til at danne et Array ud fra den tekst/tal der søges i, og returnerer i tilfældet her {9;10;11;5;6;7;8;16;17;18}. Og i dette Array vil der være et laveste nummer, som indikerer startpositionen for det først fundne nummer. Og kigger du på det opbyggede Array, vil du se nummeret 5 som det laveste. Og her bruges så MIN funktionen til finde dette laveste nummer i Arrayet, som bruges til at identificere positionen (5). Skulle der ikke findes et tal i tekstværdien der søges i, returneres ikke nogen fejlværdi, men tallet for den samlede tekstlængde +1
#1 God ide ! ""måske skulle man udenom det hele tjekke, at værdien skal være maksimum længden af a1, og hvis den er større, så returnere 'ikke fundet'""
#2: Aha, så FIND leder efter "0,1,2,3,4,5,6,7,8,9" i (A1 & "0123456789")
Aha, først findes "0" fra &-delen på position 9: {9;10;11;5;6;7;8;16;17;18}.
OG:
""Skulle der ikke findes et tal i tekstværdien der søges i, returneres ikke nogen fejlværdi, men tallet for den samlede tekstlængde +1""
-Er det en medfødt service i Array ?
OG:
Hvad nu, hvis jeg skulle søge efter postnr. i en tekst ? Skulle jeg så skrive: =FIND({1000:9999},A1&"0123456789")) ????
#3 - Til dine comments! #1 - Den fejlhåndtering, er på en måde indbygget, da tal strengen &0123456789 fungerer som en "fejlchecker". I formlen, bruges disse tal efter &, som en sammenkædning af strengen der søges på, med tallene i &0123456789. Hvis du f.eks. ikke har et tal i strengen (abcdefgh), vil der returneres tallet 9, for den første tomme plads, som er en sammenkædning af tekstlængden + første ciffer i &0123456789. og Arrayet ville så se sådan ud: {9;10;11;12;13;14;15;16;17;18} (Nul regnes ikke med) Og er strengen der søges i, f.eks. på 20 karakterer, så vil du stadig få det returnerede tal, for enten det fundne tal i strengen, eller første tomme plads efter strengen (tallet 21 ville formlen vise).
Du kan efterprøve dette, med Excel's formel evaluering, hvor du vil kunne se det returnerede Array.
Om det gav lidt ekstra hjælp til de andre kommentarer ved jeg ikke ;-) )
Til det med postnummeret. Om det er postnummer eller andre tal, er egentlig ligegyldigt, da denne formel kun kigger efter det første tal i en streng, uanset hvad der er i strengen, og ikke selve tallet!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.