Avatar billede KenneyD71 Nybegynder
26. juni 2014 - 14:13 Der er 8 kommentarer og
1 løsning

Find fornavn i en kolonne; med mange varianser af fornavn og mellemnavn og efternavn

Jeg har i celle B2 et navn stående.
Jeg skal have leveret fornavnene (alle fornavne).
Nogle gange står der 2; 3 eller flere navne.

Jeg skal altså finde alle navn, der står til venstre for det sidste mellemrum i cellen.


What do do?
Avatar billede finb Ekspert
26. juni 2014 - 14:16 #1
vba:
prøv "split" eller:
lav en "find" i "strReverse",
hvor du søger efter " " mellemrum,
så har du fundet efternavnet,
og til sidst atter en "strReverse"
Avatar billede supertekst Ekspert
26. juni 2014 - 14:27 #2
Public Sub findEfternavn()
Dim tabel As Variant, EfterNavn As String, ForNavn As String
    tabel = Split(Range("B2"), " ")
    EfterNavn = tabel(UBound(tabel))
   
    ForNavn = Trim(Replace(Range("B2"), EfterNavn, ""))
   
End Sub
Avatar billede KenneyD71 Nybegynder
26. juni 2014 - 14:29 #3
Nej.
VBA er desværre ikke en mulighed.
Avatar billede lagunadk Novice
26. juni 2014 - 15:06 #4
Du gøre det med tekst til kolonner:

split ved hvert mellemrum og add ny kolonne for hver.

Så vil du få op til 3 kolonner med navne

Så kan du fange det sidste navn med en hvis formel:

=HVIS(C1>0;C1;HVIS(B1>0;B1;"Intet efternavn"))
Avatar billede KenneyD71 Nybegynder
26. juni 2014 - 15:21 #5
Problemet er, at antallet af navne varierer.
Nogle gange har jeg 2 navne, nogle gange har jeg 7 (ja, tro det eller lad være - jeg har en kunde med 7 navne).

Er der evt. en mulighed, hvor jeg fra tekststrengen i B2 fjerner efternavnet - når jeg har fundet det så jeg efterlader resten på en eller anden måde?
Avatar billede Dan Elgaard Ekspert
26. juni 2014 - 15:32 #6
Har du ikke næsten lige fået den i den anden tråd? :-)

=VENSTRE(A1;FIND(TEGN(22);UDSKIFT(A1;" ";TEGN(22);LÆNGDE(A1)-LÆNGDE(UDSKIFT(A1;" ";""))))-1)
Avatar billede KenneyD71 Nybegynder
26. juni 2014 - 15:55 #7
Jo. Tak skal du have.

Hvordan er det lige at "T" (Tegn 22) finder indpas i formlen?
Avatar billede Dan Elgaard Ekspert
26. juni 2014 - 17:54 #8
TEGN(22) er blot en midlertidig erstatning for mellemrum, for at kunne tælle antal mellemrum (finde det sidste mellemrum) - og for at være sikker på, at der ikke benyttes et tegn, der måske ellers kunne være i et navn, benytter vi et helt utænkeligt tegn, nemlig TEGN(22)
Avatar billede KenneyD71 Nybegynder
26. juni 2014 - 17:59 #9
Ach soo.
God kreativ tænkning.
Tak igen.
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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