Avatar billede h_s Forsker
10. august 2017 - 18:50 Der er 11 kommentarer og
1 løsning

Find tal i en tekststreng

Jeg har en tekststreng hvor der måske er et tal. Det tal skal jeg bruge alene. Derfor vil jeg gerne have en funktion der leder efter et 6 cifret tal og skriver tallet + de næste 5 cifre.
Kan det lade sig gøre?
Avatar billede Jan Hansen Ekspert
10. august 2017 - 19:22 #1
Er der ikke noget der er fælles ud over længden, eks "Tal 100000"  altså et eller andet der er forand eller efter tallet?
Avatar billede Jan Hansen Ekspert
10. august 2017 - 19:24 #2
Avatar billede ebea Ekspert
10. august 2017 - 19:25 #3
Jeg er ikke helt sikker på, hvad det er du konkret ønsker. Men formlen her, udtager alle tal, uanset længde, i en tekst streng.
Husk det er en Matriks formel, som indtastes med (Ctrl+Shift+Enter), derved dannes de 2 (Tuborg) klammer.
{=SLÅ.OP(99^99;--("0"&MIDT(A1;MIN(SØG({0;1;2;3;4;5;6;7;8;9};A1&"0123456789"));RÆKKE($1:$10000))))}
Avatar billede Jan Hansen Ekspert
10. august 2017 - 19:57 #4
Lidt smart ebea
Avatar billede h_s Forsker
10. august 2017 - 20:02 #5
Her er kommentarer til jer alle:
#1: Nej desværre ikke
#2: Jeg deltager selv i den streng, men udfordringen er at jeg ikke har noget at søge efter andet end at det er 6 tal. Hvert tal kan være 0-9.
#3: Kan ikke få den til at virke. Kunne du forklare hvad den gør skridt for skridt?

Lidt flere detaljer.
Jeg har en tekst streng indeholdende bogstaver og tal. Tallene er et 10 cifret kundenummer med et "-" efter 6 tegn (ligner et cpr.nr. i opbygningen). Udfordringen er at det er skrevet i et fritekstfelt, hvor kundenummer står forskellige steder i tekststrengen og nogen gange uden "-". Derfor vil jeg søge efter 6 tal og så vise de 11 tegn. Så kan jeg efter følgende fjerne et evt. "-" via funktionen udskrift()
Avatar billede ebea Ekspert
10. august 2017 - 20:16 #6
#5  -  Prøv at angiv et eksempel her på siden, så vi ikke skal gætte hvad der er indeholdt i din streng (selvom du forklarer) ;-)
Avatar billede Jan Hansen Ekspert
10. august 2017 - 20:20 #7
#3's virker dog kun på det første sammenhængende tal altså ghfhggdf1fghhgf giver 1 og 100000-2222 giver 100000

Jan
Avatar billede h_s Forsker
10. august 2017 - 20:22 #8
ebea> Jeg har fået den til at virke nu, men hvis der er den stopper hvis der er et "-" midt i kundenummer.

Ex.
123456-7890 - vises 123456 - Jeg vil gerne have 1234567890
Avatar billede Jan Hansen Ekspert
10. august 2017 - 20:46 #9
prøve denne matrix formel

{=UDSKIFT(MIDT(A2;FIND(SLÅ.OP(99^99;--("0"&MIDT(A2;MIN(SØG({0;1;2;3;4;5;6;7;8;9};A2&"0123456789"));RÆKKE($1:$10000))));A2);11);"-";"")*1}

jan
Avatar billede claes57 Ekspert
10. august 2017 - 20:47 #10
kan du ikke rette fra
&"0123456789")
til &"0123456789-")
i #3
resultatet er så måske med bindestreg, men den kan fjernes med en erstat() og derefter kan du teste på længden, er den ikke 10, så drop det og søg videre
Avatar billede xl-Enthusiast Ekspert
10. august 2017 - 20:49 #11
Med din tekst i A1, prøv denne matrixformel:

=SUM((MIDT(0&A1;STØRSTE(HVIS(ER.TAL(MIDT(0&A1;RÆKKE($1:$256);1)*1);RÆKKE($1:$256);1);RÆKKE($1:$256));1)*1)*10^(RÆKKE($1:$256)-1))
Avatar billede ebea Ekspert
10. august 2017 - 20:54 #12
#5  -  Denne her formel, udtager alle dine tal, og fjerner bindestregen, hvis den findes.

=SUMPRODUKT(MIDT(0&A1;STØRSTE(INDEKS(ER.TAL(--MIDT(A1;RÆKKE($1:$25);1))* RÆKKE($1:$25);0);RÆKKE($1:$25))+1;1)*10^RÆKKE($1:$25)/10)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Stort udvalg af Excel kurser til alle niveauer og jobfunktioner

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester