
Formula generica
=TRANSPOSE(FILTER(data,logic))
Sommario
Per filtrare i dati disposti orizzontalmente e visualizzare il risultato in formato verticale, è possibile utilizzare la funzione FILTER insieme a TRANSPOSE. Nell'esempio mostrato, la formula in B10 è:
=TRANSPOSE(FILTER(data,group="fox"))
dove i dati (C4: L6) e il gruppo (C5: L5) sono denominati intervalli.
Spiegazione
L'obiettivo è filtrare i dati orizzontali nell'intervallo C4: L6 per estrarre i membri del gruppo "volpe" e visualizzare i risultati con i dati trasposti in formato verticale. Per comodità e leggibilità, abbiamo due intervalli denominati con cui lavorare: dati (C4: L6) e gruppo (C5: L5).
La funzione FILTER può essere utilizzata per estrarre i dati disposti verticalmente (in righe) o orizzontalmente (in colonne). FILTER restituirà i dati corrispondenti con lo stesso orientamento. La formula in B5 è:
=TRANSPOSE(FILTER(data,group="fox"))
Lavorando dall'interno verso l'esterno, l'argomento include per FILTER è un'espressione logica:
group="fox" // test for "fox"
Quando l'espressione logica viene valutata, restituisce un array di 10 valori TRUE e FALSE:
(TRUE,FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,FALSE)
Nota: le virgole (,) in questo array indicano le colonne. Il punto e virgola (;) indica le righe.
La matrice contiene un valore per record nei dati e ogni VERO corrisponde a una colonna in cui il gruppo è "volpe". Questo array viene restituito direttamente a FILTER come argomento include, dove esegue il filtraggio effettivo:
FILTER(data,(TRUE,FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,FALSE))
Solo i dati nelle colonne che corrispondono a TRUE passano attraverso il filtro, quindi il risultato sono i dati per le sei persone nel gruppo "volpe". FILTER restituisce questi dati nella struttura orizzontale originale. Poiché vogliamo visualizzare i risultati di FILTER in un formato verticale, la funzione TRANSPOSE è avvolta attorno alla funzione FILTER:
=TRANSPOSE(FILTER(data,group="fox"))
La funzione TRANSPOSE traspone i dati e restituisce una matrice verticale come risultato finale nella cella B10. Poiché FILTER è una funzione di matrice dinamica, i risultati si estendono nell'intervallo B10: D15. Se i dati nei dati (C4: L6) cambiano, il risultato di FILTER viene aggiornato automaticamente.