Contare i valori in una colonna o in una riga con le funzioni di Excel
Oggi approfondiamo un’articolo di qualche tempo fa e vediamo come è possibile contare i valori in una colonna o in una riga (stavolta anche per tipo di dato) o in una matrice con delle semplici funzioni di Excel di uso abbastanza comune.
Prendiamo come esempio per le nostre funzioni la matrice composta da A1:A10 nella quale siano presenti i seguenti valori
Matrice di esempio sulla quale provare le funzioni CONTA.* |
La prima funzioni che vedremo è CONTA.VALORI, la quale restituisce il numero di valori presenti in una matrice.
=CONTA.VALORI(A1:A10)
il risultato che otterremo sarà 9 ovvero il conteggio di tutti i valori indipendentemente dal tipo, visto che la cella A6 non è riempita verrà esclusa da conteggio.
Se nella nostra matrice sono presenti degli errori questi verranno contati come valori.
La seconda funzione della serie è CONTA.NUMERI che restituisce il numero di numeri (perdonate) presenti nella nostra matrice
=CONTA.NUMERI(A1:A10)
il risultato, in questo caso, sarà 5 (contare per credere).
ATTENZIONE: se nell’elenco sono presenti anche delle date queste verranno conteggiate come numeri in quanto Excel usa un numero per memorizzare la data, anche se questa viene visualizzata con il classico formato gg/mm/aaaa (o un’altro a scelta tra quelli disponibili). Infatti il modo usato da Excel per memorizzare le date è un numero che conta i giorni passati dal 0 gennaio 1900 più la frazione che rappresenta le 24 ore inclusi i secondi, il formato è ggggg.tttttt in cui g è un intero e t rappresenta la frazione delle ore. Questo sistema è chiamato data seriale o data-ora seriale.
La terza funzione è CONTA.VUOTE che permette di contare il numero di celle vuote all’interno di una matrice
=CONTA.VUOTE(A1:A10)
restituirà 1 in quanto solo la cella A6 all’interno della matrice non contiene valori.
L’ultima delle funzioni che Excel ci mette a disposizione è CONTA.SE ed è anche, forse, la più utilizzata. CONTA.SE permette di ottenere il numero di volte in cui un valore si ripete all’interno di una matrice. A differenza delle precedenti funzioni questa richiede 2 parametri
=CONTA.SE(intervallo; criterio)
dove intervallo corrisponde alla nostra matrice e criterio rappresenta il valore che vogliamo cercare nella nostra matrice, ad esempio
=CONTA.SE(A1:A10;"pere")
restituirà 1 visto che l’elemento è presente una sola volta.
Trucco Bonus
Excel non ha una funzione che permette di contare le volte in cui è presente una stringa così come fa per i numeri, se vogliamo quindi contare le stringhe ci dovremo ingegnare, eccovi una formula che permette di contarle
=CONTA.VALORI(A1:A10) - CONTA.NUMERI(A1:A10)
ed il risultato sarà 4.
E per questo articolo è tutto, come sempre se avete dubbi scrivetelo pure nei commenti.
[random_sc]
A presto
salve un problema che forse non si puo risolvere con excel almeno io non ci riesco: nel caso di numerosi valori (sono delle lettere A B C ) come fare a sapere quante volte ognuna di queste lettere é presente di continuo : non cerco il totale di tutte le A o di tutte le B ma quante A o B o C di seguito sono presenti in una stringa di dati (esempio della stringa : B C B A B A C A B C A B B B B C C A A A A C B B dove in questo caso il risultato deve dare ; B1;C1;B1;A1;B1;C1;B1;C1;B4;C2;A4;C1;B2;
il Massimo é sapere poi anche (forse non certo con la stessa formula!) quanti sono i valori totali di A 1;A2 ( se ce ne sono);A3;A4;etc.etc.
grazie raffaele
Ciao Raffaele,
effettivamente con una formula non mi viene in mente niente che possa risolvere il tuo problema, bisognerebbe scrivere una Macro ad hoc. Se usi il modulo contatto che trovi in alto a destra mi arriverà la tua mail e vedrò di risponderti con un foglio che contenga la macro
ciao Gianfranco vorrei sapere se il moi email ti é arrivato a proposito delle lettere A B C e sapere quante sono quelle di continuo e il loro numero ; ho provato piu volte a farlo ma purtroppo il tasto "invia" non si interrompe mai.
arrivederci raffaele
ok ho già inviato
ciao raffaele
Non mi è arrivata Raffaele…
Ho eliminato i commenti perché contenevano i nostri indirizzi email, giusto per evitare gli spammer 🙂
Spero che la soluzione che ti ho inviato via email con le macro soddisfi appieno le tue necessità 🙂
grazie gianfranco;adesso comincio a provare ;devo dirti che nell'email c'era si un testo con la spiegazione (che utilizzero immediatamente)ma non un file allegato;vedo di cavarmela ugualmente ;ti riscrivo in qualsiasi caso;a presto raffaele
Ciao Raffaele, ho controllato, il file è allegato alla mail, ha lo stesso nome di quello che mi hai inviato, non puoi usare la formula che ti ho inviato senza quel file visto che è una macro scritta da me :)…. prova a ricontrollare la mail oppure clicca qui per scaricarlo zippato
Gianfranco ho appena controllato: tutto funziona perfettamente;generoso e disponibile;competente;grazie e a presto sicuramente.arrivederci raffaele
Finalmente 🙂
felice di esserti stato di aiuto, a presto
Buongiorno Gianfranco.
Scrivo qui perchè non ho trovato una sezione più attinente…Io avrei necessità di estrarre dati giorno per giorno, quindi mi servirebbe una funzione per sommare ( anzi, contare ) il numero di stringhe relative alla data di “oggi”. E’ possibile? Grazie sin da ora…
Un caro saluto e buon lavoro
Ciao, si, è possibile. Poniamo che tu abbia le date nella colonna A ti basta scrivere la seguente formula
=CONTA.SE(A:A;OGGI())
Spero di aver interpretato bene la tua richiesta 🙂
Siii grazie mille !!
Di nulla! Lieto di esserti stato utile 🙂
Salve e per contare quante volte è presente lo stesso numero in una colonna con codice vba –
Grazie
Ciao Giorgio, puoi provare con :
Dim QuanteVolte As Long
QuanteVolte = Application.Countif(Range("A1:A50"), 100)
Sostituendo 100 con il valore da cercare 🙂
Grazie Gianfranco,
arrivato a range() e mi fermavo
quindi cento è il valore da cercare.
Grazie infinte
Buonasera Gianfranco,
poichè mastico pochissimo VBA mi sommergo di formule.
Ci sarebbe un modo di per es cells(2,3).value = conta.se(f3:w3;5)
cioè non trasformare il conta.se in quanto il conta.se lo registrerei con registrazione macro.
Ho portato l’esempio conta.se che potrebbe essere di facile interpretazione.
Spero di essere stato chiaro
Giorgio
Salve, dovrebbe essere poco chiara la precedente.
Intendo come utilizzare il Formula local purchè quando lancio la macro nella cella non deve esserci la formula ma solo il risultato
Salve