Estrarre caratteri corrispondenti ad uno schema da una stringa

Fabio ha un foglio di lavoro che contiene circa 20.000 celle piene di dati testuali. All’interno di queste celle ha bisogno di estrarre uno schema specifico di testo. Lo schema è ##-##### dove ogni # è una cifra. Questo schema non appare in un punto prestabilito di ogni cella. Fabio si chiede se esista un modo per estrarre le informazioni desiderate.

Esistono diversi modi per affrontare questo problema e la soluzione corretta per le tue esigenze dipenderà dalle caratteristiche dei dati con cui stai lavorando. Se sai che l’unico posto nei tuoi dati in cui avrai un trattino è all’interno del tuo schema, puoi utilizzare la presenza del trattino utilizzando una formula come la seguente:

=STRINGA.ESTRAI(A1;TROVA("-";A1)-2;8)

La formula trova il trattino e quindi “estrae” i due caratteri a sinistra del trattino e i cinque che lo seguono. Questo ovviamente non funzionerà se ci sono trattini in altri punti del testo o se è possibile avere “schemi” che includano non cifre (come 12-34B32) e vuoi che siano esclusi. In tal caso avrai bisogno di una formula molto più complessa:

=SE(VAL.ERRORE(INT(STRINGA.ESTRAI(A1; TROVA("-"; A1; 1)-2; 2)) & INT(STRINGA.ESTRAI(A1; TROVA("-"; A1; 1)+1; 5))); ""; STRINGA.ESTRAI(A1; TROVA("-"; A1)-2; 8))

Questa include un componente di controllo degli errori che rileva se i caratteri appena prima del trattino e subito dopo il trattino contengono qualcosa di diverso da cifre. Se è così, non viene restituito nulla.

L’unica cosa che questi approcci basati su formule non fanno è gestire quelle situazioni in cui potrebbero esserci più occorrenze dello schema all’interno della stessa cella. In tal caso, una macro è l’approccio migliore. Quanto segue estrarrà i modelli validi e li posizionerà in un nuovo foglio di lavoro chiamato “Risultati”:

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

Tags: , , , , , , , , , , , , , ,

Ti è stato utile?