Discussione:
Conta parole
(troppo vecchio per rispondere)
Fabrizio Caccia
2005-11-07 15:45:12 UTC
Permalink
Ciao a tutti,

un'informazione su excel...

Dovrei contare il numero di parole all'interno di una cella di testo di
excel...come si può fare?

Grazie infinite
Fabrizio
Mauro Gamberini
2005-11-07 16:14:50 UTC
Permalink
Post by Fabrizio Caccia
Dovrei contare il numero di parole all'interno di una cella di testo di
excel...come si può fare?
Uhmmm... con il vba, selezionando
la cella, si potrebbe fare
una cosa tipo:

Public Sub m()

Dim cont As Long
Dim l As Long

With Selection

For l = 1 To Len(.Value)
If Mid(.Value, l, 1) = " " Then
cont = cont + 1
End If
Next

End With

MsgBox "Parole: " & cont + 1

End Sub


Le parole dovrebbero essere separate da un
unico spazio.
--
----------------------------
Mauro Gamberini
Fabrizio Caccia
2005-11-07 16:20:46 UTC
Permalink
Mauro Gamberini scrive nel messaggio:
[...]
Post by Mauro Gamberini
Uhmmm... con il vba, selezionando
la cella, si potrebbe fare
Public Sub m()
Dim cont As Long
Dim l As Long
With Selection
For l = 1 To Len(.Value)
If Mid(.Value, l, 1) = " " Then
cont = cont + 1
End If
Next
End With
MsgBox "Parole: " & cont + 1
End Sub
Le parole dovrebbero essere separate da un
unico spazio.
Ti ringrazio moltissimo Mauro ma di VBA non ne capisco una mazza..
Ma un conta valori non potrebbe andare?

Se ce la fai con le sole formule di Excel bene altrimenti fa lo stesso...
Grazie cmq
Mauro Gamberini
2005-11-07 16:47:48 UTC
Permalink
Post by Fabrizio Caccia
Ti ringrazio moltissimo Mauro ma di VBA non ne capisco una mazza..
Ma un conta valori non potrebbe andare?
Se ce la fai con le sole formule di Excel bene altrimenti fa lo stesso...
Grazie cmq
Da una vecchia risposta di Ivano(ciao):

Se può interessarti una soluzione by formula matriciale:
=SOMMA(--(STRINGA.ESTRAI(A1;RIF.RIGA(1:100);1)=" "))+1
che restituisce 19 anzichè 20 in quanto "l'universo" è contemplato come
unica parola


che può essere migliorata con:
=SOMMA(--(STRINGA.ESTRAI(A1;RIF.RIGA(1:100);1)="
"))+1+SOMMA(--(STRINGA.ESTRAI(A1;RIF.RIGA(1:100);1)="'"))-SOMMA(--(STRINGA.­E
STRAI(A1;RIF.RIGA(1:100);1)="' "))


conta gli spazi, ne somma gli apostrofi e decurta gli apostrofi seguiti
dallo spazio.


Tutte le formule vanno inserite con CTRL+MAIUSC+INVIO
--
----------------------------
Mauro Gamberini
Ignazio
2005-11-07 16:45:07 UTC
Permalink
Post by Fabrizio Caccia
Dovrei contare il numero di parole all'interno di una cella di testo di
excel...come si può fare?
Considerando che il numero di parole è dato dal numero di spazi tra le
parole +1, il numero di parole della frase scritta in A1 potrebbe essere:
=LUNGHEZZA(ANNULLA.SPAZI(A1))-LUNGHEZZA(SOSTITUISCI(ANNULLA.SPAZI(A1);"
";""))+1

La formula tiene conto di eventuali spazi in più digitati per errore, tipo:
Testo di prova, (numero parole 6).
mentre non tiene conto di altri errori di digitazione, come lo spazio tra
parole e virgole o tra parole e parentesi, tipo:
Testo di prova , ( numero parole 6 ).
--
Ciao
Ignazio
Ignazio
2005-11-07 16:59:45 UTC
Permalink
Post by Ignazio
Considerando che il numero di parole è dato dal numero di spazi tra le
=LUNGHEZZA(ANNULLA.SPAZI(A1))-LUNGHEZZA(SOSTITUISCI(ANNULLA.SPAZI(A1);"
";""))+1
Siccome la formula non viene visualizzata su di una sola riga, te la
riscrivo meglio:
=LUNGHEZZA(ANNULLA.SPAZI(A1))-
LUNGHEZZA(SOSTITUISCI(ANNULLA.SPAZI(A1);" ";""))+1
--
Ciao
Ignazio
Ignazio
2005-11-07 18:05:26 UTC
Permalink
Post by Ignazio
=LUNGHEZZA(ANNULLA.SPAZI(A1))-
LUNGHEZZA(SOSTITUISCI(ANNULLA.SPAZI(A1);" ";""))+1
Oops ... all'interno di SOSTITUISCI la funzione ANNULLA.SPAZI è inutile:
=LUNGHEZZA(ANNULLA.SPAZI(A1))-
LUNGHEZZA(SOSTITUISCI(A1;" ";""))+1
--
Ciao
Ignazio
Norman Jones
2005-11-07 17:39:34 UTC
Permalink
Post by Fabrizio Caccia
Ciao a tutti,
un'informazione su excel...
Dovrei contare il numero di parole all'interno di una cella di testo di
excel...come si può fare?
Grazie infinite
Fabrizio
'----------------------------------------

Ciao Fabrizio,

Se fosse adatta una funzione utente (UDF - User Defined Function), potresti
provare:

'===========>>
Function NumeroParole(sStr As String) As Long
'Per xl2k+
NumeroParole = _
UBound(Split(Application.Trim(sStr), " ")) + 1
End Function
'<<===========

'-------------------------
Alt-F11 ( sei nell'editor del vba)
Inserici | Modulo | Copia Incolla il codice qui sopra.
Alt-F11 (Sei di nuovo in Excel)
'-------------------------

Si potrebbe usare così la funzione:

A1: Inter Sampdoria Juve Roma
B1: =NumeroParole(A1) ===> 4

---
Regards,
Norman
Fabrizio Caccia
2005-11-07 22:22:12 UTC
Permalink
grazie infinite a tutti

Continua a leggere su narkive:
Loading...