
Formula generica
=FILTER(rng1,(rng2="red")+(rng2="blue"),"No results")
Sommario
Per filtrare i dati in modo da includere solo i record in cui un valore è questo o quello, è possibile utilizzare la funzione FILTER e semplici espressioni logiche booleane. Nell'esempio mostrato, la formula in F5 è:
=FILTER(B5:D14,(D5:D14="red")+(D5:D14="blue"),"No results")
Il risultato restituito da FILTER include solo le righe in cui il gruppo è "rosso" o "blu".
Spiegazione
Questa formula si basa sulla funzione FILTER per recuperare i dati in base a un test logico costruito con espressioni semplici e logica booleana:
(D5:D14="red")+(D5:D14="blue")
Dopo che ogni espressione è stata valutata, abbiamo i seguenti array:
((TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE))+ ((FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE))
L'operazione matematica (addizione) forza TRUE e FALSE a 1 e zero e il risultato è un singolo array:
=((1;0;0;0;0;0;1;0;0;0))+((0;1;0;0;1;0;0;1;0;0))
Poiché stiamo usando l'algebra booleana, ci sono solo due possibili operazioni sui valori: 1 o 0. Pertanto, l'array finale contiene solo 1 e 0:
=(1;1;0;0;1;0;1;1;0;0)
Questa matrice finale viene consegnata alla funzione FILTER come argomento "include" e FILTER restituisce solo le righe che corrispondono a 1.