lettura facile

La funzione TESTO.PRECEDENTE su Excel

In questa lezione del corso Excel ti spiego come usare la funzione

=TESTO.PRECEDENTE(testo;delimitatore)

La funzione ha molti parametri ma i principali sono due

  • Il testo è una stringa da analizzare o l'indirizzo di una cella contenente un testo.
  • Il delimitatore è un carattere o una sequenza di caratteri usati per dividere in due la stringa.

La funzione restituisce la stringa fino al carattere delimitatore (escluso) eliminando tutto il resto.

Nota. La funzione TESTO.PRECEDENTE() è molto utile se vuoi spezzare una stringa in due parti. La funzione ha molti altri parametri oltre quelli che ti ho anticipato finora ma preferisco spiegarteli con degli esempi pratici.

Ti faccio un esempio pratico.

Digita questa stringa nella cella B2.

digita un testo nella cella B2 del foglio Excel

Inserisci la funzione =TESTO.PRECEDENTE(B2;"-") nella cella B4.

digita =TESTO.PRECEDENTE(B2;"-")

La funzione trova il carattere delimitatore "-" al terzo carattere della stringa "AB-CD-EF-GH" e restituisce il testo fino al carattere delimitatore "-" escluso.

Il risultato è la sottostringa "AB" nella cella B4.

il risultato è AB

Nota. Di default la funzione divide la stringa al primo carattere delimitatore (prima occorrenza). Se non vuoi considerare la prima occorrenza ma una successiva, devi indicare quella che ti inseressa nel terzo parametro della funzione. Ad esempio, digita =TESTO.PRECEDENTE(B2;"-";2) nella cella B4.
digita =TESTO.PRECEDENTE(B2;"-";2)
Ora la funzione considera la seconda occorrenza del carattere delimitatore "-" che, in questo caso, si presenta al quinto carattere della stringa "AB-CD-EF-GH". La funzione restituisce il testo a sinistra del delimitatore. Quindi, il risultato nella cella B4 è la sottostringa "AB-CD".
il risultato è AB-CD
Se indichi un numero negativo nel terzo parametro, la funzione cerca nella stringa le occorrenze del carattere delimitatore da destra verso sinistra. Ad esempio, digita =TESTO.PRECEDENTE(B2;"-";-1) nella cella B4.
digita la funzione =TESTO.PRECEDENTE(B2;"-";-1)
La funzione cerca la prima occorrenza del carattere delimitatore "-" a partire dall'ultimo carattere della stringa. La prima occorrenza del carattere "-" da destra verso sinistra si trova nel nono carattere della stringa "AB-CD-EF-GH". La funzione restituisce la sottostringa a sinistra del delimitatore. In questo caso il risultato nella cella B4 è la sottostringa "AB-CD-EF".
il risultato è AB-CD-EF

Ti faccio un altro esempio.

Digita la funzione =TESTO.PRECEDENTE(B2;"CD")

digita =TESTO.PRECEDENTE(B2;"CD")

In questo caso il delimitatore è la sequenza di caratteri "CD"

La funzione trova il primo delimitatore nel terzo carattere della stringa "AB-CD-EF-GH" e restituisce il testo a sinistra del delimitatore.

Quindi, visualizza la sottostringa "AB" nella cella B4.

il risultato è la sottostringa AB

Adesso, digita la funzione =TESTO.PRECEDENTE(B2;"cd") usando le lettere minuscole.

digita =TESTO.PRECEDENTE(B2;"cd")

La funzione =TESTO.PRECEDENTE() è case sensitive, ossia distingue tra le lettere maiuscole e minuscole.

Pertanto, la funzione non trova la sequenza "cd" (in minuscolo) nella stringa "AB-CD-EF-GH".

La funzione restituisce un messaggio di errore #N/D nella cella B4.

il risultato è un messaggio di errore

Nota. Per fare in modo che la funzione =TESTO.PRECEDENTE() non distingua tra lettere maiuscole e minuscole, indica 1 nel quarto parametro della funzione. Ad esempio digita =TESTO.PRECEDENTE(B2;"cd";1;1) nella cella B2.
digita =TESTO.PRECEDENTE(B2;"cd";1;1)
Ora la funzione non distingue più tra le lettere minuscole "cd" e maiuscole "CD". Quindi, trova la prima occorrenza del delimitatore "cd" al terzo carattere della stringa "AB-CD-EF-GH" restituendo la sottostringa "AB" nella cella B4.
il risultato è AB

Ti faccio un ultimo esempio.

Digita la funzione =TESTO.PRECEDENTE(B2;"xyz") nella cella B4.

digita =TESTO.PRECEDENTE(B2;"xyz")

La funzione non trova il delimitatore "xyz" nella stringa "AB-CD-EF-GH".

Quindi restituisce l'errore #N/D nella cella B4.

il risultato è un messaggio di errore

E' possibile evitare di visualizzare il messaggio di errore?

Una prima soluzione è inserire 1 al quinto parametro della funzione .

In questi casi Excel aggiunge automaticamente un delimitatore alla fine della stringa, restituendo la stringa iniziale anziché un messaggio di errore.

Ad esempio, digita =TESTO.PRECEDENTE(B2;"xyz";1;0;1) nella cella B4.

digita  =TESTO.PRECEDENTE(B2;"xyz";1;0;1)

In questo caso Excel aggiunge automaticamente il delimitatore alla fine del testo "AB-CD-EF-GHxyz"

Quindi, la funzione trova il delimitatore alla fine del testo restituendo l'intera stringa "AB-CD-EF-GH" nella cella B4.

il risultato è AB-CD-EF-GH

In alternativa, puoi personalizzare un messaggio di errore nel sesto parametro della funzione.

Ad esempio, digita =TESTO.PRECEDENTE(B2;"xyz";1;0;0;"non esiste") nella cella B4

digita =TESTO.PRECEDENTE(B2;"xyz";1;0;0;"non esiste")

La funzione non trova il delimitatore "xyz" nella stringa "AB-CD-EF-GH".

In questo caso, la funzione visualizza nella cella B4 il messaggio personalizzato "non esiste".

la funzione visualizza il messaggio personalizzato

A questo punto dovresti avere una panoramica abbastanza completa sulla funzione =TESTO.PRECEDENTE() di Excel.

 




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin