Formula Excel: filtra ogni ennesima riga -

Sommario

Formula generica

=FILTER(rng,MOD(SEQUENCE(ROWS(rng)),n)=0)

Sommario

Per filtrare ed estrarre ogni ennesima riga, è possibile utilizzare una formula basata sulla funzione FILTER insieme a MOD, ROW e SEQUENCE. Nell'esempio mostrato, la formula in F5 è:

=FILTER(data,MOD(SEQUENCE(ROWS(data)),3)=0)

dove i dati sono l'intervallo denominato D5: D16. Con n hardcoded nella formula come 3, la funzione FILTER restituisce ogni terza riga nei dati.

Spiegazione

La funzione FILTRO è progettata per filtrare ed estrarre le informazioni in base a criteri logici. In questo esempio, l'obiettivo è estrarre ogni terzo record dai dati mostrati, ma non ci sono informazioni sul numero di riga nei dati.

Lavorando dall'interno verso l'esterno, il primo passo è generare un insieme di numeri di riga. Questo viene fatto con la funzione SEQUENCE in questo modo:

SEQUENCE(ROWS(data))

La funzione RIGA restituisce il conteggio delle righe nei dati dell'intervallo denominato . Utilizzando il conteggio delle righe, SEQUENCE restituisce un array di 12 numeri in sequenza:

(1;2;3;4;5;6;7;8;9;10;11;12)

Questo array viene restituito direttamente alla funzione MOD come argomento numero, con il numero 3 codificato come divisore. MOD è impostato per verificare se i numeri di riga sono divisibili per 3 con un resto di zero

MOD(SEQUENCE(ROWS(data)),3)=0 // divisible by 3?

Il risultato di MOD è un array o valori TRUE e FALSE come questo:

(FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE)

Nota I valori TRUE corrispondono a ogni terza riga dei dati. Questo array viene consegnato direttamente alla funzione FILTER come argomento include. FILTER restituisce ogni terza riga di dati come risultato finale.

Articoli interessanti...