Al lavoro, Mark deve regolarmente contare il numero di virgole in un intervallo di celle selezionate. Non riesce a trovare una funzione di Excel per eseguire questo tipo di attività e si chiede se una macro potrebbe essere in grado di fare il trucco.

Sebbene non esista una funzione del foglio di lavoro che produrrà il conteggio desiderato, esistono una o due formule che puoi utilizzare. Se vuoi solo conoscere il numero di celle che contengono almeno una virgola, la seguente formula funzionerà perfettamente:

=COUNTIF(A1:A10,",")

Se invece hai bisogno di capire il numero di virgole nell’intervallo quando potrebbero esserci più virgole per cella, allora devi usare una formula diversa:

=SUM(LEN(A1:A10))-SUM(LEN(SUBSTITUTE(A1:A10,",","")))

Questa formula deve essere inserita come formula di matrice, il che significa che è necessario utilizzare Ctrl + Maiusc + Invio per inserire la formula. Se è necessario derivare il conteggio per un intervallo diverso, è sufficiente modificare l’intervallo in due punti della formula.

Se preferisci, puoi anche creare una funzione definita dall’utente per contare il numero di virgole. Esistono diversi modi per affrontare un compito del genere; il seguente è solo un esempio.

Function CountComma(rng As Range)

Dim iCount As Integer     Dim rCell As Range     Dim sTemp As String

Application.Volatile     iCount = 0     For Each rCell In rng         sTemp = Application.WorksheetFunction. _           Substitute(rCell.Value, ",", "")

iCount = iCount + _           (Len(rCell.Value) - Len(sTemp))

Next     CountComma = iCount     Set rCell = Nothing     Set rng = Nothing End Function

Per utilizzare la funzione nel foglio di lavoro, inserisci quanto segue in una cella:

=CountComma(A1:A10)

Tutti questi metodi descritti finora conteranno le virgole che si trovano effettivamente nella cella. Non conteranno le virgole che sembrano essere nella cella a causa della formattazione. Ad esempio, se un numero appare come “1.234” in una cella, è probabile che la virgola sia presente a causa del modo in cui la cella è formattata; non è realmente nella cellula stessa.

Tali virgole non vengono conteggiate.

Ovviamente, se tutto ciò che devi fare è conoscere il numero di virgole e non hai bisogno del valore nel tuo foglio di lavoro, puoi bypassare l’uso di formule e macro tutte insieme. Segui questi passaggi generali:

  1. Seleziona l’intervallo di celle in cui desideri contare le virgole.

  2. Premere Ctrl + H per visualizzare la scheda Sostituisci della finestra di dialogo Trova e sostituisci.

  3. Nella casella Trova, inserisci una virgola.

  4. Nella casella Sostituisci con immettere una virgola.

  5. Fare clic su Sostituisci tutto.

Excel esegue la sostituzione e visualizza una finestra di dialogo che mostra quante sostituzioni sono state effettuate.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (3460) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: