Formula di Excel: estrai le ultime due parole dalla cella -

Sommario

Formula generica

=MID(A1,FIND("@",SUBSTITUTE(A1," ","@",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))-1))+1,100)

Sommario

Per estrarre le ultime due parole da una cella, puoi utilizzare una formula costruita con diverse funzioni di Excel, tra cui MID, FIND, SUBSTITUTE e LEN. Nell'esempio mostrato, la formula in C5 è:

=MID(B5,FIND("@",SUBSTITUTE(B5," ","@",LEN(B5)-LEN(SUBSTITUTE(B5," ",""))-1))+1,100)

Spiegazione

Fondamentalmente, questa formula utilizza la funzione MID per estrarre i caratteri a partire dal penultimo spazio. La funzione MID accetta 3 argomenti: il testo con cui lavorare, la posizione iniziale e il numero di caratteri da estrarre.

Il testo proviene dalla colonna B e il numero di caratteri può essere qualsiasi numero elevato che assicurerà l'estrazione delle ultime due parole. La sfida è determinare la posizione di partenza, che è subito dopo il penultimo spazio. Il lavoro intelligente viene svolto principalmente con la funzione SOSTITUISCI, che ha un argomento opzionale chiamato numero di istanza. Questa funzione viene utilizzata per sostituire il penultimo spazio nel testo con il carattere "@", che si trova quindi con la funzione TROVA.

Lavorando dall'interno verso l'esterno, lo snippet sottostante calcola quanti spazi ci sono nel totale del testo, da cui viene sottratto 1.

LEN(B5)-LEN(SUBSTITUTE(B5," ",""))-1

Nell'esempio mostrato, ci sono 5 spazi nel testo, quindi il codice sopra restituisce 4. Questo numero viene inserito nella funzione SOSTITUTO esterna come numero di istanza:

SUBSTITUTE(B5," ","@",4)

Ciò fa sì che SUBSTITUTE sostituisca il quarto carattere spazio con "@". La scelta di @ è arbitraria. Puoi usare qualsiasi carattere che non apparirà nel testo originale.

Successivamente, FIND individua il carattere "@" nel testo:

FIND("@","A stitch in time@saves nine")

Il risultato di TROVA è 17, a cui viene aggiunto 1 per ottenere 18. Questa è la posizione iniziale e va nella funzione MID come secondo argomento. Per semplicità, il numero di caratteri da estrarre è codificato come 100. Questo numero è arbitrario e può essere regolato per adattarsi alla situazione.

Estrai le ultime N parole dalla cella

Questa formula può essere generalizzata per estrarre le ultime N parole da una cella sostituendo 1 hardcoded nell'esempio con (N-1). Inoltre, se stai estraendo molte parole, potresti voler sostituire l'argomento hardcoded in MID, 100, con un numero maggiore. Per garantirti che il numero sia abbastanza grande, puoi semplicemente utilizzare la funzione LEN come segue:

=MID(B5,FIND("@",SUBSTITUTE(B5," ","@",LEN(B5)-LEN(SUBSTITUTE(B5," ",""))-(N-1)))+1,LEN(B5))

Articoli interessanti...