Táboa de contidos
Neste artigo, imos buscar a última aparición dun carácter nunha cadea en Excel . O noso conxunto de datos de mostra ten tres columnas : Nome da empresa , Código de empregado e Última aparición . O Código de empregado contén o nome, a idade e o departamento dun empregado.
Para os primeiros métodos 4 , atoparemos a posición da barra inclinada. " / " para todos os valores de Código de empregado . Despois diso, sairemos cadeas despois da última barra inclinada nos últimos métodos 2 .
Descargar Practice Workbook
Buscar a última aparición de carácter en String.xlsm
6 xeitos en Excel de atopar a última aparición de carácter en String
1. Usando FIND & Funcións de substitución en Excel para atopar a posición da última aparición do carácter na cadea
Para o primeiro método, imos usar a función BUSCAR , a función SUBSTITUIR , a función CHAR e a función LEN para buscar a última posición da barra inclinada na nosa cadea .
Pasos:
- En primeiro lugar, escriba a seguinte fórmula na cela D5 .
=FIND(CHAR(134),SUBSTITUTE(C5,"/",CHAR(134),(LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))/LEN("/")))
Desglose da fórmula
A nosa función principal é BUSCAR . Imos atopar o valor CHAR(134) na nosa cadea.
- CHAR(134)
- Saída:† .
- Necesitamos establecer un carácter que non estea presente nas nosas cadeas. Escollemos porque é raro en cordas. Se dalgún xeito tes isto nas túas cadeas, cámbiao por calquera cousa que non estea nas túas cadeas (por exemplo, “ @ ”, “ ~ ”, etc.).
- SUBSTITUTE(C5,”/”,CHAR(134),(LEN(C5)-LEN(SUBSTITUTE(C5,”/”,””)))/LEN(“/ ”)) -> pasa a ser,
- SUBSTITUTE(C5,”/”,”†”,(17-LEN(“Mike32Marketing”))/1) -> pasa a ser,
- SUBSTITUTE(“Mike/32/Marketing”,”/”,”†”,(17-15)/1)
- Saída : “Mike/32†Marketing” .
- Agora a nosa fórmula completa pasa a ser,
- =FIND(“†”,”Mike/32 †Márketing”)
- Saída: 8 .
- En segundo lugar, prema ENTER .
Veremos o valor 8 . Se contamos manualmente dende o lado esquerdo, obteremos 8 como posición da barra diagonal na cela C5 .
- Finalmente, use o Recheo de datos para copiar a fórmula.
Así, temos a posición do último aparición dun carácter na nosa cadea .
Ler máis: Función de Excel: FIND vs SEARCH (Unha análise comparativa)
2. Aplicando MATCH & Funcións de SECUENCIA en Excel para atopar a posición da última aparición do carácter na cadea
Para o segundo método, imos usar a función MATCH , a función SEQUENCE , o MID función e a función LEN para atopar a posición da última aparición dun carácter na cadea . Lembra que a función SECUENCIA só está dispoñible en Excel 365 ou Excel 2021 .
Pasos:
- Primeiro, escriba a seguinte fórmula na cela D5 .
=MATCH(2,1/(MID(C5,SEQUENCE(LEN(C5)),1)="/"))
Desglose da fórmula
- SECUENCIA(LEN(C5))
- Saída: {1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17} .
- O <1 A función>LEN mide a lonxitude da celda C5 . A función SEQUENCE devolve unha lista de números secuencialmente nunha matriz.
- MATCH(2,1/(MID(C5,{1;2; 3;4;5;6;7;8;9;10;11;12;13;14;15;16;17},1)="/"))
- Saída: 8 .
- A función Coincidir está a atopar o último valor 1 na nosa fórmula. Está na 8ª posición.
- En segundo lugar, preme ENTER .
Utilizando a fórmula, atopamos a posición de barra diagonal como 8 na nosa cadea .
- Finalmente, use Recheo de recheo para Enchemento automático da fórmula.
En conclusión, aplicamos outra fórmula para atopar a última posición dun carácter nas cadeas .
Ler máis: Como atopar un carácter en String Excel (8 xeitos sinxelos)
3. Utilizando unha fórmula matricial en Excel para atopar a posición deÚltima aparición de carácter na cadea
Imos usar a función ROW , a función INDEX , a MATCH , a MID e as funcións LEN para crear unha fórmula matricial para atopar a posición da última aparición dun carácter nunha cadea .
Pasos:
- Primeiro, escriba a fórmula desde abaixo na cela D5 .
=MATCH(2,1/(MID(C5,ROW($C$1:INDEX(C:C,LEN(C5))),1)="/"))
Desglose da fórmula
A fórmula é semellante ao método 2 . Estamos a usar a función ROW e INDEX para replicar a saída como a función SEQUENCE .
- ROW ($C$1:INDEX(C:C,LEN(C5)))
- Saída: {1;2;3;4;5;6;7;8;9; 10;11;12;13;14;15;16;17} .
- Podemos ver que a saída é a mesma. A función INDEX devolve o valor dun intervalo. A función LEN está contando a lonxitude da cadea da cela C5 . Finalmente, a función ROW está devolvendo os valores de celda desde 1 ata a lonxitude da celda de C5 . O resto da fórmula é o mesmo que o método 2 .
- En segundo lugar, prema ENTER .
Temos 8 como o valor esperado. A nosa fórmula funcionou perfectamente.
Nota: Estamos a usar a versión Excel 365 . Se estás a usar unha versión anterior, terás que premer CTRL + MAIÚS + ENTER .
- Por último, dobre -prema ou arrastre cara abaixo o Recheo de recheo .
Así debería ser o paso final.
Ler máis: Atopa a primeira aparición dun valor nun intervalo en Excel (3 xeitos)
Lecturas similares
- Como atopar * Carácter non como comodín en Excel (2 métodos)
- Como usar a fórmula de Excel para atopar o último número de fila con Datos (2 xeitos)
- Atopa o último valor na columna maior que cero en Excel (2 fórmulas sinxelas)
- Como atopar ligazóns en Excel
- Buscar ligazóns externas en Excel (6 métodos rápidos)
4. Función definida polo usuario para atopar a posición da última aparición do carácter na cadea
Neste método, usaremos unha fórmula VBA personalizada para atopar a última posición dun carácter nunha cadea . Sen máis, imos á acción.
Pasos:
- Primeiro, preme ALT + F11 para abrir a xanela VBA .
Podes escoller Visual Basic na pestana Desenvolvedor para facelo tamén.
- En segundo lugar, desde Inserir >>> seleccione Módulo .
- En terceiro lugar, copia e pega o seguinte código .
2522
Creamos unha función personalizada chamada “ LOccurence ”. A InStrRev é unha función VBA que devolve a posición final dun carácter . Introduciremos o noso valor celda como x1 e o carácter específico (no noso caso, é unha barra diagonal ) como x2 nesta función personalizada.
- Despois diso, pecha a xanela VBA e vai á folla Posición VBA .
- Escriba a seguinte fórmula na cela D5 .
=LOccurence(C5,"/")
Nesta función personalizada, dicímoslle para atopar a posición da última aparición de barra inclinada na cadea da cela C5 .
- Entón, preme ENTER .
Temos 8 como se esperaba como o último ocorreu a posición da barra inclinada .
- Finalmente, podemos arrastrar a fórmula cara abaixo usando o Manija de recheo .
Así, aplicamos outra fórmula para atopar a posición da última aparición dun carácter .
Ler máis: Como buscar un carácter na cadea desde a dereita en Excel (4 métodos sinxelos)
5. Usando Funcións combinadas en Excel para atopar a última aparición de C haracter en String
Ata isto, vimos como atopar a última posición dun personaxe. Agora imos usar a función BUSCAR , a función RIGHT , SUBSTITUTE , LEN , CHAR funcións para mostrar a cadea despois da última aparición dun carácter. En termos máis sinxelos, sairemos o departamento dos empregados do Código de empregadocolumna .
Pasos:
- Primeiro, escriba a seguinte fórmula na cela D5 .
=RIGHT(C5,LEN(C5)-SEARCH(CHAR(134),SUBSTITUTE(C5,"/",CHAR(134),LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))))
Desglose da fórmula
- SUBSTITUCIÓN(C5,”/”,CHAR(134),LEN(C5)-LEN(SUBSTITUCIÓN(C5,”/”,””))) -> pasa a ser,
- SUBSTITUTE(C5,”/”,CHAR(134),2)
- Saída: “Mike/32†Marketing” .
- A función SUBSTITUTE substitúe un valor por outro. No noso caso, está a substituír cada barra diagonal por un † na primeira parte e por espazo en branco na última parte. A continuación, a función LEN mide a lonxitude diso. Así é como conseguimos o noso valor.
- BUSCAR(“†”,”Mike/32†Marketing”)
- Saída: 8 .
- A función BUSCAR está a atopar o carácter especial na nosa saída anterior. En consecuencia, atopouno en 8th
- Finalmente, a nosa fórmula redúcese a DEREITA(C5,9)
- Saída: “Marketing” .
- A función DEREITA devolve o valor da cela ata un determinado número de caracteres desde o lado dereito. Atopamos a posición da última barra diagonal en 8a A lonxitude da cela C5 é 17 e 17 – 8 = 9 . Polo tanto, temos os 9 caracteres do lado dereito como saída.
- En segundo lugar, preme ENTER .
Conseguimos as cadeas despois doúltimo barra diagonal .
- Finalmente, use o Recheo para Encher automaticamente as fórmulas na cela intervalo D6:D10 .
Así, extraemos as cadeas despois da última aparición dun carácter .
Ler máis: Como buscar se a cela contén texto específico en Excel
6. Fórmula VBA personalizada en Excel para atopar a última aparición do carácter na cadea
Para o último método, usaremos unha fórmula VBA personalizada para extrae a cadea despois da barra diagonal .
Pasos:
- Primeiro, preme ALT + F11 para abrir a xanela VBA .
Podes escoller Visual Basic desde Desenvolvedor para facelo tamén.
- En segundo lugar, desde Inserir >>> seleccione Módulo como fixemos no método 4 .
- En terceiro lugar, copie e pegue o seguinte código.
1390
Estamos creando unha función personalizada chamada “ LastString ”. Esta función devolverá a posición inicial das cadeas despois da última aparición dun carácter.
- Despois diso, escriba a fórmula desde abaixo na cela D5 .
=RIGHT(C5,LEN(C5)-LastString(C5,"/")+1)
Desglose da fórmula
- LastString(C5,”/”)
- Saída: 9 .
- Aquí temos a posición inicial da cadea inmediatamente despois do última barra diagonal .
- LEN(C5)
- Saída: 17 .
- LEN(C5)-LastString(C5,”/”)+1
- Saída: 9.
- Debemos engadir 1 senón obteremos valor co “ M ”.
- A nosa fórmula reducirase a DEREITA(C5,9)
- Saída: " Márketing ".
- Preme ENTER .
Obteremos o valor " Marketing ".
- Finalmente, Enchemento automático a fórmula ata cela C10 .
Conseguimos o noso obxectivo. A fórmula funciona como se pretende.
Ler máis: Como atopar a última fila cun valor específico en Excel (6 métodos)
Sección de prácticas
Anexamos conxuntos de datos de prácticas ademais de cada método no ficheiro Excel . Podes practicar mellorando nesta tarefa.
Conclusión
Mostramosche 6 métodos en Excel para atopar a última aparición dun carácter nunha cadea . Se tes algún problema con estes, non dubides en comentar a continuación. Grazas por ler, e segue destacando!