Hjem Social Media Parsing Navne VBA Way - dummies

Parsing Navne VBA Way - dummies

Video: Combine First and Last Names - Excel 2024

Video: Combine First and Last Names - Excel 2024
Anonim

Har du nogensinde fået et Excel-regneark med navne, hvor de fulde navne er i ét celle? Din opgave er at bryde navne i fornavn, efternavn - en proces kendt som parsing. Du kan prøve at bruge en formel og / eller funktion til at hjælpe, eller du kan bruge Visual Basic for Applications (VBA) -koden.

En fælles tilgang er at finde mellemrummet mellem fornavn og efternavn og voila! - Du ved, hvor fornavnet slutter, og efternavnet starter.

Medmindre du har navne, der er mere komplekse i strukturen, såsom Dr. William Healer eller Zak H. Sneezer III.

Her er en typisk VBA-rutine, der ser gennem hvert navn, karakter for tegn, indtil det finder et mellemrum. Så placeres det, hvad der er til venstre for rummet i en kolonne, og hvad som helst til højre for rummet i kolonnen efter.

Gør Indtil ActiveCell = "thename = ActiveCell. Værdi For at se = 1 Til Len (thename) Hvis Mid (thename, looking, 1) =" "Så ActiveCell. Offset (0, 1) = Venstre 1) ActiveCell Offset (0, 2) = Mid (thename, looking + 1) Afslut til ende Hvis næste ActiveCell. Offset (1, 0). Aktiver loop

Denne rutine hjælper med at analysere navne med kun ét rum, som Harvey Wallbanger eller Tom Collins. Følgende tabel viser resultatet af at køre koden på navne med mere end et mellemrum:

Dr. William Healer Dr. < William Healer Zak H. Sneezer III
Zak H. Sneezer III Det er ikke et godt parsers forsøg. Det fungerede fint for at analysere Harvey Wallbanger og Tom Collins, men ikke så godt for de andre navne.

Her er en mere udviklet teknik, der giver bedre resultater. Husk at parsing navne ikke er perfekt, men det gør et bedre arbejde på denne måde.

Teknikken er at tælle hvor mange mellemrum der er i det fulde navn og så adskille navnet på et af rummene. Især hvis der er tre eller flere mellemrum, skal du bruge rummet to i fra højre som brudrummet; Ellers skal du bruge det højeste rum som brudrummet.

Denne proces køres i en VBA-subrutine, der kalder en funktion, mens du løber gennem navnene. Antallet af mellemrum bestemmes tidligt i hovedløkken, og funktionen returnerer den position, hvor brudrummet er.

Sub parse_names () Dim thename Som String Dim Space Som Integer Gør Indtil ActiveCell = "thename = ActiveCell. Værdi mellemrum = 0 For test = 1 Til Len (thename) Hvis Mid (thename, test, 1) =" "Så spaces = spaces + 1 End Hvis Next Hvis mellemrum> = 3 Then break_space_position = space_position ("", thename, spaces - 1) Else break_space_position = space_position ("", thename, spaces) Afslut Hvis Hvis mellemrum> 0 Then ActiveCell.Offset (0, 1) = Venstre (thename, break_space_position - 1) ActiveCell. Offset (0, 2) = Mid (thename, break_space_position + 1) Ellers 'dette er til når det fulde navn er et enkelt navn uden mellemrum ActiveCell. Offset (0, 1) = thename Afslut, hvis ActiveCell. Forskydning (1, 0). Aktiver Loop End Sub Funktion space_position (what_to_look_for As String, what_to_look_in As String, what_to_look_in As String, space_count As Integer) Som Integer Dim loop_counter Som integer space_position = 0 For loop_counter = 1 Til space_count space_position = InStr (loop_counter + space_position, what_to_look_in, what_to_look_for) Hvis space_position = 0 Afslut derefter til næste endefunktion

Følgende tabel viser, hvordan resultatet ser ud nu:

Dr. William Healer

Dr. William Healer Zak H. Sneezer III
Zak H. Sneezer III Navn parsing er lige så meget kunst som teknisk proces. I dette andet eksempel er alle for- og efternavne i de rigtige kolonner. Hvis et nyt langt navn med fem eller flere mellemrum blev introduceret, kan rutinen få parseringen forkert, og VBA-koden ville kræve mere betinget test, der blev sat i den. Men dette eksempel er nu på rette spor som en industriel styrke navne-parsing rutine.
Parsing Navne VBA Way - dummies

Valg af editor

Sådan indtastes aftaler i Outlook 2013 Kalender - dummies

Sådan indtastes aftaler i Outlook 2013 Kalender - dummies

Aftaler du har sat op til arbejde i Outlook 2013 Kalender kræver ofte, at du indeholder lidt mere information, end du ville have brug for til dine personlige aftaler. Når du vil give en aftale den fulde behandling, skal du bruge følgende metode:

Hvordan man indtaster kalenderaftaler fra Outlook. com - dummies

Hvordan man indtaster kalenderaftaler fra Outlook. com - dummies

De aftaler og møder, du sender i Outlook, er knyttet til Outlook. com, så fra enhver web-aktiveret enhed kan du se, hvor du skal være og med hvem. Nu ved du, hvornår du er tilgængelig til møder, frokoster og tilfældige tungevæsker. Hvis du vil have dine Outlook 2013-data og din Outlook. com data til synkronisering automatisk, ...

Sådan flagger du en kontakt i Outlook 2013 - dummies

Sådan flagger du en kontakt i Outlook 2013 - dummies

Nogle gange har du brug for Outlook 2013 for at minde dig om vigtig datoer eller opfølgningsaktiviteter. Du kan f.eks. Bruge flag, for at minde dig om at ringe til nogen næste uge. Den bedste måde at hjælpe dig med at huske på er at markere personens navn i listen Kontaktpersoner. En påmindelse vil dukke op i din kalender. Kontakterne er ikke ...

Valg af editor

LinkedIn Group Kategorier - dummies

LinkedIn Group Kategorier - dummies

Fordi der er mange grunde til at oprette en gruppe, giver LinkedIn dig muligheder for at kategorisere din gruppe for at give dig mest eksponering. LinkedIn har etableret følgende seks hovedkategorier af grupper: Alumni: Disse grupper er alumniforeninger skabt af skoler eller lærerinstitutioner som et middel til at holde kontakten med fortiden ...

LinkedIn: Sådan oprettes en eksportfil til eksportkontakter - dummier

LinkedIn: Sådan oprettes en eksportfil til eksportkontakter - dummier

Der kommer nok en tid du har brug for dine LinkedIn kontakter for at hjælpe dig på andre arenaer, hvis du vil lykkes i din jobsøgning. For det første skal du generere din eksporterede fil af kontakter fra LinkedIn. Det gør du ved at følge disse trin:

LinkedIn For Dummies Cheat Sheet - dummies

LinkedIn For Dummies Cheat Sheet - dummies

Tilmelding til LinkedIn betyder, at du er en del af det største online faglige netværk i verden. Se her for nyttige retningslinjer for brug af LinkedIn, især når du søger job. LinkedIn hjælper dig med at oprette og vedligeholde en online profil, du kan bruge til at opbygge et professionelt netværk.

Valg af editor

Windows Phone 7 Application Development For Dummies Cheat Sheet - dummies

Windows Phone 7 Application Development For Dummies Cheat Sheet - dummies

Hvis du har en god Ny ide til en app, der vil køre på Windows Phone 7, start med at downloade de gratis Windows Phone Developer Tools fra Microsofts websted. Processen tager et kig på, hvad du har på din pc, før det begynder at downloade - hvis du allerede har en bedre version ...

Hvorfor udvikle til Android? - dummies

Hvorfor udvikle til Android? - dummies

Det virkelige spørgsmål er, "Hvorfor ikke udvikle til Android? "Hvis du vil have din app tilgængelig for millioner af brugere over hele verden, eller hvis du vil offentliggøre apps, så snart du er færdig med at skrive og teste dem, eller hvis du kan lide at udvikle på en åben platform, har du dit svar. Men hvis du er ...

Arbejder med objektgrafer i storyboarding - dummies

Arbejder med objektgrafer i storyboarding - dummies

Du kan bruge storyboarding til at starte din iOS-applikationsudvikling i Xcode4. Når du opretter dit storyboard, opretter du en objektgraf, der derefter arkiveres, når du gemmer filen. Når du indlæser filen, er objektgrafen unarchived. Så hvad er en objekgraf? Her er det korte svar: Objektorienterede programmer er lavet ...