Excel Busca a última aparición do carácter en cadea (6 métodos)

  • Comparte Isto
Hugh West

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

Hugh West é un adestrador e analista de Excel altamente experimentado con máis de 10 anos de experiencia na industria. É Licenciado en Contabilidade e Finanzas e Máster en Administración de Empresas. Hugh ten unha paixón polo ensino e desenvolveu un enfoque docente único que é fácil de seguir e comprender. O seu coñecemento experto de Excel axudou a miles de estudantes e profesionais de todo o mundo a mellorar as súas habilidades e a destacar nas súas carreiras. A través do seu blog, Hugh comparte os seus coñecementos co mundo, ofrecendo titoriais de Excel gratuítos e formación en liña para axudar ás persoas e ás empresas a alcanzar todo o seu potencial.