formateur informatique

Filtrer un tableau Excel une ligne sur deux par formule

Accueil  >  Bureautique  >  Excel  >  Excel Avancé  >  Filtrer un tableau Excel une ligne sur deux par formule
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Abonner à Youtube    Vidéos astuces Instagram
Sujets que vous pourriez aussi aimer :


Filtrer une ligne sur deux

Par le passé, nous avons déjà démontré quelques techniques pour extraire une ligne sur deux à partir d'un tableau source. Mais avec la fonction Excel Filtre, la solution est tout de suite plus radicale.

Filtrer une ligne sur deux par formule Excel

Sur l'exemple illustré par la capture, sur la gauche de la feuille, nous travaillons sur un bilan annuel des résultats. Sur la droite, en fonction d'une indication numérique fournie dans une cellule sur fond jaune, nous réalisons automatiquement l'extraction des lignes (mois) paires ou impaires.

Classeur Excel à télécharger
Nous suggérons de baser l'étude sur ce bilan annuel prêt à l'emploi. Nous découvrons le tableau du bilan annuel sur la gauche de la feuille, entre les colonnes B et F. Si vous déployez la zone Nom en haut à gauche de la feuille Excel, vous remarquez qu'il est intitulé tabl. Nous exploiterons ce nom dans la construction de la formule.

Filtrer le tableau
Nous devons commencer par exercer la fonction de filtre sur ce bilan. C'est seulement ensuite que nous pourrons émettre le critère permettant de ne conserver qu'une ligne sur deux, selon la volonté émise par l'utilisateur en cellule I3.
  • Sélectionner la première cellule de la grille d'extraction en cliquant sur sa case H8,
  • Taper le symbole égal (=) pour débuter la construction de la formule,
  • Inscrire la fonction de filtre, suivie d'une parenthèse, soit : Filtre(,
  • Désigner le tableau à filtrer par son nom, soit : tabl,
  • Puis, taper un point-virgule (;) pour passer dans l'argument du critère,
Exclure une ligne sur deux
C'est ici que nous devons engager une condition récursive pour que la fonction Filtre ne conserve qu'une ligne sur deux, à partir du tableau d'origine. La fonction Ligne, engagée sur ce tableau dans ce raisonnement matriciel, renvoie tous ses indices de ligne. Embarquée dans la fonction Mod pour tester le reste de la division, elle révèlera si la ligne en cours d'analyse est paire ou impaire.
  • Inscrire la fonction pour le reste d'une division, suivie d'une parenthèse, soit : Mod(,
  • Lui imbriquer la fonction rendant les indices de ligne d'une plage, soit : Ligne(,
  • Désigner de nouveau le tableau par son nom, soit : tabl,
  • Fermer la parenthèse de la fonction Ligne,
  • Taper un point-virgule (;) pour passer dans l'argument du diviseur de la fonction Mod,
  • Inscrire le chiffre 2 pour tester la division de la ligne en cours par 2,
  • Fermer la parenthèse de la fonction Mod,
  • Puis, construire le critère suivant, en sélectionnant la valeur tapée par l'utilisateur : =I3,
Soit le reste est nul (0), indiquant que la ligne est paire. Soit il est positif (1), indiquant que la ligne est impaire. C'est ainsi que la fonction Filtre, grâce à ce critère sur ces numéros de ligne, saura ne conserver que les lignes impaires ou paires, selon la volonté de l'utilisateur.
  • Fermer la parenthèse de la fonction Filtre,
  • Enfin, valider la formule par la touche Entrée du clavier,
Avec le choix par défaut (0) pour les lignes paires, c'est effectivement l'alternance de ces dernières qui commence par le mois de Janvier (ligne 6), suivi par le mois de Mars (Ligne 8) et ainsi de suite.

Extraire une ligne sur deux avec la fonction Excel Filtre

En revanche, si vous choisissez le chiffre 1 en cellule I3, l'alternance des lignes impaires débute par le mois de Février (Ligne 7), se poursuit par le mois d'Avril (Ligne9), continue avec le mois de Juin (Ligne 11) et ainsi de suite.

Sur le site bonbache, si vous consultez la syntaxe que nous avions accomplie pour créer cette alternance de lignes :
=INDEX(tab; LIGNE(INDIRECT("1:" & LIGNES(tab)))*2-1;   COLONNE(INDIRECT("1:" & COLONNES(tab))))

Vous constatez que nous avons considérablement simplifié le cas :
=FILTRE(tabl; MOD(LIGNE(tabl); 2)=I3)

 
Sur Facebook
Sur Youtube
Les livres
Contact
Mentions légales



Abonnement à la chaîne Youtube
Partager la formation
Partager sur Facebook
Partager sur Twitter
Partager sur LinkedIn