Formule Excel: filtrer chaque nième ligne -

Table des matières

Formule générique

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

Sommaire

Pour filtrer et extraire chaque nième ligne, vous pouvez utiliser une formule basée sur la fonction FILTER avec MOD, ROW et SEQUENCE. Dans l'exemple illustré, la formule en F5 est:

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

data est la plage nommée D5: D16. Avec n codé en dur dans la formule comme 3, la fonction FILTER renvoie toutes les 3 lignes dans les données.

Explication

La fonction FILTER est conçue pour filtrer et extraire des informations en fonction de critères logiques. Dans cet exemple, l'objectif est d'extraire tous les 3 enregistrements des données affichées, mais il n'y a pas d'informations sur le numéro de ligne dans les données.

En travaillant de l'intérieur vers l'extérieur, la première étape consiste à générer un ensemble de numéros de ligne. Ceci est fait avec la fonction SEQUENCE comme ceci:

SEQUENCE(ROWS(data))

La fonction ROW renvoie le nombre de lignes dans les données de plage nommées . En utilisant le nombre de lignes, SEQUENCE renvoie un tableau de 12 nombres dans l'ordre:

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

Ce tableau est renvoyé directement à la fonction MOD en tant qu'argument numérique, avec le nombre 3 codé en dur comme diviseur. MOD est configuré pour tester si les numéros de ligne sont divisibles par 3 avec un reste de zéro

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

Le résultat de MOD est un tableau ou des valeurs TRUE et FALSE comme ceci:

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

Remarque Les valeurs TRUE correspondent à chaque troisième ligne des données. Ce tableau est livré directement à la fonction FILTER en tant qu'argument d'inclusion. FILTER renvoie toutes les 3 lignes de données comme résultat final.

Articles intéressants...