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.