Dividere ed estrarre stringhe di testo da una cella di Excel
Dividere o estrarre parte di una stringa di testo da una cella di un foglio di calcolo può essere utile per organizzare dei dati importati da altri applicativi (un documento RTF, un documento di Word, una tabella di Access) in Office Excel. La procedura da seguire è abbastanza semplice e prevede l’utilizzo di alcune funzioni appartenenti alla categoria TESTO e l’utilizzo del comando INCOLLA SPECIALE di Office Excel. Vediamo come operare con un semplice esempio.
Supponiamo di avere importato dei questionari a Risposta Multipla in un foglio di Excel e di voler dividere i dati ponendoli in due celle differenti: utilizzando i dati proposti in figura, possiamo procedere inserendo in una colonna (colonna B) il numero del quesito (1400, 1401, …) e le lettere identificative delle opzioni (A, B, C), mentre nella seconda colonna (colonna C) i quesiti e le possibili risposte.
Funzioni di testo DESTRA e SINISTRA
Per estrarre la parte iniziale o finale di una stringa di testo si utilizzano, rispettivamente, le funzioni SINISTRA e DESTRA appartenenti alla categoria TESTO. Nel nostro caso, poiché ci interessa estrarre la parte iniziale del testo inserito nella colonna A, utilizzeremo la funzione SINISTRA; posizioniamoci, quindi, nella cella B1 e selezioniamo tale funzione dall’elenco del pulsante TESTO della barra multifunzione FORMULE.
La funzione SINISTRA (così come la funzione DESTRA) è composta da due argomenti ed ha la seguente sintassi:
=SINISTRA(Testo;Num_caratt)
Il primo argomento (ovvero TESTO) indica il testo che dovrà essere preso in considerazione da Excel: esso normalmente è costituito da un riferimento ad un’altra cella del foglio di calcolo (nel nostro esempio, la cella A1). Il secondo argomento, ovvero NUM_CARATT, indica il numero di caratteri da estrarre da TESTO (nel nostro caso, inseriremo 4 se intendiamo estrarre solo l’ID della domanda, oppure 5 se intendiamo estrarre anche il punto posto dopo il numero identificativo del quesito.
Ora che conosciamo la sintassi della funzione possiamo inserirne una simile direttamente da tastiera nella cella B2. Poiché ci interessa estrarre solo i primi due caratteri della cella A2 scriveremo la seguente funzione
=SINISTRA(A2;2)
Successivamente sarà sufficiente trascinare verso il basso il quadratino di riempimento della cella (posto in basso a destra) fino alla cella A4.
Poiché la cella B1 contiene una formula diversa da quelle contenute nelle celle B2:B4 (il secondo argomento della funzione SINISTRA nel primo caso è 4 mentre negli altri è 2), ma le funzioni sono ripetute ad intervalli regolari, possiamo copiare verso il basso l’intero intervallo B1:B4. Ancora una volta, selezioniamo l’intervallo ed utilizziamo il quadratino di riempimento trascinandolo verso il basso. Da notare che se il questionario è composto da più di 9999 domande, dovremo modificare, a partire dalla 10000 l’argomento NUM_CARATT della funzione (portandolo da 4 a 5).
Funzione di testo STRINGA.ESTRAI
Per estrarre una stringa di testo a partire da una posizione specificata occorre utilizzare la funzione STRINGA.ESTRAI, appartenente sempre alla categoria TESTO. La funzione, composta da tre argomenti, ha la seguente sintassi:
=STRINGA.ESTRAI(testo;inizio;num_caratt)
Il primo argomento (TESTO) è simile a quello presente nella funzione SINISTRA, ovvero indica la stringa o il riferimento alla cella che contiene la stringa di testo. Il secondo argomento, ovvero INIZIO, indica il primo carattere da estrarre. Infine, l’argomento NUM_CARATT indica il numero complessivo dei caratteri da estrarre.
Posizioniamoci nella cella C1 ed inseriamo i parametri per la funzione STRINGA.ESTRAI aiutandoci con la finestra ARGOMENTI FUNZIONE. Il primo argomento (TESTO) dovrà fare riferimento alla cella A1 contenente la stringa completa della domanda. L’argomento INIZIO, nel nostro esempio, dovrà contenere il valore 7 che corrisponde alla lettera Q della parola Qual. Per l’ultimo argomento, ovvero NUM_CARATT, possiamo utilizzare il valore 255 (o anche uno superiore, se il questionario presenta delle domande o risposte molto articolate): da notare che se la lunghezza della stringa è inferiore al numero di caratteri inserito nella funzione, l’estrazione termina con la stringa (quindi, nella cella non verranno inseriti spazi vuoti).
Familiarizziamo con la funzione STRINGA.ESTRAI inserendola manualmente nella cella C2. La funzione dovrà avere la seguente sintassi:
=STRINGA.ESTRAI(A2;4;255)
Da notare che il secondo argomento della funzione, ovvero INIZIO, dovrà contenere nel nostro caso il valore 4 che corrisponde alla lettera P di PARIGI. Trasciniamo, infine la formula fino alla cella C4; infine, come abbiamo fatto in precedenza con riferimento alla colonna B, selezioniamo l’intervallo C1:C4 e trasciniamolo verso il basso fino all’ultima domanda del questionario.
Rimuovere il riferimento alle funzioni di testo con la procedura Incolla Speciale / Valori
Il nostro lavoro è quasi pronto. Occorre ora trasformare le funzioni inserite in semplice testo in maniera da eliminare le formule dal foglio di calcolo. Selezioniamo l’intervallo B1:C8, utilizziamo il comando COPIA, quindi il comando INCOLLA SPECIALE (VALORI); quest’ultimo lo possiamo trovare sia nel menu contestuale, sia all’interno dell’elenco a discesa del pulsante INCOLLA posto sulla barra multifunzione HOME.
Ora che non abbiamo più funzioni che fanno riferimento alla colonna A, possiamo eliminarla dal foglio di calcolo e completare il nostro lavoro.