Ottenere un conteggio condizionale di celle contenenti valori (Microsoft Excel)
La formula = SUMIF (B1: B100, “Current”, D1: D100) fornisce la somma dei valori nella colonna D, a condizione che la cella corrispondente nella colonna B contenga il testo “Current”. Ciò di cui Kenneth ha effettivamente bisogno, tuttavia, è un conteggio dei valori nella colonna D quando la colonna B contiene “Current”. (Il conteggio dei valori in D potrebbe essere diverso dal numero di istanze di “Current” in B.) Vorrebbe che fosse semplice come cambiare SUMIF in COUNTIF, ma questo produce un errore.
Il motivo per cui si verifica l’errore è perché SUMIF richiede tre parametri e COUNTIF richiede solo due. Pertanto, se si sostituisce semplicemente SOMMA.SE con CONTA.SE, verrà visualizzato un errore. Invece, potresti usare COUNTIF in questo modo:
=COUNTIF(B1:B100,"Current")
Questo non ti darà un errore, ma non ti darà nemmeno una risposta corretta. Kenneth vuole un conteggio del numero di celle contenenti valori nell’intervallo D1: D100, ma solo se la cella corrispondente nella colonna B contiene il testo “Corrente”. La formula CONTA.SE non ha nemmeno effetto sulla colonna D; conta solo il numero di celle nell’intervallo B1: B100 che contengono la parola “Corrente”.
La soluzione è utilizzare invece la funzione COUNTIFS. Questa funzione consente di verificare più condizioni per ricavare un conteggio. In questo caso, la seguente versione funzionerebbe:
=COUNTIFS(B1:B100,"current",D1:D100,">0")
Questa formula conta il numero di valori in D1: D100 che sono maggiori di zero. (Bene, le conteggia anche solo se B1: B100 contiene “corrente”.) Funziona perché le celle vuote o le celle che contengono testo sono considerate da COUNTIFS equivalenti a 0. Nota, inoltre, che la funzione non fa distinzione tra maiuscole e minuscole quando si tratta di abbinare: “corrente”
corrisponderà anche a “Corrente” o qualsiasi combinazione di lettere maiuscole e minuscole nella parola.
Se le tue celle potrebbero contenere valori negativi, allora dovresti provare questa variazione, invece:
=COUNTIFS(B1:B100,"current",D1:D100,"<>")
Lo svantaggio è che questo metodo include nel conteggio anche tutte le celle che contengono testo.
Puoi anche usare la seguente formula:
=SUMPRODUCT(--(B1:B100="current"),--(D1:D100<>""))
Ancora una volta, questo include valori di testo nel conteggio. Se vuoi ignorare i valori di testo, allora questa variazione funziona alla grande:
=SUMPRODUCT(--(B1:B100="current"),--ISNUMBER(D1:D100))
È possibile utilizzare anche la seguente formula, a condizione di immetterla come formula di matrice (premere Ctrl + Maiusc + Invio):
=SUM((B1:B100="current")*ISNUMBER(D1:D100))
Ci sono anche altri modi per ricavare il totale di cui hai bisogno. Un metodo potrebbe essere quello di utilizzare la funzione DCOUNT (che conta in base a più criteri), ma tale approccio richiede più impostazioni rispetto alle formule già descritte.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (13433) si applica a Microsoft Excel 2007, 2010, 2013 e 2016.