Avatar billede Sammy Juniormester
19. februar 2021 - 09:36 Der er 41 kommentarer og
1 løsning

Find og vis et bestemt område i en tekststreng med en formel

Hej

Er der en der kan hjælpe med en formel til dette?

Eksempel:

I en celle står f. eks.: "http://hertyah.fidudhb&djdhegg1234-jkjgffd=hgh21456783"

Jeg har brug for en formel der kund finder "1234". Altså det der står imellem: "egg" og "-jkj"

Håber der er en der lige har en fiks formel til dette.

Mvh
Sammy
Avatar billede xl-Enthusiast Ekspert
19. februar 2021 - 10:29 #1
=--MID(A1;SEARCH("egg";A1)+3;SEARCH("jkj";A1)-SEARCH("egg";A1)-4)

dansk

=--MIDT(A1;SØG("egg";A1)+3;SØG("jkj";A1)-SØG("egg";A1)-4)
Avatar billede Sammy Juniormester
19. februar 2021 - 10:53 #2
Hej xl-Enthusiast

Tak for formlen. Men den virker ikke. Den skriver #VÆRDI

Håber du måske har et andet bud.

Sammy
Avatar billede xl-Enthusiast Ekspert
19. februar 2021 - 11:11 #3
Formlen virker fint for mig.
Har du brugt den danske udgave?
Avatar billede Sammy Juniormester
19. februar 2021 - 11:31 #4
Ja den danske udgave.
Avatar billede xl-Enthusiast Ekspert
19. februar 2021 - 11:35 #5
Avatar billede Sammy Juniormester
19. februar 2021 - 11:46 #6
Nu fik jeg den til at virke. Havde ikke skrevet den rigtige række før. Tak for formlen. Nu er jeg næsten i mål. Men:

Nu skal jeg så bare have den til at virke, der hvor jeg skal bruge den. Jeg kan ikke lægge hele den rigtige tekststreng op her, da den ikke må offentliggøres. Men den del, hvor jeg skal have nummeret ud, ser sådan her ud:

Celle A8
service-9228&utm - Det er i det her tilfælde tallet 9228, jeg gerne vil have ud.
Min formel ser sådan her ud: =--MIDT(A8;SØG("service-";A8)+3;SØG("&utm";A8)-SØG("service-";A8)-4)

Hvad gør jeg galt?

Sammy
Avatar billede Sammy Juniormester
19. februar 2021 - 11:48 #7
service-9228&utm er kun en lille del af den meget lange tekststreng.
Avatar billede xl-Enthusiast Ekspert
19. februar 2021 - 12:03 #8
Er det systematik i det her.

Vil der altid være en bindestreg før tallet.
Vil der altid være et & efter tallet
Kan der forekomme flere talgrupper?

Svar bliver aldrig bedre end det spørgsmål der stilles.
Avatar billede Sammy Juniormester
19. februar 2021 - 12:11 #9
Vil der altid være en bindestreg før tallet.
- Ja

Vil der altid være et & efter tallet
- Ja

Kan der forekomme flere talgrupper?
- Hvis jeg har forstået dette spørgsmål rigtigt, er der 2 talgrupper. Den jeg skal bruge (kan i øvrigt være forskellige antal cifre. 2, 3, 4 og 5 cifre. Men det virker også til at have denne flexibillitet i den formel, du sendte til at starte med.) , som er mellem "service-" og &utm. Og så en talgruppe (som jeg ikke skal bruge) til sidst. Den er også forskellige antal cifre.

Sammy
Avatar billede xl-Enthusiast Ekspert
19. februar 2021 - 12:35 #10
=--MID(A8;SEARCH("-";A8)+1;SEARCH("&";A8)-SEARCH("-";A8)-1)

MID = MIDT
SEARCH = SØG

Med flere talgrupper mente jeg om der forekomme noget som:

