TESTO.SUCCESSIVO e TESTO.PRECEDENTE restituiscono un testo prima o dopo un determinato carattere o delimitatore
Le nuove Funzioni TESTO.SUCCESSIVO e TESTO.PRECEDENTE restituiscono il testo che si trova prima o dopo un determinato carattere, stringa o delimitatore.
Con gli aggiornamenti Excel 365
del luglio 2022, vengono
proposte due nuove Funzioni TESTO.SUCCESSIVO e TESTO.PRECEDENTE
utili per dividere delle stringhe di testo caratterizzate dalla presenza di
specifici caratteri delimitatori.
Per effettuare queste operazioni con
le precedenti versioni di Excel
era necessario utilizzare una
serie di Funzioni basate sulla
individuazione del carattere
delimitatore (TROVA e RICERCA) e la successiva
separazione dei testi con le Funzioni
SINISTRA, DESTRA e STRINGA.ESTRAI.
NOTA: le due nuove Funzioni TESTO.SUCCESSIVO e TESTO.PRECEDENTE nella versioni Excel Inside del gennaio 2022, erano state temporaneamente chiamate TESTO.DOPO e TESTO.PRIMA
Come dividere un testo in Excel con le Funzioni TESTO.SUCCESSIVO e TESTO.PRECEDENTE
La sintassi della Funzione TESTO.SUCCESSIVO
La Funzione TESTO.SUCCESSIVO
restituisce il testo che si trova dopo
un definito delimitatore o stringa.
in data giugno 2023 gli
argomenti della sintassi che
Excel fornisce risultano in
parte descritti in italiano e in
parte in inglese
La sintassi della Funzione è la
seguente:
=TESTO.SUCCESSIVO(testo;delimitatore;[instance_num];[match_mode];[match_end];[if_not_found])
Nella quale:
testo
è la stringa o il
riferimento di cella sulla quale
effettuare la ricerca.
delimitatore, è
il carattere o la stringa da
ricercare e successivamente alla
quale si vuole estrarre un testo.
[instance_num] (argomento facoltativo) l'istanza
altro non è che la richiesta della posizione (1,
2, 3...) del delimitatore dopo
il quale estrarre il testo. Il valore predefinito è 1.
Un eventuale numero negativo avvia la ricerca dalla fine del testo originale.
[match_mode] (argomento
facoltativo)
permette di distinguere tra
l'eventuale maiuscole o minuscole del delimitatore.
Per impostazione predefinita è
impostato il valore 0 che
effettua un distinguo tra maiuscole e minuscole.
Il valore 1 non fa distinzione.
[match_end] (argomento
facoltativo) tratta la fine
del testo come delimitatore. Per
impostazione predefinita è
disabilitato "0".
Lo 0 (impostazione predefinita) definisce che la funzione
ricercherà il delimitatore esattamente come
viene specificato nella
funzione.
In pratica, se sia match.end sia il parametro instance_num sono entrambi impostati
con il valore 1, se il delimitatore non viene trovato
Excel restituirà una stringa
vuota anzichè restituire il
codice di errore #N/D.
[if_not_found]
(argomento facoltativo) permette
di definire il valore da restituire
qualora il delimitatore non
fosse presente nel testo sorgente. Se
l'argomento non viene impostato, viene restituito
il codice di errore #N/D.
La sintassi della Funzione TESTO.PRECEDENTE
La Funzione TESTO.PRECEDENTE Restituisce il testo che si trova dopo un definito delimitatore o stringa.
in data giugno 2023 gli
argomenti della sintassi che
Excel fornisce risultano in
parte descritti in italiano e in
parte in inglese
La sintassi della Funzione è la
seguente:
=TESTO.PRECEDENTE(testo;delimitatore;[instance_num];[match_mode];[match_end];[if_not_found])
Nella quale:
testo
è la stringa o il
riferimento di cella sulla quale
effettuare la ricerca.
delimitatore, è
il carattere o la stringa da
ricercare e precedentemente alla
quale si vuole estrarre un testo.
[instance_num] (argomento facoltativo) l'istanza
altro non è che la richiesta della posizione (1,
2, 3...) del delimitatore dopo
il quale estrarre il testo. Il valore predefinito è 1.
Un eventuale numero negativo avvia la ricerca dalla fine del testo originale.
[match_mode]
(argomento facoltativo)
permette di distinguere tra
l'eventuale maiuscole o minuscole del delimitatore.
Per impostazione predefinita è impostato il valore 0 che
effettua un distinguo tra maiuscole e minuscole.
Il valore 1 non fa distinzione.
[match_end] (argomento facoltativo) tratta la
fine del testo come delimitatore. Per impostazione predefinita è
disabilitato "0".
0 (impostazione
predefinita) questa impostazione
definisce che la funzione corrisponderà al delimitatore esattamente come
viene specificato nella formula.
In pratica, se sia match.end sia il parametro instance_num
sono entrambi impostati impostati come 1, se il delimitatore non viene trovato, la funzione restituirà il testo originale.
[if_not_found]
(argomento facoltativo) permette
di definire il valore da restituire
qualora il delimitatore non
fosse presente nel testo sorgente. Se
l'argomento non viene impostato, viene restituito
il codice di errore #N/D.
Esempi di applicazione delle Funzioni TESTO.PRECEDENTE e TESTO.SUCCESSIVO
Primo esempio. Estrarre un testo prima e dopo uno specifico carattere
Si vuole dividere su due colonne il nome e cognome delle persone (vedi
successiva immagine).
Questa operazione è risolvibile con le "storiche" Funzioni TROVA e
RICERCA.
Tali funzioni restituiscono la posizione del carattere barra spaziatrice
all'interno della stringa.
Una volta definita la posizione della barra spaziatrice si utilizzano le Funzioni SINISTRA e STRINGA.ESTRAI
per estrarre i caratteri precedenti e successivi rispetto la barra
spaziatrice.
Il calcolo ora risulta molto più semplice con le nuove Funzione
TESTO.PRECEDENTE e TESTO.SUCCESSIVO
TESTO.PRECEDENTE(B2;" ") viene direttamente restituito il valore che
precede la barra spaziatrice.
Viceversa, con la Funzione TESTO.SUCCESSIVO(B4;"
") viene restituito il valore successivo alla barra spaziatrice.
OSSERVAZIONE. L'eventuale presenza di nomi o cognomi
composti renderebbe molto complessa la divisone del testo. Tale problema potrebbe essere risolvibile utilizzando l'argomento
facoltativo
[instance_num]
che permetterebbe di usare quale punto di separazione il secondo il
terzo o i successivi delimitatori (barra spaziatrice)
presente nella stringa.
Nell'ambito di una colonna che prevede la presenza di nomi e cognomi (a volte
composti) non è possibile individuare un criterio
logico, nel quale la funzione di Excel a volte debba valutare il primo,
il secondo o i successivi delimitatori.
Secondo esempio. Se il delimitatore non viene trovato, restituire il testo originale
Questa impostazione è utile se si vuole ottenere il testo originale presente in una cella nel caso in cui la Funzione TESTO.SUCCESSIVO non riesca a individuare il delimitatore. Vedi immagine sottostante.
nella colonna B (dell'esempio proposto) la descrizione della taglia non sempre è associata alla parola "Taglia", come risultato si vuole ottenere nella colonna C la restituzione delle sole voci; small, Medium, large etc.
La Funzione inserita nella cella C2 è la seguente =TESTO.SUCCESSIVO(B2;": ";-1;;1)
Nella quale B2 rappresenta la cella contenente il testo da separare;
":
" la stringa da cercare nella cella B2;
instance_num è impostato come -1 per cercare la stringa
di origine da destra a sinistra;
match_end è impostato come 1 per trattare la fine della stringa come delimitatore.
Attenzione per passare a compilare l'ultimo argomento viene saltato match mode inserendo due volte ";"
[Valter Borsato: pubblicato 24/01/2023, revisione: 11/08/2024]
Indice Generale Argomenti: EXCEL