![](https://cdn.wiki-base.com/9894012/excel_formula_count_rows_with_multiple_or_criteria__2.png.webp)
Formula generica
=SUMPRODUCT(--((criteria1)+(criteria2)>0))
Sommario
Per contare le righe utilizzando più criteri su colonne diverse, con logica OR, è possibile utilizzare la funzione SUMPRODUCT. Nell'esempio mostrato, la formula in H7 è:
=SUMPRODUCT(--((C5:C11="blue")+(D5:D11="dog")>0))
Spiegazione
Nell'esempio mostrato, vogliamo contare le righe in cui il colore è "blu", OPPURE l'animale domestico è "cane".
La funzione SUMPRODUCT funziona con gli array in modo nativo, quindi per i primi criteri utilizziamo:
(C5:C11="blue")
Questo restituisce un array di valori TRUE FALSE come questo:
(VERO; FALSO; FALSO; VERO; FALSO; FALSO; VERO)
Per il secondo criterio utilizziamo:
(D5:D11="dog")
Che ritorna:
(VERO; FALSO; VERO; FALSO; VERO; FALSO; FALSO)
Questi due array vengono quindi uniti con l'aggiunta (+), che costringe automaticamente i valori TRUE FALSE a 1 e 0 per creare un array come questo:
(2; 0; 1; 1; 1; 0; 1)
Non possiamo semplicemente sommare questi valori con SUMPRODUCT perché ciò comporterebbe il doppio del conteggio delle righe con "blue" e "dog". Quindi, usiamo "> 0" insieme al doppio negativo (-) per forzare tutti i valori su 1 o zero:
--((2;0;1;1;1;0;1)>0)
Che presenta questo array a SUMPRODUCT:
(1; 0; 1; 1; 1; 0; 1)
SUMPRODUCT restituisce quindi la somma di tutti gli elementi.
Altri test logici
L'esempio mostrava dei test per l'uguaglianza semplice, ma è possibile sostituire queste istruzioni con altri test logici secondo necessità. Ad esempio, per contare le righe in cui le celle nella colonna A contengono "rosso" OPPURE le celle nella colonna B contengono "blu", puoi utilizzare una formula come questa:
=SUMPRODUCT(--(ISNUMBER(SEARCH("red",A1:A10))+ISNUMBER(SEARCH("blue",B1:B10))>0))
Vedi ulteriori informazioni su ISNUMBER con SEARCH qui.
Test più logici
È inoltre possibile aggiungere più di due test all'interno della funzione SUMPRODUCT.