service-9228&utm&-1234abc
Avatar billede Sammy Juniormester
19. februar 2021 - 12:50 #11
Min formel ser nu sådan her ud på dansk:

=--MIDT(A8;SØG("-";A8)+1;SØG("&";A8)-SØG("-";A8)-1)
- Der står nu #VÆRDI i cellen.

Er det så fordi tekststrengen slutter med en talgruppe?

Den slutter sådan her:
&coid=1156122417

Og den næste slutter sådan her:
&coid=477106423

Så der er forkellige antal cifre i den sidste talgruppe.

Jeg kan godt se, at det er noget rod, at jeg ikke bare kan skrive hele den rigtige tekststreng. Men jeg håber, at vi er ved at nærme os en løsning :-)
Avatar billede xl-Enthusiast Ekspert
19. februar 2021 - 12:59 #12
Ja det er virkelig noget rod.

Hvad er din fulde tekststreng og hvad skal du have trukket ud?
Avatar billede store-morten Ekspert
19. februar 2021 - 13:05 #13
Der står nu #VÆRDI i cellen.

Måske fordi
Der mangler: - og/eller &
Der står andet end tal mellem - og &
Avatar billede xl-Enthusiast Ekspert
19. februar 2021 - 13:30 #14
Den slutter sådan her:
&coid=1156122417

Betyder det så, at når du i #9 skrev, at:

Vil der altid være et & efter tallet
- Ja

så er det ikke korrekt - eller hvad?
Avatar billede Sammy Juniormester
19. februar 2021 - 13:53 #15
Det sidste tal i tekststrengen (i det her tilfælde 1156122417) er ikke det, jeg skal bruge. Det var bare for at sige, at der var et tal mere, end det jeg skal bruge.

Det jeg skal bruge står altid imellem en bindestreg og &. Men det er der også andet i tekststrengen der gør. Så derfor skal der nok noget mere med, for at jeg kun får det, jeg skal bruge.

Det tal jeg skal bruge står altid imellem "service-" og "&utm". Og DET er der ikke andet der gør.

Så jeg prøvede at lave formlen sådan her: =--MIDT(A8;SØG("service-";A8)+1;SØG("&utm";A8)-SØG("service-";A8)-1)

Nu står der #VÆRDI
Avatar billede xl-Enthusiast Ekspert
19. februar 2021 - 14:01 #16
Hvis du ikke kan angive den originale tekststreng kan du så ikke bare ændre nogle bogstaver tiíl noget andet så du ikke afslører hemmeligheder. Det må da kunne lade sig gøre!
Avatar billede xl-Enthusiast Ekspert
19. februar 2021 - 14:12 #17
Hvis der altid står service- foran tallet så brug:

=--MID(A8;SEARCH("Service-";A8)+8;SEARCH("&utm";A8)-SEARCH("-";A8)-1)

men hvis der står et andet ord med flere eller færre bogstaver, så virker det ikke.
Avatar billede Sammy Juniormester
19. februar 2021 - 14:16 #18
Ok. Det prøver jeg her.

Så kunne den f. eks. se sådan her ud:

https://testside/puzzle?utm_source=excelservice&utm_medium=affiliate&utm_content=excelservice-9228&utm_campaign=excelservice&coid=1489248166

Det er i hvert fald det tætteste jeg kan komme uden at afsløre de firmaer, jeg skal skjule.
Avatar billede store-morten Ekspert
19. februar 2021 - 14:32 #19
Prøv at slette  -- efter  =
Avatar billede Sammy Juniormester
19. februar 2021 - 14:37 #20
Ok.

Så hvis der f. eks. står: xxservice- istedet for service-, og jeg retter service- til xxservice-. Hvad skal jeg så mere gøre for at det virker? Jeg har prøvet at rette +8 til +10. Det hjalp ikke.
Avatar billede Sammy Juniormester
19. februar 2021 - 14:46 #21
Hej Morten

Så skete der noget, da jeg slettede -- efter =

