Operazioni sulle stringhe di testo Stampa
Scritto da Staff Rio   
Sabato 28 Marzo 2009 22:39
a cura di Giovanna Arcadu, Paolo Ardizzoni, Ignazio Putignano

 

In questo articolo descriveremo le formule da applicare alle seguenti operazioni sulle stringhe di testo:

  1. Contare il numero di occorrenze di una stringa di testo in un intervallo di celle. 
  2. Contare il numero di occorrenze di un carattere in una cella.
  3. Contare il numero di occorrenze di un carattere in un intervallo di celle.
  4. Contare il numero di parole (o stringhe di testo) separate da un carattere in una cella.
  5. Contare il numero di parole (o stringhe di testo) separate da un carattere in un intervallo di celle continuo.
  6. Contare il numero di parole (o stringhe di testo) separate da un carattere in un intervallo di celle discontinuo.
  7. Estrarre l'ultima parola da una stringa di testo.
  8. Estrarre la prima parola da una stringa di testo.
  9. Estrarre l'ennesima parola da una stringa di testo.

 

 

 Analizziamo i singoli casi.

  1. Contare il numero di occorrenze di una stringa di testo in un intervallo di celle
    Formula:
    =SOMMA(LUNGHEZZA(range)-LUNGHEZZA(SOSTITUISCI(range,"Text","")))/ LUNGHEZZA("Text")
    dove range è l'intervallo di celle in questione e "Text" è la stringa di testo che si desidera contare.
    Nota: la formula va immessa in forma matriciale, ovvero, dopo l'immissione, va confermata premendo la combinazione di tasti CTRL+MAIUSC+INVIO.
    Essa fa distinzione fra maiuscole e minuscole.
    La formula, somma le differenze di lunghezza fra le stringhe d'origine e le stesse stringhe dopo la sostituzione della stringa cercata con una stringa nulla, infine divide per la lunghezza della stringa cercata. Infatti, poiché SOMMA() restituisce il numero totale dei caratteri sostituiti, in quanto ” di lunghezza pari a quella del testo sostituito, va divisa per il numero di caratteri della stringa cercata.
    Questa prima formula può essere applicata anche ai casi 2 e 3.

    Esempio 1: contare il numero di occorrenze di una stringa di testo in un intervallo di celle.
    Digitare quanto segue nel Foglio di lavoro:
    A1: Frutta
    A2: mela mela
    A3: arancia
    A4: mela arancia
    A5: uva
    A6: aranciauva
    A7: uvamelamela
    A8: =SOMMA(LUNGHEZZA(A2:A7)-LUNGHEZZA(SOSTITUISCI(A2:A7;"mela";"")))/ LUNGHEZZA("mela")
    Il risultato nella cella A8 è 5, poiché il testo "mela" appare cinque volte nell'intervallo di celle.


     

  2. Contare il numero di occorrenze di un singolo carattere in una cella.
    Formula:
    =LUNGHEZZA(cella)-LUNGHEZZA(SOSTITUISCI(cella;"a";""))
    dove cella è l'indirizzo della cella che contiene la stringa in cui contare la ricorrenza del carattere cercato (nell'esempio la lettera "a").
    Nota: la formula NON va immessa in forma matriciale.
    La formula fa distinzione fra maiuscole e minuscole.
    Esempio 2: contare il numero di occorrenze di un carattere in una cella
    Utilizzando gli stessi dati dell'esempio 1, si supponga di voler contare il numero di volte che il carattere "m" ricorre nella cella A7.
    Digitare la seguente formula nella cella A9:
    A9: =LUNGHEZZA(A7)-LUNGHEZZA(SOSTITUISCI(A7;"m";""))
    Il risultato nella cella A9 è 2, poiché il carattere "m" ricorre 2 volte nella cella A7.


     

  3. Contare il numero di occorrenze di un singolo carattere in un intervallo.
    Se si desidera effettuare la ricerca di un singolo carattere in un intervallo di celle, la formula precedente va implementata con:
    =SOMMA(LUNGHEZZA(range)-LUNGHEZZA(SOSTITUISCI(range,"a","")))
    dove range è l'intervallo di celle in cui contare il carattere che si desidera (nell'esempio il carattere "a").
    Nota: la formula va immessa in forma matriciale, ovvero premendo la combinazione di tasti CTRL+MAIUSC+INVIO.
    La formula fa distinzione fra maiuscole e minuscole.
    Esempio 3: contare il numero di occorrenze di un carattere in un intervallo di celle.
    Utilizzando gli stessi dati dell'esempio 1, si supponga di voler contare il numero di occorrenze del carattere "m" nell'intervallo A2:A7.
    Digitare la seguente formula nella cella A10:
    A10: =SOMMA(LUNGHEZZA(A2:A7)-LUNGHEZZA(SOSTITUISCI(A2:A7;"m";"")))
    Poiché il carattere "m" appare cinque volte in A2:A7, il valore della cella A10 è 5.

     

  4. Contare il numero di parole separate da un carattere o da uno spazio in una cella.
    Formula:
    =SE(LUNGHEZZA(ANNULLA.SPAZI(cella))=0;0;LUNGHEZZA(annulla.spazi(cella))-LUNGHEZZA(SOSTITUISCI(cella;char;""))+1)
    dove cella è l'indirizzo della cella che contiene la stringa e char è il carattere che separa le parole.
    Nota: la formula NON va immessa in forma di matrice.
    La formula NON fa distinzione fra maiuscole e minuscole.
    Esempio 4: contare il numero di parole separate da uno spazio in una cella.
    Digitare quanto segue in un foglio di lavoro:
    A1: Sopra la panca la capra canta
    A2:=SE(LUNGHEZZA(ANNULLA.SPAZI(A1))=0;0;LUNGHEZZA(ANNULLA.SPAZI(A1))-LUNGHEZZA(SOSTITUISCI(A1;" ";""))+1)
    Il risultato nella cella A2 è 6 poiché la stringa contiene 6 parole separate da spazi.
    Nota: se le parole fossero separate da più spazi o se iniziassero o terminassero con uno spazio non sarebbe rilevante. Infatti, la funzione ANNULLA.SPAZI() rimuove gli spazi in eccesso all'inizio e alla fine della stringa nonché all'interno di questa. All'interno però non rimuove gli spazi singoli.


     

  5. Contare il numero di parole separate da un carattere o da uno spazio in un intervallo di celle continuo.
    Formula:
    =SOMMA(LUNGHEZZA(ANNULLA.SPAZI(range))-LUNGHEZZA(SOSTITUISCI(range;char;"")))+SOMMA(1*(LUNGHEZZA(ANNULLA.SPAZI(range))>0))
    dove range è l'intervallo continuo di celle e char è il carattere che separa le parole.
    Nota: è necessario inserire la formula in forma matriciale con CTRL+MAIUSC+INVIO.
    La formula NON fa distinzione fra maiuscole e minuscole.
    Esempio 5: contare il numero di parole separate da uno spazio in un intervallo di celle continuo.
    Con riferimento ai dati dell'esempio 1, digitare in A11:
    A11:=SOMMA(LUNGHEZZA(ANNULLA.SPAZI(A2:A7))-LUNGHEZZA(SOSTITUISCI(A2:A7;" ";"")))+ SOMMA(1*(LUNGHEZZA(ANNULLA.SPAZI(A2:A7))>0))
    Il risultato nella cella A11 è 8 poiché l'intervallo contiene 8 parole separate da spazi.
    Nota: se le parole fossero separate da più spazi o se iniziassero o terminassero con uno spazio non sarebbe rilevante. Infatti, la funzione ANNULLA.SPAZI() rimuove gli spazi in eccesso all'inizio e alla fine della stringa nonché all'interno di questa. All'interno però non rimuove gli spazi singoli.

     

     

  6. Contare il numero di parole separate da un carattere o da uno spazio in un intervallo di celle discontinuo. Nota: in questo caso la stringa contenuta nelle singole celle non deve contenere spazi all'inizio e alla fine.
    Formula:
    =SE(LUNGHEZZA(ANNULLA.SPAZI(cella1&cella2&cellan))=0;0;LUNGHEZZA(ANNULLA.SPAZI(cella1&cella2&cellan))-LUNGHEZZA(SOSTITUISCI(cella1&cella2&cellan;char;""))+n°celle)
    dove cella1&cella2&cellan è l'intervallo di celle, discontinuo, in cui effettuare la ricerca, char è il carattere che separa le parole e n°celle è il numero delle celle interessate dal conteggio.
    Nota: la formula NON va inserita in forma matriciale.
    La formula NON fa distinzione fra maiuscole e minuscole.
    Esempio 6: contare il numero di parole separate da uno spazio in un intervallo di celle discontinuo.
    Tornando all'esempio n° 1 digitare in A12:
    A12:=SE(LUNGHEZZA(ANNULLA.SPAZI(A2&A4&A6&A7))=0;0;LUNGHEZZA (ANNULLA.SPAZI(A2&A4&A6&A7))-LUNGHEZZA(SOSTITUISCI(A2&A4&A6&A7 ;" ";""))+4)
    Il risultato nella cella A12 è 7 in quanto le celle contengono 7 parole separate da spazi.


     

  7. Estrarre l'ultima parola di una stringa di testo (stringa contenente più di una parola).
    Formula:
    =DESTRA(cella;LUNGHEZZA(cella)-RICERCA(CODICE.CARATT(254);SOSTITUISCI(cella;;CODICE.CARATT(254);LUNGHEZZA(cella)-LUNGHEZZA(SOSTITUISCI(cella;char;""))))) dove cella è l'indirizzo della cella che contiene la stringa e char è il carattere che separa le parole.
    Oppure la formula più breve:
    =ANNULLA.SPAZI(DESTRA(SOSTITUISCI(cella;" ";RIPETI(" ";99));99))
    Nota: la formula NON va inserita in forma matriciale.
    La formula NON fa distinzione fra maiuscole e minuscole.
    Esempio 7: estrarre l'ultima parola da una stringa di testo
    Digitare quanto segue nel Foglio di lavoro:
    A1: Sopra la panca la capra canta
    A2:=DESTRA(A1;LUNGHEZZA(A1)-RICERCA(CODICE.CARATT(254);SOSTITUISCI(A1;" ";CODICE.CARATT(254);LUNGHEZZA(A1)-LUNGHEZZA(SOSTITUISCI(A1;" ";"")))))
    Il risultato è: canta.
     
  8. Estrarre la prima parola di una stringa di testo.
    Formula:
    =SINISTRA(cella;TROVA(char;cella)-1)
    dove cella è l'indirizzo della cella che contiene la stringa e char è il carattere che separa le parole.
    Nota: la formula NON va inserita in forma di matrice.
    La formula NON fa distinzione fra maiuscole e minuscole.
    Esempio 8: estrarre la prima parola da una stringa di testo
    Digitare quanto segue nel Foglio di lavoro:
    A1: Sopra la panca la capra canta
    A2:=SINISTRA(A1;TROVA(" ";A1)-1)
    Il risultato è: Sopra.


     
  9. Estrarre l'ennesima parola di una stringa di testo.
    Formula:
    =ANNULLA.SPAZI(STRINGA.ESTRAI(SOSTITUISCI(cella;" ";RIPETI(" ";LUNGHEZZA(cella)));(n-1)*LUNGHEZZA(cella)+1;LUNGHEZZA(cella))) 
    dove cella è l'indirizzo della cella che contiene la stringa e "n" è il posto occupato dalla parola da cercare.
    Nota: la formula NON va inserita in forma matriciale.
    La formula NON fa distinzione fra maiuscole e minuscole.
    Esempio 9: estrarre la quinta parola da una stringa di testo
    Digitare quanto segue nel Foglio di lavoro:
    A1: Sopra la panca la capra canta
    A2: =ANNULLA.SPAZI(STRINGA.ESTRAI(SOSTITUISCI(A1;" ";RIPETI(" ";LUNGHEZZA(A1)));(5-1)*LUNGHEZZA(A1)+1;LUNGHEZZA(A1)))

 Il risultato è: capra.

 

 


Sistema operativo: WIN32
Applicazioni: Excel 97, Excel 2000, Excel 2002/XP, Excel 2003, Excel 2007

 

Allegati:
FileDescrizioneDimensione del File
Scarica questo file (Operazionistringhe.xls)Operazionistringhe.xlsContiene gli esempi illustrati nell'articolo30 Kb
Ultimo aggiornamento Martedì 26 Dicembre 2017 10:29