Excel COUNTIF e COUNTIFS con logica OR

  • Condividi Questo
Michael Brown

L'esercitazione spiega come utilizzare le funzioni COUNTIF e COUNTIFS di Excel per contare le celle con condizioni OR multiple, ad esempio se una cella contiene X, Y o Z.

Come tutti sanno, la funzione COUNTIF di Excel è progettata per contare le celle in base a un solo criterio, mentre COUNTIFS valuta più criteri con la logica AND. Ma cosa succede se l'attività richiede la logica OR: quando vengono fornite più condizioni, una qualsiasi di esse può essere inclusa nel conteggio?

Esistono alcune soluzioni possibili per questo compito e questa esercitazione le affronta tutte in modo dettagliato. Gli esempi presuppongono una buona conoscenza della sintassi e degli usi generali di entrambe le funzioni. In caso contrario, si consiglia di iniziare a ripassare le basi:

Funzione COUNTIF di Excel: conta le celle con un criterio.

Funzione COUNTIFS di Excel: conta le celle con criteri multipli AND.

Ora che tutti sono sulla stessa lunghezza d'onda, iniziamo a lavorare:

    Conta le celle con condizioni OR in Excel

    Questa sezione tratta lo scenario più semplice: il conteggio delle cellule che soddisfano una qualsiasi (almeno una) delle condizioni specificate.

    Formula 1. COUNTIF + COUNTIF

    Il modo più semplice per contare le celle che hanno un valore o un altro (Countif a o b ) è scrivere una normale formula COUNTIF per contare ogni singolo elemento e poi sommare i risultati:

    COUNTIF( gamma , criterio1 ) + COUNTIF( gamma , criterio2 )

    Ad esempio, scopriamo quante celle della colonna A contengono "mele" o "banane":

    =COUNTIF(A:A, "mele") + COUNTIF(A:A, "banane")

    Nei fogli di lavoro reali, è buona norma operare su intervalli piuttosto che su intere colonne per velocizzare il lavoro della formula. Per evitare di aggiornare la formula ogni volta che cambiano le condizioni, digitate gli elementi di interesse in celle predefinite, ad esempio F1 e G1, e fate riferimento a tali celle. Ad esempio:

    =COUNTIF(A2:A10, F1) + COUNTIF(A2:A10, G1)

    Questa tecnica funziona bene per un paio di criteri, ma l'aggiunta di tre o più funzioni COUNTIF renderebbe la formula troppo pesante. In questo caso, è meglio scegliere una delle seguenti alternative.

    Formula 2. COUNTIF con costante dell'array

    Ecco una versione più compatta della formula SUMIF con condizioni OR in Excel:

    SOMMA(COUNTIF( gamma , { criterio1 , criterio2 , criterio3 , ...}))

    La formula è costruita in questo modo:

    Innanzitutto, si impacchettano tutte le condizioni in una costante di array: i singoli elementi separati da virgole e l'array racchiuso tra parentesi graffe, come {"mele", "banane", "limoni"}.

    Quindi, si include la costante dell'array nel metodo criteri argomento di una normale formula COUNTIF: COUNTIF(A2:A10, {"mele", "banane", "limoni"})

    Infine, è necessario modificare la formula COUNTIF nella funzione SOMMA, perché COUNTIF restituisce 3 conteggi individuali per "mele", "banane" e "limoni", che devono essere sommati.

    La nostra formula completa è la seguente:

    =SOMMA(COUNTIF(A2:A10,{"mele", "banane", "limoni"}))

    Se si preferisce fornire i criteri come riferimenti alla gamma è necessario inserire la formula con Ctrl + Maiusc + Invio per renderla una formula di matrice. Ad esempio, è necessario inserire la formula con Ctrl + Maiusc + Invio:

    =SOMMA(COUNTIF(A2:A10,F1:H1))

    Notate le parentesi graffe nella schermata sottostante: è l'indicazione più evidente di una formula di matrice in Excel:

    Formula 3. SUMPRODOTTO

    Un altro modo per contare le celle con la logica OR in Excel è utilizzare la funzione SUMPRODUCT in questo modo:

    SUMPRODOTTO(1*( gamma ={ criterio1 , criterio2 , criterio3 , ...}))

    Per visualizzare meglio la logica, questo potrebbe anche essere scritto come:

    SUMPRODOTTO(( gamma = criterio1 ) + ( gamma = criterio2 ) + ...)

    La formula verifica ogni cella dell'intervallo rispetto a ciascun criterio e restituisce VERO se il criterio è soddisfatto, FALSO in caso contrario. Come risultato intermedio, si ottengono alcune matrici di valori VERO e FALSO (il numero di matrici è uguale al numero di criteri). Quindi, gli elementi della matrice nella stessa posizione vengono sommati, cioè i primi elementi di tutte le matrici, i secondi elementi e così via. La formulaL'operazione di aggiunta converte i valori logici in numeri, per cui si ottiene una matrice di 1 (uno dei criteri corrisponde) e di 0 (nessuno dei criteri corrisponde). Poiché tutti i criteri sono testati sulle stesse celle, non è possibile che nella matrice risultante compaiano altri numeri: solo una matrice iniziale può avere VERO in una posizione specifica, le altre avranno FALSO. Infine, SUMPRODOTTOsomma gli elementi dell'array risultante e si ottiene il conteggio desiderato.

    La prima formula funziona in modo simile, con la differenza che restituisce una matrice bidimensionale di valori VERO e FALSO, da moltiplicare per 1 per convertire i valori logici in 1 e 0, rispettivamente.

    Applicate al nostro set di dati campione, le formule assumono la forma seguente:

    =SUMPRODOTTO(1*(A2:A10={"mele", "banane", "limoni"}))

    Oppure

    =SUMPRODOTTO((A2:A10="mele") + (A2:A10="banane") + (A2:A10="limoni"))

    Sostituendo la costante dell'array codificata con un riferimento all'intervallo, si otterrà una soluzione ancora più elegante:

    =SUMPRODOTTO(1*( A2:A10=F1:H1))

    Nota: la funzione SUMPRODUCT è più lenta di COUNTIF, motivo per cui è meglio utilizzare questa formula su insiemi di dati relativamente piccoli.

    Contare le celle con logica OR e AND

    Quando si lavora con grandi insiemi di dati che presentano relazioni multilivello e interlivello tra gli elementi, è probabile che sia necessario contare le celle con condizioni OR e AND alla volta.

    Per esempio, vogliamo contare le "mele", le "banane" e i "limoni" che sono stati "consegnati". Come fare? Per cominciare, traduciamo le nostre condizioni nel linguaggio di Excel:

    • Colonna A: "mele" o "banane" o "limoni".
    • Colonna C: "consegnato"

    Da un altro punto di vista, dobbiamo contare le righe con "mele e consegnate" OPPURE "banane e consegnate" OPPURE "limoni e consegnati". In questo modo, il compito si riduce a contare le celle con 3 condizioni OR - esattamente come abbiamo fatto nella sezione precedente! L'unica differenza è che utilizzerete COUNTIFS invece di COUNTIF per valutare il criterio AND all'interno di ogni condizione OR.

    Formula 1. COUNTIFS + COUNTIFS

    È la formula più lunga, che è la più facile da scrivere :)

    =COUNTIFS(A2:A10, "mele", C2:C10, "consegnate") + COUNTIFS(A2:A10, "banane", C2:C10, "consegnate") + COUNTIFS(A2:A10, "limoni", C2:C10, "consegnate")

    La schermata seguente mostra la stessa formula con i riferimenti alle celle:

    =CONTIFS(A2:A10, K1, C2:C10, K2) + COUNTIFS(A2:A10, L1, C2:C10, K2) + COUNTIFS(A2:A10, M1,C2:C10, K2)

    Formula 2. COUNTIFS con costante della matrice

    Una formula COUNTIFS più compatta con logica AND/OR può essere creata impacchettando i criteri OR in una costante dell'array:

    =SOMMA(COUNTIFS(A2:A10, {"mele", "banane", "limoni"}, C2:C10, "consegnato"))

    Quando si utilizza un riferimento all'intervallo per i criteri, è necessaria una formula di matrice, completata premendo Ctrl + Maiusc + Invio :

    =SOMMA(COUNTIFS(A2:A10,F1:H1,C2:C10,F2))

    Suggerimento: se necessario, è possibile utilizzare jolly nei criteri di tutte le formule discusse in precedenza. Ad esempio, per contare tutti i tipi di banane, come le "banane verdi" o le "banane goldfinger", si può usare questa formula:

    =SOMMA(COUNTIFS(A2:A10, {"mele", "*banane*", "limoni"}, C2:C10, "consegnato"))

    In modo analogo, è possibile creare una formula per contare le celle in base ad altri tipi di criteri. Ad esempio, per ottenere il conteggio delle "mele" o delle "banane" o dei "limoni" che sono stati "consegnati" e la cui quantità è superiore a 200, aggiungere un'altra coppia di criteri/intervallo di criteri a COUNTIFS:

    =SOMMA(COUNTIFS(A2:A10, {"mele", "*banane*", "limoni"}, C2:C10, "consegnato", B2:B10, ">200"))

    Oppure, utilizzate questa formula di matrice (inserita con Ctrl + Maiusc + Invio):

    =SUM(COUNTIFS(A2:A10,F1:H1,C2:C10,F2, B2:B10, ">"&F3))

    Conteggio di cellule con condizioni OR multiple

    Nell'esempio precedente abbiamo imparato a testare un insieme di condizioni OR. Ma cosa succede se si hanno due o più insiemi e si vuole ottenere un totale di tutte le possibili relazioni OR?

    A seconda del numero di condizioni da gestire, è possibile utilizzare COUNTIFS con una costante di array o SUMPRODUCT con MATCH ISNUMBER. Il primo è relativamente facile da costruire, ma è limitato a solo 2 serie di condizioni OR, mentre il secondo può valutare un numero qualsiasi di condizioni (un numero ragionevole, ovviamente, dato il limite di Excel a 255 argomenti e 8192 caratteri alla lunghezza totale della formula),ma potrebbe essere necessario un certo sforzo per comprendere la logica della formula.

    Conteggio delle cellule con 2 serie di condizioni OR

    Quando si ha a che fare con due sole serie di criteri OR, è sufficiente aggiungere un'altra costante di matrice alla formula COUNTIFS discussa in precedenza.

    Affinché la formula funzioni, è necessaria una piccola ma fondamentale modifica: usare un array orizzontale (elementi separati da virgole) per un insieme di criteri e array verticale (elementi separati da punto e virgola) per l'altro. In questo modo si indica a Excel di "accoppiare" o "incrociare" gli elementi dei due array e di restituire un array bidimensionale dei risultati.

    A titolo di esempio, contiamo le "mele", le "banane" o i "limoni" che sono "consegnati" o "in transito":

    =SOMMA(COUNTIFS(A2:A10, {"mele", "banane", "limoni"}, B2:B10, {"consegnato"; "in transito"}))

    Si noti il punto e virgola nella seconda costante dell'array:

    Poiché Excel è un programma bidimensionale, non è possibile costruire una matrice tridimensionale o quadridimensionale, e quindi questa formula funziona solo per due serie di criteri OR. Per contare con più criteri, dovrete passare a una formula SUMPRODUCT più complessa, spiegata nell'esempio successivo.

    Conteggio delle cellule con più serie di condizioni OR

    Per contare le celle con più di due serie di criteri OR, utilizzare la funzione SUMPRODUCT insieme a ISNUMBER MATCH.

    Per esempio, contiamo le "mele", le "banane" o i "limoni" che sono "consegnati" o "in transito" e sono confezionati in "sacchetto" o "vassoio":

    =SUMPRODUCT(ISNUMBER(MATCH(A2:A10,{"mele", "banane", "limoni"},0))*

    ISNUMBER(MATCH(B2:B10,{"borsa", "vassoio"},0))*

    ISNUMBER(MATCH(C2:C10,{"consegnato", "in transito"},0))

    Nel cuore della formula, la funzione MATCH controlla i criteri confrontando ogni cella dell'intervallo specificato con la costante dell'array corrispondente. Se la corrispondenza viene trovata, restituisce una posizione relativa del valore nell'array, altrimenti N/A. ISNUMBER converte questi valori in VERO e FALSO, che equivalgono rispettivamente a 1 e 0. SUMPRODUCT prende il tutto e moltiplica le matrici diPoiché la moltiplicazione per zero dà zero, solo le celle che hanno 1 in tutte le matrici sopravvivono e vengono sommate.

    La schermata seguente mostra il risultato:

    Ecco come utilizzare le funzioni COUNTIF e COUNTIFS in Excel per contare le celle con condizioni multiple AND e OR. Per dare un'occhiata più da vicino alle formule discusse in questo tutorial, potete scaricare la nostra cartella di lavoro di esempio qui sotto. Vi ringrazio per la lettura e spero di vedervi sul nostro blog la prossima settimana!

    Quaderno pratico

    Excel COUNTIF con condizioni OR - esempi (file .xlsx)

    Michael Brown è un appassionato di tecnologia dedicato con una passione per la semplificazione di processi complessi utilizzando strumenti software. Con oltre un decennio di esperienza nel settore tecnologico, ha affinato le sue competenze in Microsoft Excel e Outlook, nonché in Fogli Google e Documenti. Il blog di Michael è dedicato alla condivisione delle sue conoscenze e competenze con gli altri, fornendo suggerimenti e tutorial facili da seguire per migliorare la produttività e l'efficienza. Che tu sia un professionista esperto o un principiante, il blog di Michael offre spunti preziosi e consigli pratici per ottenere il massimo da questi strumenti software essenziali.