Men nu skriver den så 9228&utm_campaign=xxservice&c
Altså de næstkommende 25 tegn efter det ønskede.

Har du også et bud på at fjerne det sidste?
Avatar billede xl-Enthusiast Ekspert
19. februar 2021 - 14:47 #22
Hvis "service-" ændres til "xxservice-" skial formlen ikke ændres
Hvis "service-" ændres til "servicexx-" skial formlen ikke ændres til

=--MID(A8;SEARCH("Servicexx-";A8)+10;SEARCH("&utm";A8)-SEARCH("-";A8)-1)
Avatar billede xl-Enthusiast Ekspert
19. februar 2021 - 14:53 #23
Du skal ikke slette -- efter lighedstegnet medmindre du vil have det udtrukne som tekst og ikke som tal!
Avatar billede Sammy Juniormester
19. februar 2021 - 15:19 #24
Den skriver jo ellers tallet, som jeg skal bruge, når jeg sletter -- efter lighedstegnet. Men så skriver den bare også de næstkommende 25 cifre. Så den kan jo godt skrive tallet. Nu skal jeg bare finde ud af, hvordan jeg får den til KUN at skrive tallet.

Hvis jeg ændrer service til xxservice, uden at slette --, Så virker det slet ikke. Så står der #VÆRDI
Avatar billede xl-Enthusiast Ekspert
19. februar 2021 - 15:23 #25
Igen aner jeg ikke, hvad du gør, men et eller andet gør du forkert.

https://www.dropbox.com/scl/fi/ww9x4nj0h3mz82ftec85u/S-gTekst_2.xlsx?dl=0&rlkey=18w1sjdmi5if5axftgm5n1tg4
Avatar billede store-morten Ekspert
19. februar 2021 - 15:32 #26
Hvad giver disse to:

=SØG("-";A8)+1

=SØG("&";A8)+1
Avatar billede store-morten Ekspert
19. februar 2021 - 15:37 #27
Prøv:

=--MIDT(A8;SØG("-";A8)+1;(SØG("&";A8))-(SØG("-";A8)+1))
Avatar billede Sammy Juniormester
19. februar 2021 - 15:47 #28
Men det er jo det sidste tal, den finder der. Det var jo det første tal, jeg skulle bruge. I det her tilfælde: 9228

Og i øvrigt virker det stadig ikke, når jeg bruger formlen på den rigtige tekststreng.

Her har jeg så lavet en tekststreng, hvor jeg har ændret teksten i de firmanavne, jeg ikke vil lægge op her. Men med præcis samme antal bogstaver.

Og så har jeg brug for en formel der kun viser tallet 9228

https://qwertyuiopå.asdfghjkl.com/zxcv-puzzle?utm_source=xxservice&utm_medium=affiliate&utm_content=xxservice-9228&utm_campaign=xxservice&coid=1156122417

Til Morten: Jeg er ikke helt sikker på hvad =SØG("-";A8)+1 og =SØG("&";A8)+1 gør. Nogle forkerte tal i hvert fald. Jeg har også prøvet denne her, du kom med: =--MIDT(A8;SØG("-";A8)+1;(SØG("&";A8))-(SØG("-";A8)+1)) - Den virker heller ikke.
Avatar billede xl-Enthusiast Ekspert
19. februar 2021 - 15:54 #29
@store-morten

Hvordan adskiller din formel:

=--MIDT(A8;SØG("-";A8)+1;(SØG("&";A8))-(SØG("-";A8)+1))

sig fra det jeg skrev i #10

--MID(A8;SEARCH("-";A8)+1;SEARCH("&";A8)-SEARCH("-";A8)-1)

