I en celle står navnet på en person.
Med hvilken formel, får jeg udskilt, kun efternavnet i en anden celle.
Det går fint at søge på " " og udtrække en tekststreng derfra , men når der
samtidig er mellemnavne og dermed flere mellemrummer , funger´ det ikke.
Formlen kan evt. "deles" over 2 celler.
Mvh
Hans
> Det går fint at søge på " " og udtrække en tekststreng derfra , men når der
> samtidig er mellemnavne og dermed flere mellemrummer , funger´ det ikke.
> Formlen kan evt. "deles" over 2 celler.
Hej Hans
Du skal bare søge på mellemrummet bagfra vhja. funktionen HØJRE og
tage tekststrengen mod venstre derfra.
MVH
Niels
Her er en formel jeg lavede for 3 år siden,
med den virker sikkert stadig :-)
Navnecellen må ikke indeholde tegnet "@".
Gør den det, må du bruge et andet tegn i formlen i stedet for.
I eksemplet er det cellen A1, der kommer under kærlig behandling.
=HØJRE(A1;LÆNGDE(A1)-SØG("@";UDSKIFT(A1;"
";"@";LÆNGDE(A1)-LÆNGDE(UDSKIFT(A1;" ";"")))))
Med venlig hilsen
LeoH
"Hans Wested" <wes...@email.dk> skrev i en meddelelse
news:9gb7g8$20so$1...@news.cybercity.dk...
Jeg har svært ved at se, hvordan det skal kunne gøres uden brug af VBA.
Kan du ikke vise os din løsning.
Med venlig hilsen
LeoH
"Niels" <rs...@ra.dk> skrev i en meddelelse
news:eb7cb955.01061...@posting.google.com...
--
Mvh
Denis Nissen
"Leo Heuser" <leo.h...@get2net.dk> skrev i en meddelelse news:9gc89m$sl$2...@sunsite.dk...
Nej, det skal den ikke!!
Jeg ved ikke, hvordan du er nået frem til
den konklusion, men jeg vil da bede dig komme
med et eksempel, der retfærdiggør en så bombastisk udtalelse.
Du kunne fx i A1 skrive
De@nis Nissen
og så køre formlen.
Resultatet vil være "nis Nissen" og ikke
det ønskede "Nissen".
Med venlig hilsen
Leo
"Denis Nissen" <deni...@post.tele.dk> skrev i en meddelelse
news:9gchtc$glc$1...@news.inet.tele.dk...
"Leo Heuser" <leo.h...@get2net.dk> skrev i en meddelelse news:9gcna3$al3$1...@sunsite.dk...
Det ser ud som om formlen er blevet delt på et "kedeligt" sted
i din nyhedslæser.
De to steder UDSKIFT(A1;" " forekommer, er der et mellemrum imellem
gåseøjnene " "
Din nyhedslæser har sikkert delt således:
=HØJRE(A1;LÆNGDE(A1)-SØG("@";UDSKIFT(A1;"
";"@";LÆNGDE(A1)-LÆNGDE(UDSKIFT(A1;" ";"")))))
så det er blevet til UDSKIFT(A1;"" , efter du har kopieret
formlen til cellen.
Funktionaliteten forklares nok bedst ved et eksempel:
I A1 findes navnet Finn Denis Nissen, 17 tegn i alt.
UDSKIFT(A1;" ";"") giver FinnDenisNissen (læg mærke til
at det er en "virtuel" streng. Den bliver ikke placeret i A1)
LÆNGDE(A1) er lig med 17 (antal tegn i A1)
LÆNGDE(UDSKIFT(A1;" ";"") er lig med 15
Forskellen mellem disse to 17-15 = 2 giver antal mellemrum
i A1-strengen, dvs at det sidste mellemrum i strengen er
mellemrum nummer 2.
UDSKIFT(A1;" ";"@";LÆNGDE(A1)-LÆNGDE(UDSKIFT(A1;" ";"")))
bliver altså til
UDSKIFT(A1;" ";"@";2) (udskift det 2. mellemrum med @)
hvilket giver strengen Finn Denis@Nissen
Vi er nu nået til
SØG("@";"Finn Denis@Nissen") og dette giver positionen for @, altså 11.
Til sidst får vi så:
HØJRE(A1;17-11) eller HØJRE(A1;6) eller "Nissen"
Som du kan se, er det ødelæggende, hvis tegnet @ findes i navnestrengen.
Det eneste sted, det kan stå, er i stedet for det sidste mellemrum; men har
man det altid stående dér, er det let at finde efternavnet med formlen
=HØJRE(A1;LÆNGDE(A1)-SØG("@";A1))
På den anden side set, er det jo ikke den mest almindelige måde at skrive
navne på :-)
Med venlig hilsen
Leo
PS
Hvis du har indsat, som du har beskrevet vil du ikke få
"Nissen" men " Nissen" :-)
"Denis Nissen" <deni...@post.tele.dk> skrev i en meddelelse
news:9gcvv3$1mm$1...@news.inet.tele.dk...
"Leo Heuser" <leo.h...@get2net.dk> skrev i en meddelelse news:9gd6bn$pgu$1...@sunsite.dk...
> KLIP
Det kan jeg godt forstå. Højre-funktionen fungerede ikke helt som jeg
huskede. Det kan dog lade sig gøre med f.eks. nedenstående funktion:
=MIDT(A1;MAKS(FIND(" ";A1;1);HVIS(ER.FEJL(FIND(" ";A1;FIND("
";A1;1)+1));0;FIND(" ";A1;FIND(" ";A1;1)+1)))+1;100)
Fulde navn står i A1. Denne funktion håndterer kun eet mellemnavn og
forudsætter at navnet er mindre end 100 tegn langt, men den kan
udvides efter behov.
Alternativt kunne man bruge en masse midt-funktioner og skrive navnet
bagfra: Jens Toft Hansen -> nesnah tfot snej og udsøge den del af
navnet der står før mellemrummet med en find-funktion og vende det om
igen.
MVH
Niels K
--
Mvh
Denis Nissen
"Denis Nissen" <deni...@post.tele.dk> skrev i en meddelelse news:9gd8oc$m9$1...@news.inet.tele.dk...
Det var ellers ærgerligt!
Fordelen ved min formel er, at den virker uanset hvor mange
fornavne, hver enkelt navn har. Du kan altså have et område,
hvor nogle navne har ét fornavn, andre har to og andre igen
måske tre. I alle situationer kan formlen benyttes uden at
der skal rettes i den.
Med venlig hilsen
LeoH
"Niels" <rs...@ra.dk> skrev i en meddelelse
news:eb7cb955.01061...@posting.google.com...