Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Udskille tekst af celle

113 views
Skip to first unread message

Hans Wested

unread,
Jun 14, 2001, 4:40:03 PM6/14/01
to
Hej alle , - anvender Excel 2000

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


Niels

unread,
Jun 15, 2001, 1:57:13 AM6/15/01
to
"Hans Wested" <wes...@email.dk> wrote in message news:<9gb7g8$20so$1...@news.cybercity.dk>...

> 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

Leo Heuser

unread,
Jun 15, 2001, 1:59:05 AM6/15/01
to
Hans

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...

Leo Heuser

unread,
Jun 15, 2001, 2:08:16 AM6/15/01
to
Niels

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...

Denis Nissen

unread,
Jun 15, 2001, 4:45:21 AM6/15/01
to
Hej Leo
Navnecellen skal da netop indholde "@" !!
@ kan udskiftes med andet tegn + - * / osv. men både i formlen og A1

--
Mvh
Denis Nissen

"Leo Heuser" <leo.h...@get2net.dk> skrev i en meddelelse news:9gc89m$sl$2...@sunsite.dk...

Leo Heuser

unread,
Jun 15, 2001, 6:14:54 AM6/15/01
to
Hej Denis

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...

Denis Nissen

unread,
Jun 15, 2001, 8:41:37 AM6/15/01
to
Hej Leo
Når jeg i A1 skriver Denis Nisssen får jeg #VÆRDI! i den celle der indeholder din formel,
derfor forsøgte jeg med "@" mellem navnene Denis @ Nissen; og fik så "Nissen"
Med ikke bombastisk hilsen :-) Denis
PS. Hvad udfører "@" i formlen?


"Leo Heuser" <leo.h...@get2net.dk> skrev i en meddelelse news:9gcna3$al3$1...@sunsite.dk...

Leo Heuser

unread,
Jun 15, 2001, 10:31:19 AM6/15/01
to
Hej igen

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...

Denis Nissen

unread,
Jun 15, 2001, 11:15:16 AM6/15/01
to
Hej igen igen
Du har som sædvanlig ret.Det var mellemrummet!!
Ærbødisk Denis

"Leo Heuser" <leo.h...@get2net.dk> skrev i en meddelelse news:9gd6bn$pgu$1...@sunsite.dk...

> KLIP


Niels

unread,
Jun 18, 2001, 2:53:13 AM6/18/01
to
"Leo Heuser" <leo.h...@get2net.dk> wrote in message news:<9gc8qn$2tv$1...@sunsite.dk>...

> Niels
>
> 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.
>
Hej Leo

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

Denis Nissen

unread,
Jun 18, 2001, 3:27:25 AM6/18/01
to
Hej
Tak til leo for en fin forklaring.
Hvordan undgår men at formlen bliver delt på et "kedeligt" sted og at falde i den fælde igen?
Kan men lave et tegn for mellemrum, eller skal man ænder opsættelsen af sin nyhedslæser ?


--
Mvh
Denis Nissen
"Denis Nissen" <deni...@post.tele.dk> skrev i en meddelelse news:9gd8oc$m9$1...@news.inet.tele.dk...

Leo Heuser

unread,
Jun 19, 2001, 2:24:48 PM6/19/01
to
Hej Niels,

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...

0 new messages