Excel Trova l'ultima occorrenza di un carattere in una stringa (6 metodi)

  • Condividi Questo
Hugh West

In questo articolo, vedremo trovare il ultima occorrenza di un carattere in un stringa in Excel Il nostro campione di dati ha tre colonne : Nome della società , Codice del dipendente , e Ultimo evento . Codice del dipendente contiene il nome, l'età e il reparto di un dipendente.

Per la prima 4 troveremo la posizione della barra di avanti " / " per tutti i valori in Codice del dipendente Dopodiché, si emetterà il testo corde dopo l'ultima barra nell'ultimo file 2 metodi.

Scarica il quaderno di esercizi

Trova l'ultima occorrenza di un carattere in String.xlsm

6 modi in Excel per trovare l'ultima occorrenza di un carattere in una stringa

1. Utilizzo delle funzioni FIND & SUBSTITUTE in Excel per trovare la posizione dell'ultima occorrenza di un carattere in una stringa

Per il primo metodo, utilizzeremo il metodo TROVARE la funzione SOSTITUTIVO la funzione CHAR e la funzione LEN funzione per trovare il ultimo posizione della barra nel nostro stringa .

Passi:

  • Per prima cosa, digitare la seguente formula in cella D5 .
=FIND(CHAR(134), SUBSTITUTE(C5,"/", CHAR(134),(LEN(C5)-LEN(SUBSTITUTE(C5,"/",")))/LEN("/"))))

Ripartizione della formula

La nostra funzione principale è TROVARE Troveremo il CHAR(134) nella nostra stringa.

  • CHAR(134)
    • Uscita: † .
    • Dobbiamo impostare un carattere che non è presente nelle nostre stringhe. Lo abbiamo scelto perché è raro nelle stringhe. Se in qualche modo lo avete nelle vostre stringhe, cambiatelo con qualcosa che non è presente nelle vostre stringhe (ad esempio " @ ", " ~ ", ecc.).
  • SOSTITUTO(C5,"/", CHAR(134),(LEN(C5)-LEN(SOSTITUTO(C5,"/","")))/LEN("/")) -diventa,
  • SUBSTITUTE(C5,"/","†",(17-LEN("Mike32Marketing"))/1) -diventa,
  • SOSTITUZIONE("Mike/32/Marketing","/","†",(17-15)/1)
    • Uscita: "Mike/32†Marketing" .
  • Ora la nostra formula completa diventa,
  • =TROVA("†", "Mike/32†Marketing")
    • Uscita: 8 .
  • In secondo luogo, premere ENTRARE .

Vedremo il valore 8 Se contiamo manualmente dal lato sinistro, otterremo 8 come posizione per il barra in cella C5 .

  • Infine, utilizzare l'opzione Maniglia di riempimento per copiare la formula.

Quindi, abbiamo la posizione del ultima occorrenza di un carattere nel nostro stringa .

Per saperne di più: Funzione di Excel: TROVA vs RICERCA (un'analisi comparativa)

2. Applicazione delle funzioni MATCH & SEQUENCE in Excel per trovare la posizione dell'ultima occorrenza di un carattere in una stringa

Per il secondo metodo, utilizzeremo il metodo PARTITA la funzione SEQUENZA la funzione MID e la funzione LEN per trovare la posizione dell'elemento ultima occorrenza di un carattere nel stringa . Ricordate il SEQUENZA è disponibile solo su Excel 365 o Excel 2021 .

Passi:

  • Per prima cosa, digitare la seguente formula in cella D5 .
=MATCH(2,1/(MID(C5,SEQUENCE(LEN(C5)),1)="/"))

Ripartizione della formula

  • SEQUENZA(LEN(C5))
    • Output: {1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17} .
    • Il LEN è la misurazione della lunghezza di cella C5 . il SEQUENZA restituisce un elenco di numeri in sequenza in un array.
  • MATCH(2,1/(MID(C5,{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17},1)=”/”))
    • Uscita: 8 .
    • Il Partita è trovare l'ultimo 1 nella nostra formula, si trova nel posizione.

  • In secondo luogo, premere ENTRARE .

Utilizzando la formula, abbiamo trovato la posizione di barra in avanti come 8 nel nostro stringa .

  • Infine, utilizzare Maniglia di riempimento a Riempimento automatico la formula.

In conclusione, abbiamo applicato un'altra formula per trovare il valore di ultima posizione di un carattere nel corde .

Per saperne di più: Come trovare un carattere in una stringa in Excel (8 modi semplici)

3. Utilizzo di una formula di matrice in Excel per trovare la posizione dell'ultima occorrenza di un carattere nella stringa

Utilizzeremo l'opzione FILO la funzione INDICE la funzione PARTITA , il MID , e il LEN per creare una formula di matrice per trovare la posizione dell'elemento ultima occorrenza di un carattere in un stringa .

Passi:

  • Per prima cosa, digitate la formula qui sotto per cella D5 .
=MATCH(2,1/(MID(C5,ROW($C$1:INDEX(C:C,LEN(C5)),1)="/"))

Ripartizione della formula

La formula è simile al metodo 2 Stiamo usando il FILO e il INDICE per replicare l'output come la funzione SEQUENZA funzione.

  • RIGA($C$1:INDICE(C:C,LEN(C5)))
    • Output: {1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17} .
    • Si può notare che l'output è lo stesso. INDICE restituisce il valore di un intervallo. La funzione LEN conta la lunghezza della stringa da cella C5 Infine, il FILO restituisce la funzione cella valori da 1 a cella lunghezza di C5 Il resto della formula è uguale a quella del metodo 2 .

  • In secondo luogo, premere ENTRARE .

Abbiamo 8 La nostra formula ha funzionato perfettamente.

Nota: Stiamo usando il Excel 365 Se si utilizza una versione precedente, è necessario premere il pulsante CTRL + MAIUSCOLO + ENTRARE .

  • Infine, fare doppio clic o trascinare verso il basso il campo Maniglia di riempimento .

Ecco come dovrebbe apparire la fase finale.

Per saperne di più: Trovare la prima occorrenza di un valore in un intervallo in Excel (3 modi)

Letture simili

  • Come trovare il carattere * non come carattere jolly in Excel (2 metodi)
  • Come usare la formula di Excel per trovare il numero dell'ultima riga con i dati (2 modi)
  • Trova l'ultimo valore della colonna maggiore di zero in Excel (2 formule facili)
  • Come trovare i collegamenti in Excel
  • Trovare collegamenti esterni in Excel (6 metodi rapidi)

4. Funzione definita dall'utente per trovare la posizione dell'ultima occorrenza di un carattere nella stringa

In questo metodo, si utilizzerà un metodo personalizzato VBA per trovare l'ultima posizione di un elemento carattere in un stringa Senza ulteriori indugi, entriamo nel vivo dell'azione.

Passi:

  • Innanzitutto, premere ALT + F11 per visualizzare il VBA finestra.

È possibile scegliere Visual Basic dal Sviluppatore scheda per farlo anche voi.

  • In secondo luogo, da Inserire selezionare Modulo .

  • Terzo, copia e pasta il seguente codice.
 Funzione LOccurence(x1 Come Stringa, x2 Come Stringa) LOccurence = InStrRev(x1, x2) Fine Funzione 

Abbiamo creato una funzione personalizzata chiamata " LOccurence ". InStrRev è un VBA che restituisce la posizione finale di un oggetto carattere Inseriamo il nostro cella valore come x1 e il carattere specifico (nel nostro caso, si tratta di un carattere barra in avanti ) come x2 in questa funzione personalizzata.

  • Successivamente, chiudere la finestra VBA e passare alla finestra " Posizione VBA " foglio .
  • Digitare la seguente formula in cella D5 .
=LOccurence(C5,"/")

In questa funzione personalizzata, gli si dice di trovare la posizione dell'elemento ultima occorrenza di barra in avanti nel stringa da cella C5 .

  • Quindi, premere ENTRARE .

Abbiamo 8 come previsto, in quanto il l'ultima volta che si è verificato posizione del barra in avanti .

  • Infine, possiamo trascinare la formula verso il basso utilizzando il tasto Maniglia di riempimento .

Quindi, abbiamo applicato un'altra formula per trovare la posizione del punto di riferimento ultima occorrenza di un carattere .

Per saperne di più: Come trovare un carattere in una stringa da destra in Excel (4 metodi semplici)

5. Uso delle funzioni combinate in Excel per trovare l'ultima occorrenza di un carattere in una stringa

Finora abbiamo visto come trovare l'ultima posizione di un carattere. Ora useremo la funzione RICERCA la funzione DIRITTO la funzione SOSTITUTIVO , il LEN , il CHAR per mostrare la stringa dopo l'ultima occorrenza di un carattere. In termini più semplici, si otterrà l'output del reparto dei dipendenti dal file Colonna Codice dipendente .

Passi:

  • Per prima cosa, digitare la seguente formula in cella D5 .
=DESTRA(C5,LEN(C5)-RICERCA(CHAR(134),SUBSTITUTE(C5,"/",CHAR(134),LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))))

Ripartizione della formula

  • SOSTITUTO(C5,"/", CHAR(134), LEN(C5)-LEN(SOSTITUTO(C5,"/",""))) -diventa,
  • SUBSTITUTE(C5,"/",CHAR(134),2)
    • Uscita: "Mike/32†Marketing" .
    • Il SOSTITUTIVO sostituisce un valore con un altro valore. Nel nostro caso, sostituisce ogni valore barra in avanti con un nella prima porzione e con il vuoto nell'ultima porzione. Poi il LEN La funzione misura la lunghezza di questo valore. Ecco come abbiamo ottenuto il nostro valore.
  • RICERCA("†", "Mike/32†Marketing")
    • Uscita: 8 .
    • Il RICERCA è trovare il carattere speciale nell'output precedente. Di conseguenza, l'ha trovato in
  • Infine, la nostra formula si riduce a, DESTRA(C5,9)
    • Uscita: "Marketing .
    • Il DIRITTO restituisce il valore della cella fino a un certo numero di caratteri dal lato destro. Abbiamo trovato la posizione dell'ultimo carattere barra in avanti in La lunghezza di cella C5 è 17 , e 17 - 8 = 9 Quindi, abbiamo il 9 caratteri dal lato destro come uscita.

  • In secondo luogo, premere ENTRARE .

Abbiamo ottenuto il corde dopo l'ultimo barra in avanti .

  • Infine, utilizzare l'opzione Maniglia di riempimento a Riempimento automatico le formule in cella gamma D6:D10 .

Abbiamo quindi estratto il file corde dopo il ultima occorrenza di un carattere .

Per saperne di più: Come trovare se la cella contiene un testo specifico in Excel

6. Formula VBA personalizzata in Excel per trovare l'ultima occorrenza di un carattere in una stringa

Per l'ultimo metodo, utilizzeremo un metodo personalizzato VBA per estrarre la formula stringa dopo il barra in avanti .

Passi:

  • Innanzitutto, premere ALT + F11 per visualizzare il VBA finestra.

È possibile scegliere Visual Basic dal Sviluppatore scheda per farlo anche voi.

  • In secondo luogo, da Inserire seleziona Modulo come abbiamo fatto nel metodo 4 .
  • Terzo, copia e pasta il seguente codice.
 Function LastString(cRange As Range, cString As String) Dim cLength As Integer cLength = Len(cRange) For x = cLength To 1 Step -1 If Mid(cRange, x - 1, 1) = cString Then LastString = x Exit Function End If Next x End Function 

Creiamo una funzione personalizzata chiamata " Ultima stringa "Questa funzione restituisce la posizione iniziale del file corde dopo il ultima occorrenza di un carattere.

  • Successivamente, digitate la formula qui sotto per cella D5 .
=RIGHT(C5,LEN(C5)-LastString(C5,"/")+1)

Ripartizione della formula

  • LastString(C5,"/")
    • Uscita: 9 .
    • Qui si ottiene la posizione di partenza dell'oggetto stringa subito dopo il ultimo slash in avanti .
  • LEN(C5)
    • Uscita: 17 .
  • LEN(C5)-ultima stringa(C5,"/")+1
    • Uscita: 9.
    • Dobbiamo aggiungere 1 altrimenti otterremo il valore con il simbolo " M ".
  • La nostra formula si riduce a DESTRA(C5,9)
    • Uscita: " Marketing ".

  • Stampa ENTRARE .

Otterremo il valore " Marketing ".

  • Infine, Riempimento automatico la formula fino a cella C10 .

Abbiamo raggiunto il nostro obiettivo: la formula funziona come previsto.

Per saperne di più: Come trovare l'ultima riga con un valore specifico in Excel (6 metodi)

Sezione pratica

Abbiamo allegato dei set di dati pratici oltre a ciascun metodo nel file Excel Potete esercitarvi a migliorare questo compito.

Conclusione

Vi abbiamo mostrato 6 metodi in Excel per trovare il ultima occorrenza di un carattere in un stringa Se avete problemi in merito, non esitate a commentare qui sotto. Grazie per aver letto e continuate a eccellere!

Hugh West è un istruttore e analista di Excel di grande esperienza con oltre 10 anni di esperienza nel settore. Ha conseguito una laurea in Contabilità e Finanza e un Master in Economia Aziendale. Hugh ha una passione per l'insegnamento e ha sviluppato un approccio didattico unico che è facile da seguire e capire. La sua conoscenza approfondita di Excel ha aiutato migliaia di studenti e professionisti in tutto il mondo a migliorare le proprie competenze ed eccellere nella propria carriera. Attraverso il suo blog, Hugh condivide le sue conoscenze con il mondo, offrendo esercitazioni gratuite su Excel e formazione online per aiutare le persone e le aziende a raggiungere il loro pieno potenziale.