Formula di Excel: ottieni l'ultima parola -

Formula generica

=TRIM(RIGHT(SUBSTITUTE(text," ",REPT(" ",100)),100))

Sommario

Per ottenere l'ultima parola da una stringa di testo, puoi utilizzare una formula basata sulle funzioni TAGLIA, SOSTITUISCI, DESTRA e RIPETI. Nell'esempio mostrato, la formula in C6 è:

=TRIM(RIGHT(SUBSTITUTE(B6," ",REPT(" ",100)),100))

Che restituisce la parola "tempo".

Spiegazione

Questa formula è un esempio interessante di un approccio "forza bruta" che sfrutta il fatto che TRIM rimuoverà un numero qualsiasi di spazi iniziali.

Lavorando dall'interno verso l'esterno, utilizziamo la funzione SOSTITUISCI per trovare tutti gli spazi nel testo e sostituiamo ogni spazio con 100 spazi:

SUBSTITUTE(B6," ",REPT(" ",100))

Quindi, ad esempio, con la stringa di testo "uno due tre" il risultato sarà simile a questo:

one----------two----------three

Con trattini che rappresentano gli spazi per la leggibilità. Tieni presente che ci saranno 100 spazi tra ogni parola.

Successivamente, la funzione DESTRA estrae 100 caratteri, a partire da destra. Il risultato sarà simile a questo:

-------three

Infine, la funzione TRIM rimuove tutti gli spazi iniziali e restituisce l'ultima parola.

Nota: stiamo usando 100 arbitrariamente perché dovrebbe essere un numero abbastanza grande per gestire parole molto lunghe. Se hai qualche situazione strana con parole molto lunghe, aumenta questo numero se necessario.

Gestione della spaziatura incoerente

Se il testo con cui stai lavorando ha una spaziatura incoerente (cioè spazi extra tra le parole, spazi iniziali o finali extra, ecc.) Questa formula non funzionerà correttamente. Per gestire questa situazione, aggiungi una funzione TRIM extra all'interno della funzione sostitutiva in questo modo:

=TRIM(RIGHT(SUBSTITUTE(TRIM(B6)," ",REPT(" ",100)),100))

Questo normalizzerà tutti gli spazi prima che venga eseguita la logica principale.

Buoni collegamenti

Bella spiegazione su MrExcel.com di T. Valko (Biff)

Articoli interessanti...