men i øvrigt så løser jo ingen af disse formler den problemstilling spørgeren senere har rejst, f. eks. med "servicexx-" flere tekster med efterstillet -
Avatar billede store-morten Ekspert
19. februar 2021 - 16:03 #30
Min fejl, vender tilbage når lastbilen er i garagen.
Avatar billede xl-Enthusiast Ekspert
19. februar 2021 - 16:24 #31
Avatar billede Sammy Juniormester
19. februar 2021 - 16:36 #32
Det virker stadig ikke her på den rigtige tekststreng.

Kan du prøve at bruge denne tekststreng:
https://qwertyuiopå.asdfghjkl.com/zxcv-puzzle?utm_source=xxservice&utm_medium=affiliate&utm_content=xxservice-9228&utm_campaign=xxservice&coid=1156122417

Og så finde frem til 9228 ?

Hvis du kan det, så må det jo også virke på den rigtige tekststreng.
Avatar billede xl-Enthusiast Ekspert
19. februar 2021 - 16:49 #33
Jeg kan ikke åbne den fil du linker til.
Avatar billede xl-Enthusiast Ekspert
19. februar 2021 - 16:51 #34
Beklager, det var ikke en fil.
Avatar billede xl-Enthusiast Ekspert
19. februar 2021 - 17:01 #35
Men utm går jo igen flere gange. Vil det altid være den fjerde udgave af utm?
Avatar billede store-morten Ekspert
19. februar 2021 - 17:04 #36
Også
- (bindestreg)
& (tegnet)
Optræder flere gange ;-)
Avatar billede Sammy Juniormester
19. februar 2021 - 17:21 #37
Ja utm, bindestreg og & tegnet optræder flere gange.
Det vil altid være mellem 3 og 4 utm.

Der er kun ét sted hvor der står et tal imellem xxservice- og &utm.
Og det er netop det tal jeg fisker efter. i denne nedenstående tekststreng (Jeg ved godt det bliver et link. Se bort fra det) er det tallet 9228, jeg skal bruge.

https://qwertyuiopå.asdfghjkl.com/zxcv-puzzle?utm_source=xxservice&utm_medium=affiliate&utm_content=xxservice-9228&utm_campaign=xxservice&coid=1156122417
Avatar billede store-morten Ekspert
19. februar 2021 - 17:25 #38
I A8:
https://qwertyuiopå.asdfghjkl.com/zxcv-puzzle?utm_source=xxservice&utm_medium=affiliate&utm_content=xxservice-9228&utm_campaign=xxservice&coid=1156122417

=MIDT(A8;SØG("-";A8;SØG("-";A8)+1)+1;(SØG("&";A8;SØG("&";A8;SØG("&";A8)+1)+1))-(SØG("-";A8;SØG("-";A8)+1)+1))
Avatar billede store-morten Ekspert
19. februar 2021 - 17:29 #39
Kræver at antal og placering af bindestreg og & er ens i alle poster.
Avatar billede Sammy Juniormester
19. februar 2021 - 17:42 #40
Den virker ihvertfald til den tekststreng jeg har givet jer. Så skal jeg lige rode lidt med den og få den til at virke i praksis. jeg vender lige tilbage. Det bliver nok i morgen. Løber tør for tid i dag nu. Tak for hjælpen begge 2, ind til videre.
Avatar billede store-morten Ekspert
19. februar 2021 - 18:07 #41
Velbekomme.

Formlen finder pladsen for første - tegn +1 =40
Med den findes pladsen for anden - tegn +1 =111
Så har du start placering

Så finder formlen placering for første & tegn +1 =68
Med den findes pladsen for anden & tegn +1 =88
Med den findes pladsen for tredje & tegn +1 =115
Så trækkes de fra hindanden 115-111=4 cifre

Så finder formlen midten, med start ved 111 og 4 cifre frem.

Tror jeg nok ;-)
Avatar billede Sammy Juniormester
19. februar 2021 - 18:47 #42
Det fungerer helt som det skal. Også i praksis.

Tak for forklaringen også. Den kan jeg nok lære noget af.

Og tak for nu :-)
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

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