Formula di Excel: conta le parole totali in una cella -

Sommario

Formula generica

=LEN(TRIM(A1))-LEN(SUBSTITUTE(A1," ",""))+1

Sommario

Per contare le parole totali in una cella, puoi utilizzare una formula basata sulle funzioni LEN e SOSTITUISCI, con l'aiuto della funzione TAGLIA. Nell'esempio mostrato, la formula nella cella C5, copiata verso il basso, è:

=LEN(TRIM(B5))-LEN(SUBSTITUTE(B5," ",""))+1

La formula restituisce il conteggio delle parole nella cella B5.

Spiegazione

Excel non ha una funzione dedicata per il conteggio delle parole in una cella. Tuttavia, con un po 'di ingegnosità, è possibile creare una formula del genere utilizzando le funzioni SOSTITUISCI e LUNGHEZZA, con l'aiuto di TRIM, come mostrato nell'esempio. Ad un livello elevato, questa formula utilizza la funzione LEN per contare il numero di caratteri nella cella, con e senza spazi, quindi utilizza la differenza per calcolare il conteggio delle parole. Funziona, perché il conteggio delle parole è uguale al numero di spazi + 1, purché vi sia uno spazio tra ogni parola.

La prima parte della formula conta i caratteri nella cella B5, dopo aver rimosso lo spazio extra:

=LEN(TRIM(B5)) // normalize space, count characters

All'interno di LEN, la funzione TRIM rimuove prima eventuali spazi aggiuntivi tra le parole o all'inizio o alla fine del testo. Questo è importante, poiché eventuali spazi aggiuntivi annulleranno il conteggio delle parole. In questo caso, non ci sono caratteri di spazio extra, quindi TRIM restituisce il testo originale direttamente alla funzione LEN, che restituisce 30:

LEN("All Quiet on the Western Front") // returns 30

A questo punto abbiamo:

=30-LEN(SUBSTITUTE(B5," ",""))+1

Successivamente, utilizziamo la funzione SOSTITUISCI per rimuovere tutti i caratteri spazio dal testo:

SUBSTITUTE(B5," ","") // strip all space

Avviso SUBSTITUTE è configurato per cercare uno spazio ("") e sostituirlo con una stringa vuota (""). Per impostazione predefinita, SOSTITUISCI sostituirà tutti gli spazi. Il risultato viene consegnato direttamente alla funzione LEN, che restituisce il conteggio:

LEN("AllQuietontheWesternFront") // returns 25

LEN restituisce 25, il numero di caratteri rimanenti dopo che tutto lo spazio è stato rimosso. Possiamo ora semplificare la formula per:

=30-25+1 // returns 6

che restituisce 6 come risultato finale, il numero di parole nella cella B5.

Trattare con celle vuote

La formula nell'esempio restituirà 1 anche se una cella è vuota o contiene solo spazio. Ciò accade perché stiamo aggiungendo 1 incondizionatamente, dopo aver contato i caratteri spazio tra le parole. Per evitare questo problema, è possibile adattare la formula come mostrato di seguito:

=LEN(TRIM(B5))-LEN(SUBSTITUTE(B5," ",""))+(LEN(TRIM(B5))>0)

Nota che abbiamo sostituito 1 con questa espressione:

LEN(TRIM(B5))>0

Questo codice taglia prima B5, quindi controlla la lunghezza. Se B5 contiene testo, LEN restituisce un numero positivo e l'espressione restituisce TRUE. Se B5 è vuoto o contiene solo spazio, TRIM restituisce una stringa vuota ("") a LEN. In tal caso, LEN restituisce zero (0) e l'espressione restituisce FALSE. Il trucco è che VERO e FALSO valgono rispettivamente a 1 e zero quando sono coinvolti in un'operazione di matematica. Di conseguenza, l'espressione aggiunge 1 solo quando è presente del testo in B5. Altrimenti, aggiunge zero (0). Questa logica potrebbe anche essere scritta con l'istruzione della funzione IF in questo modo:

IF(LEN(TRIM(B5))>0,1,0)

e il risultato sarebbe lo stesso. L'espressione sopra è semplicemente più compatta.

Articoli interessanti...