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 una formula di matrice, il che significa che dovresti usare 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 tale compito; 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 = Replace(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 (11029) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 ed Excel in Office 365. Puoi trovare una versione di questo suggerimento per l’interfaccia del menu precedente di Excel qui: