Innholdsfortegnelse
I denne artikkelen skal vi finne den siste forekomsten av et tegn i en streng i Excel . Eksempeldatasettet vårt har tre kolonner : Bedriftsnavn , Ansattkode og Siste forekomst . Ansattkode inneholder navnet, alderen og avdelingen til en ansatt.
For de første 4 -metodene finner vi posisjonen til skråstreken « / » i for alle verdiene i Ansattkode . Etter det skal vi sende ut strenger etter den siste skråstreken i de siste 2 -metodene.
Last ned øvelsesarbeidsbok
Finn siste forekomst av tegn i String.xlsm
6 måter i Excel for å finne siste forekomst av tegn i String
1. Bruk FIND & ERSTATT-funksjoner i Excel for å finne plasseringen av siste forekomst av tegn i streng
For den første metoden skal vi bruke funksjonen FINN , funksjonen SKIFT , CHAR -funksjonen og LEN -funksjonen for å finne siste -posisjonen til skråstreken i strengen vår .
Trinn:
- Skriv først inn følgende formel i celle D5 .
=FIND(CHAR(134),SUBSTITUTE(C5,"/",CHAR(134),(LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))/LEN("/")))
Formeloversikt
Vår hovedfunksjon er FINN . Vi skal finne CHAR(134) -verdien i strengen vår.
- CHAR(134)
- Produksjon:† .
- Vi må sette et tegn som ikke er til stede i strengene våre. Vi har valgt den fordi den er sjelden i strenger. Hvis du på en eller annen måte har dette i strengene dine, endre det til noe som ikke er i strengene dine (for eksempel « @ », « ~ » osv.).
- SUBSTITUTE(C5,"/",CHAR(134),(LEN(C5)-LEN(ERSTATT(C5,"/","")))/LEN("/ ”)) -> blir,
- SUBSTITUTE(C5,”/”,”†”,(17-LEN(“Mike32Marketing”))/1) -> blir,
- SUBSTITUTE(“Mike/32/Marketing”,,”/”,”†”,(17-15)/1)
- Output : «Mike/32†Markedsføring» .
- Nå blir vår fulle formel,
- =FINN(“†”,”Mike/32 †Markedsføring”)
- Utgang: 8 .
- Trykk deretter ENTER .
Vi ser verdien 8 . Hvis vi teller manuelt fra venstre side, får vi 8 som posisjon for skråstreken i celle C5 .
- Til slutt bruker du Fyllhåndtaket for å kopiere formelen ned.
Dermed har vi posisjonen til den siste forekomst av et tegn i -strengen vår .
Les mer: Excel-funksjon: FINN vs SEARCH (en sammenlignende analyse)
2. Bruk MATCH & SEQUENCE-funksjoner i Excel for å finne plasseringen av siste forekomst av tegn i streng
For den andre metoden skal vi bruke MATCH -funksjonen, SEQUENCE -funksjonen , MIDDEN funksjonen, og LEN -funksjonen for å finne posisjonen til siste forekomst av et tegn i strengen . Husk at SEKVENS -funksjonen kun er tilgjengelig på Excel 365 eller Excel 2021 .
Trinn:
- Først skriver du inn følgende formel i celle D5 .
=MATCH(2,1/(MID(C5,SEQUENCE(LEN(C5)),1)="/"))
Formeloversikt
- SEKVENS(LEN(C5))
- Utgang: {1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17} .
- The LEN -funksjonen måler lengden på celle C5 . SEKVENS -funksjonen returnerer en liste med tall sekvensielt i en matrise.
- MATCH(2,1/(MID(C5,{1;2; 3;4;5;6;7;8;9;10;11;12;13;14;15;16;17},1)=”/”))
- Utdata: 8 .
- Samsvar -funksjonen finner den siste 1 -verdien i formelen vår. Den er i 8. posisjon.
- Trykk deretter ENTER .
Ved å bruke formelen har vi funnet plasseringen til foroverskråstrek som 8 i strengen vår.
- Til slutt, bruk Fyllhåndtak til Autofyll formelen.
Til avslutning, vi har brukt en annen formel for å finne den siste posisjonen til et tegn i strengene .
Les mer: Hvordan finne tegn i streng Excel (8 enkle måter)
3. Bruke en matriseformel i Excel for å finne posisjonen tilSiste forekomst av tegn i streng
Vi skal bruke RAD -funksjonen, INDEKS -funksjonen, MATCH , MID , og LEN -funksjonene for å lage en matriseformel for å finne posisjonen til siste forekomst av et tegn i en streng .
Trinn:
- Først skriver du inn formelen fra under til celle D5 .
=MATCH(2,1/(MID(C5,ROW($C$1:INDEX(C:C,LEN(C5))),1)="/"))
Formeloversikt
Formelen er lik metode 2 . Vi bruker funksjonen RAD og INDEKS for å replikere utdataene som funksjonen SEKVENS .
- RAD ($C$1:INDEX(C:C,LEN(C5)))
- Utgang: {1;2;3;4;5;6;7;8;9; 10;11;12;13;14;15;16;17} .
- Vi kan se at utgangen er den samme. Funksjonen INDEKS returnerer verdien til et område. LEN -funksjonen teller lengden på strengen fra celle C5 . Til slutt returnerer RAD -funksjonen celle -verdiene fra 1 til celle -lengden på C5 . Resten av formelen er den samme som metode 2 .
- Trykk deretter på ENTER .
Vi har 8 som forventet verdi. Formelen vår fungerte feilfritt.
Merk: Vi bruker Excel 365 -versjonen. Hvis du bruker en eldre versjon, må du trykke CTRL + SHIFT + ENTER .
- Til slutt dobbel -klikk eller dra ned Fyllhåndtaket .
Slik skal det siste trinnet se ut.
Les mer: Finn første forekomst av en verdi i et område i Excel (3 måter)
Lignende avlesninger
- Hvordan finne * Tegn ikke som jokertegn i Excel (2 metoder)
- Hvordan bruke Excel-formel for å finne siste radnummer med Data (2 måter)
- Finn siste verdi i kolonne større enn null i Excel (2 enkle formler)
- Hvordan finne koblinger i Excel
- Finn eksterne lenker i Excel (6 raske metoder)
4. Brukerdefinert funksjon for å finne plasseringen av siste forekomst av tegn i streng
I denne metoden vil vi bruke en egendefinert VBA -formel for å finne den siste posisjonen til et tegn i en streng . Uten videre, la oss hoppe inn i handlingen.
Trinn:
- Trykk først ALT + F11 for å få frem VBA vinduet.
Du kan velge Visual Basic fra Utvikler -fanen for å gjøre det også.
- For det andre, Fra Sett inn >>> velg Modul .
- For det tredje, kopier og lim inn følgende kode .
6832
Vi har laget en egendefinert funksjon kalt " LOccurence ". InStrRev er en VBA -funksjon som returnerer sluttposisjonen til et tegn . Vi legger inn celle verdien som x1 og det spesifikke tegnet (i vårt tilfelle er det en foroverskråstrek ) som x2 i denne egendefinerte funksjonen.
- Deretter lukker du VBA -vinduet og går til « Posisjon VBA » arket .
- Skriv inn følgende formel i celle D5 .
=LOccurence(C5,"/")
I denne egendefinerte funksjonen forteller vi det for å finne posisjonen til siste forekomst av foroverskråstrek i strengen fra celle C5 .
- Trykk deretter ENTER .
Vi har 8 som forventet som den siste oppstod posisjonen til foroverskråstreken .
- Til slutt kan vi dra formelen ned ved å bruke Fyllhåndtaket .
Derfor har vi brukt enda en formel for å finne posisjonen til siste forekomst av et tegn .
Les mer: Hvordan finne tegn i streng fra høyre i Excel (4 enkle metoder)
5. Bruke Kombinerte funksjoner i Excel for å finne siste forekomst av C haracter in String
Opp til dette har vi sett hvordan man finner den siste posisjonen til en karakter. Nå skal vi bruke SØK -funksjonen, HØYRE -funksjonen, SUBSTITUTE , LEN , CHAR funksjoner for å vise strengen etter siste forekomst av et tegn. Forenklet sett vil vi skrive ut avdelingen til de ansatte fra medarbeiderkodenkolonne .
Trinn:
- Skriv først inn følgende formel i celle D5 .
=RIGHT(C5,LEN(C5)-SEARCH(CHAR(134),SUBSTITUTE(C5,"/",CHAR(134),LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))))
Formeloversikt
- SUBSTITUTE(C5,"/",CHAR(134),LEN(C5)-LEN(ERSTATT(C5,"/",""))) -> blir,
- SUBSTITUTE(C5,"/",CHAR(134),2)
- Utdata: "Mike/32†Markedsføring" .
- Funksjonen SUBSTITUTE erstatter en verdi med en annen verdi. I vårt tilfelle er det å erstatte hver foroverskråstrek med en † i den første delen og med blank i den siste delen. Deretter måler LEN -funksjonen lengden på den. Det er slik vi har fått verdien vår.
- SØK(“†”,”Mike/32†Markedsføring”)
- Utdata: 8 .
- SØK -funksjonen finner spesialtegnet i vår forrige utdata. Følgelig fant den den i 8.
- Til slutt reduseres formelen vår til HØYRE(C5,9)
- Utdata: «Markedsføring» .
- HØYRE -funksjonen returnerer celleverdien opp til et visst antall tegn fra høyre side. Vi har funnet posisjonen til den siste foroverskråstreken i 8. Lengden på celle C5 er 17 , og 17 – 8 = 9 . Derfor har vi 9 tegnene fra høyre side som utdata.
- Trykk deretter ENTER .
Vi har fått strengene ettersiste foroverskråstrek .
- Til slutt bruker du Fyllhåndtaket til å Autofyll formlene inn i celle område D6:D10 .
Dermed har vi hentet ut strengene etter den siste forekomsten av et tegn .
Les mer: Slik finner du om cellen inneholder spesifikk tekst i Excel
6. Egendefinert VBA-formel i Excel for å finne siste forekomst av tegn i streng
For den siste metoden bruker vi en tilpasset VBA -formel for å trekk ut strengen etter skråstreken .
Trinn:
- Trykk først ALT + F11 for å få frem VBA -vinduet.
Du kan velge Visual Basic fra 1>Utvikler -fanen for å gjøre det også.
- For det andre, Fra Sett inn >>> velg Modul som vi gjorde i metode 4 .
- For det tredje kopier og lim inn følgende kode.
6372
Vi lager en egendefinert funksjon kalt " LastString ". Denne funksjonen vil returnere startposisjonen til strengene etter den siste forekomsten av et tegn.
- Deretter skriver du inn formelen nedenfra til celle D5 .
=RIGHT(C5,LEN(C5)-LastString(C5,"/")+1)
Formeloversikt
- LastString(C5,”/”)
- Utdata: 9 .
- Her får vi startposisjonen til strengen umiddelbart etter siste skråstrek forover .
- LEN(C5)
- Utgang: 17 .
- LEN(C5)-LastString(C5,”/”)+1
- Utdata: 9.
- Vi må legge til 1 ellers får vi verdi med « M ».
- Formelen vår vil reduseres til HØYRE(C5,9)
- Utdata: « Markedsføring “.
- Trykk ENTER .
Vi får verdien « Markedsføring ».
- Til slutt Autofyll formelen opp til celle C10 .
Vi har oppnådd vår mål. Formelen fungerer etter hensikten.
Les mer: Hvordan finne siste rad med en bestemt verdi i Excel (6 metoder)
øvingsseksjonen
Vi har lagt ved praksisdatasett i tillegg til hver metode i Excel -filen. Du kan øve på å bli bedre på denne oppgaven.
Konklusjon
Vi har vist deg 6 metoder i Excel for å finne den siste forekomsten av et tegn i en streng . Hvis du har noen problemer angående disse, kommenter gjerne nedenfor. Takk for at du leser, og fortsett å utmerke deg!