Formula di Excel: normalizza il testo -

Sommario

Formula generica

=LOWER(TRIM(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"("," "),")"," "),"-"," "),":"," "),";"," "),"!"," "),","," "),"."," ")))

Sommario

Per rimuovere parte della complessità naturale del testo (punteggiatura a strisce, normalizzazione di maiuscole e minuscole, rimozione di spazi extra) è possibile utilizzare una formula basata sulla funzione SOSTITUISCI, con l'aiuto delle funzioni TRIM e LOWER.

Contesto

Ci possono essere momenti in cui è necessario rimuovere parte della variabilità del testo prima di altre elaborazioni. Un esempio è quando si desidera contare parole specifiche all'interno di stringhe di testo più grandi. Poiché Excel non fornisce supporto per le espressioni regolari, non è possibile costruire corrispondenze precise. Ad esempio, se vuoi contare quante volte la parola "volpe" appare in una cella, finirai per contare le "volpi". Puoi cercare "volpe" (con uno spazio) ma fallirà con "volpe" o "volpe". Una soluzione alternativa consiste nel semplificare il testo prima con una formula in una colonna helper, quindi eseguire i conteggi sulla versione semplificata. L'esempio in questa pagina mostra un modo per farlo.

Spiegazione

La formula mostrata in questo esempio utilizza una serie di funzioni SUBSTITUTE annidate per rimuovere parentesi, trattini, due punti, punti e virgola, punti esclamativi, virgole e punti. Il processo va dall'interno verso l'esterno, con ogni SOSTITUTO che sostituisce un carattere con un singolo spazio, quindi passa al SOSTITUTO successivo. Il SOSTITUTO più interno rimuove le parentesi a sinistra e il risultato viene passato al SOSTITUTO successivo, che rimuove le parentesi a destra e così via.

Nella versione seguente, sono state aggiunte interruzioni di riga per leggibilità e per semplificare la modifica delle sostituzioni. Excel non si preoccupa delle interruzioni di riga nelle formule, quindi puoi usare la formula così com'è.

= LOWER( TRIM( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( A1, "("," "), ")"," "), "-"," "), ":"," "), ";"," "), "!"," "), ","," "), "."," ")))

Dopo che tutte le sostituzioni sono state completate, il risultato viene eseguito tramite TRIM per normalizzare gli spazi, quindi la funzione LOWER per forzare tutto il testo in minuscolo.

Nota: dovrai regolare le sostituzioni effettive in base ai tuoi dati.

Aggiunta di uno spazio iniziale e finale

In alcuni casi potresti voler aggiungere uno spazio all'inizio e alla fine del testo pulito. Ad esempio, se desideri contare le parole in modo preciso, potresti cercare la parola racchiusa tra spazi (es. Cercare "volpe", "mappa") per evitare false corrispondenze. Per aggiungere uno spazio iniziale e uno finale, concatena uno spazio ("") all'inizio e alla fine:

=" "&formula&" "

Dove "formula" è la formula più lunga sopra.

Articoli interessanti...