Formula di Excel: filtra i dati orizzontali -

Sommario

Formula generica

=FILTER(data,logic)

Sommario

Per filtrare i dati disposti orizzontalmente in colonne, è possibile utilizzare la funzione FILTRO. Nell'esempio mostrato, la formula in C9 è:

=TRANSPOSE(FILTER(data,group="fox"))

dove i dati (C4: L6) e il gruppo (C5: L5) sono denominati intervalli.

Spiegazione

Nota: FILTER è una nuova funzione di matrice dinamica in Excel 365. In altre versioni di Excel, ci sono alternative, ma sono più complesse.

Ci sono dieci colonne di dati nell'intervallo C4: L6. L'obiettivo è filtrare questi dati orizzontali ed estrarre solo le colonne (record) in cui il gruppo è "volpe". Per comodità e leggibilità, il foglio di lavoro contiene tre intervalli denominati: dati (C4: L6) e gruppo (C5: L5) ed età (C6: L6).

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. Non è richiesta alcuna configurazione speciale. Nell'esempio mostrato, la formula in C9 è:

=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 colonna nei dati e ogni VERO corrisponde a una colonna in cui il gruppo è "volpe". Questo array viene restituito direttamente a FILTER come argomento include ed esegue il filtro effettivo:

FILTER(data,(TRUE,FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,FALSE))

Solo i dati che corrispondono ai valori TRUE passano il filtro, quindi FILTER restituisce le 6 colonne in cui il gruppo è "volpe". FILTER restituisce questi dati nella struttura orizzontale originale. Poiché FILTER è una funzione di matrice dinamica, i risultati si estendono nell'intervallo C9: H11.

Questa è una soluzione dinamica: se i dati di origine in C4: L6 vengono modificati, i risultati di FILTER vengono aggiornati automaticamente.

Trasponi in formato verticale

Per trasporre i risultati dal filtro in un formato verticale (righe), puoi avvolgere la funzione TRANSPOSE attorno alla funzione FILTER in questo modo:

=TRANSPOSE(FILTER(data,group="fox"))

Il risultato è questo:

Questa formula è spiegata in maggior dettaglio qui.

Filtra per età

La stessa formula di base può essere utilizzata per filtrare i dati in modi diversi. Ad esempio, per filtrare i dati per mostrare solo le colonne in cui l'età è inferiore a 22, puoi utilizzare una formula come questa:

=FILTER(data,age<22)

FILTER restituisce le quattro colonne di dati corrispondenti:

Articoli interessanti...