Formula di Excel: conta le celle che contengono testo specifico -

Formula generica

=COUNTIF(range,"*txt*")

Sommario

Per contare le celle che contengono un determinato testo, puoi utilizzare la funzione CONTA.SE con un carattere jolly. Nell'esempio mostrato, la formula in E5 è:

=COUNTIF(B5:B15,"*a*")

Spiegazione

La funzione CONTA.SE conta le celle in un intervallo che soddisfano i criteri. Ad esempio, per contare il numero di celle in un intervallo che contiene "a" puoi utilizzare:

=COUNTIF(range,"a") // exact match

Tuttavia, tieni presente che questa è una corrispondenza esatta. Per essere conteggiata, una cella deve contenere esattamente "a". Se la cella contiene altri caratteri, non verrà conteggiato.

Per il problema mostrato, vogliamo contare le celle che contengono un testo specifico, il che significa che il testo potrebbe essere ovunque nella cella. Per fare ciò, dobbiamo utilizzare il carattere asterisco (*) come carattere jolly. Ad esempio, per contare le celle che contengono la lettera "a" ovunque utilizziamo:

=COUNTIF(range,"*a*")

L'asterisco in una formula significa "corrisponde a qualsiasi numero di caratteri, compreso lo zero", quindi questo modello conterà qualsiasi cella che contiene "a" in qualsiasi posizione, con o senza altri caratteri a sinistra oa destra. Le formule usate nell'esempio seguono tutte lo stesso schema:

=COUNTIF(B5:B15,"*a*") // contains "a" =COUNTIF(B5:B15,"*2*") // contains "2" =COUNTIF(B5:B15,"*-S*") // contains "-s" =COUNTIF(B5:B15,"*x*") // contains "x"

Nota: COUNTIF non fa distinzione tra maiuscole e minuscole.

Con un riferimento di cella

È possibile modificare facilmente questa formula per utilizzare il contenuto di un'altra cella per i criteri. Ad esempio, se A1 contiene il testo che desideri abbinare, puoi utilizzare:

=COUNTIF(range,"*"&A1&"*")

Contare numeri specifici

La formula CONTA.SE sopra non funzionerà se stai cercando un numero particolare e le celle contengono dati numerici. Questo perché il carattere jolly fa sì che CONTA.SE cerchi automaticamente solo il testo (ad esempio, cerca "2" invece di solo 2). Poiché un valore di testo non verrà mai trovato in un numero vero, CONTA.SE restituirà zero.

Per contare un numero specifico nel contenuto numerico, puoi utilizzare una formula diversa basata sulla funzione RICERCA e sulla funzione NUMERO ISTANTANEO come questa:

=SUMPRODUCT(--(ISNUMBER(SEARCH(text,range))))

In questa formula, il testo è il testo che stai cercando e l' intervallo è l'intervallo di celle che vuoi contare. Quando SEARCH individua una corrispondenza, restituirà un numero e la funzione ISNUMBER convertirà il numero in un valore VERO o FALSO. Poiché stiamo controllando più di una cella, il risultato sarà un array o valori TRUE e FALSE. Il doppio negativo viene utilizzato per convertire i valori TRUE e FALSE in 1 e 0 e la funzione SUMPRODUCT restituirà la somma dell'array come risultato finale.

RICERCA tratta automaticamente tutti i numeri come testo, quindi troverà, ad esempio, l'1 nel numero 201. Inoltre, non è necessario utilizzare caratteri jolly per indicare la posizione, perché CERCA esaminerà automaticamente tutto il testo in una cella.

Versione con distinzione tra maiuscole e minuscole

Per un conteggio che distingue tra maiuscole e minuscole, puoi utilizzare una formula basata sulla funzione TROVA:

=SUMPRODUCT(--(ISNUMBER(FIND(text,range))))

Qui, la funzione TROVA viene utilizzata al posto di CERCA, perché TROVA fa distinzione tra maiuscole e minuscole. Per altri aspetti la formula funziona come la formula ISNUMBER + FIND descritta sopra.

Articoli interessanti...