Utiliser les numéros de ligne comme critères de filtrage dans Google Sheets – Guide pratique

Est-il possible de filtrer les lignes en fonction de leur numéro de ligne dans Google Sheets ? Oui ! Vous pouvez utiliser les numéros de ligne comme critères de filtrage dans Google Sheets.

Pour filtrer les lignes en fonction des numéros de ligne donnés, vous pouvez utiliser la fonction Filtre. Cela signifie que dans le filtre, les critères/conditions seront les numéros de ligne.

En fait, la formule utilisant les numéros de ligne comme critères dans la fonction Filtre est très facile à coder. Avant cela, nous devons comprendre l’utilisation réelle de ce type de filtrage.

Numéros de ligne comme critères de filtrage dans l’utilisation réelle dans Google Sheets

À des fins de tutoriel, je vais importer des données dans l’un de mes fichiers Google Sheets à partir de la page source ci-dessous sur Wikipedia. Il s’agit de l’indice de bonheur des pays du monde – Rapport sur le bonheur dans le monde – Wiki.

En utilisant la formule IMPORTHTML suivante, vous pouvez obtenir ces données d’indice de bonheur dans Google Sheets.
=IMPORTHTML(B1,"table",B2)

J’ai saisi cette formule dans la cellule A3. La cellule B1 contient l’URL de la page Wiki mentionnée ci-dessus et la cellule B2 contient le numéro de la table.

La formule importera l’ensemble du tableau qui contient environ 150 lignes dans mon fichier Google Sheets. Voici la formule et les premières lignes.

Filter Rows Based on Given Row Numbers in Google Sheets

Maintenant, nous avons un jeu de données d’exemple pour tester le type de filtre mentionné.

Êtes-vous familier avec la fonction Match dans Sheets ? Sinon, veuillez consulter mon guide – Comment utiliser la fonction Match dans Google Sheets.

La fonction Match dans Sheets peut rechercher une clé et renvoyer la position relative de cette clé/élément dans le jeu de données. Voyez l’exemple ci-dessous.

Supposons que vous souhaitiez trouver la position relative de la valeur « Australie » dans la plage B4:B de nos données d’exemple ci-dessus. Pour cela, vous pouvez utiliser cette formule Match.
=match("Australie",B4:B,0)

Cette formule renverrait 10, c’est-à-dire la position relative de la clé « Australie » dans la plage B4:B.

Si vous commencez à compter à partir de B4, vous pouvez trouver la clé « Australie » à la 10e position.

Normalement, nous utilisons cette position relative dans la fonction Index pour compenser les lignes. Vous pouvez consulter mon tutoriel sur Index-Match pour cet usage. Vous y trouverez un exemple.

Décalage de la position relative à l’aide de la fonction Index dans Google Sheets

Consultez l’image ci-dessus pour le tableau/plage utilisé dans cette formule Index-match.
=index(A4:I,match("Australie",B4:B,0),0)

Cette formule est équivalente à :
=index(A4:I,10,0)

Cela renverra la 10e ligne à partir de la plage fournie. Que se passe-t-il lorsque plusieurs clés sont présentes dans le Match et que les positions relatives sont également multiples ?

Décalage de la position relative non consécutive dans Google Sheets

Dans ce cas, la fonction Index ne sera pas utile car elle ne peut pas compenser les positions relatives non consécutives.

Dans un tel cas, vous pouvez convertir les positions relatives des clés en numéros de ligne correspondants. Vous pouvez ensuite utiliser ces numéros de ligne pour filtrer les lignes par numéros de ligne.

C’est l’objectif d’utiliser les numéros de ligne comme critères de filtrage dans la vie réelle dans Google Sheets. Je vais expliquer cette utilisation ici dans ce tutoriel.

Conversion de la position relative en numéro de ligne dans Google Sheets

Position relative en numéro de ligne – Une clé de recherche

Tout d’abord, vérifiez la plage utilisée dans la formule Match ci-dessus. Il s’agit de B4:B. Cela signifie que la plage commence à la quatrième ligne. Vous pouvez donc ajouter 3 au résultat de Match, qui est 10, pour obtenir le numéro de ligne réel à partir de cette position relative.

Au lieu d’ajouter 3, rendez-le dynamique. Voici la formule qui convertit la position relative en numéro de ligne correspondant dans Google Sheets.

Formule #1:
=match("Australie",B4:B,0)+row(B3)

Cette formule renverrait 13 en tant que numéro de ligne. La formule Row renvoie #3.

Et qu’en est-il de plusieurs clés dans le Match ?

Positions relatives en numéros de ligne – Plusieurs clés de recherche

Jetez un coup d’œil à cette formule Match qui utilise deux clés de recherche.

Formule #2:
=ArrayFormula(match({"Australie","Allemagne"},B4:B,0)+row(B3))

Cette formule renverrait les numéros de ligne 13 et 18. La clé de recherche « Australie » se trouve à la 13e ligne et la clé « Allemagne » se trouve à la 18e ligne.

Vous avez appris comment convertir les positions relatives en numéros de ligne correspondants. Laissez-moi vous montrer comment utiliser ces numéros de ligne pour extraire ces lignes dans Google Sheets.

Comment utiliser les numéros de ligne comme critères de filtrage dans Google Sheets

Tout d’abord, laissez-moi vous expliquer comment utiliser les numéros de ligne comme critères de filtrage dans Google Sheets. Ensuite, nous pourrons remplacer ces numéros de ligne par la formule Match. Cela signifie que nous utiliserons des numéros de ligne dynamiques dans le filtrage.

Numéro de ligne en tant que critère dans la fonction Filtre de Google Sheets

J’ai la formule Filtre suivante dans la cellule J4 qui utilise le numéro 13 (numéro de ligne) comme critère.
=filter(A3:I,row(A3:A)=13)

La formule extrait la ligne surlignée, qui est la 13e ligne.

Pour utiliser des numéros de ligne dynamiques, remplacez row(A3:A)=13 dans la formule par la formule Match mentionnée ci-dessus. Voici la formule :

=filter(A3:I,row(A3:A)=match("Australie",B4:B,0)+row(B3))

Numéros de ligne en tant que critères dans la fonction Filtre de Google Sheets

Comment utiliser plusieurs numéros de ligne en tant que critères de filtrage dans Filtre dans Google Sheets ?

Dans l’un de mes articles précédents, j’ai expliqué comment utiliser plusieurs conditions dans la même colonne (condition OU) dans Filtre – Comment utiliser AND, OR avec la fonction Filtre de Google Sheets.

La formule suivante est conforme aux conseils détaillés dans ce tutoriel.

=filter(A3:I,(row(A3:A)=13)+(row(A3:A)=18))

Cette formule Google Sheets filtrera les lignes 13 et 18. Comment le rendre dynamique en remplaçant deux des formules Row par notre formule Match #2 ?

C’est un peu délicat et un peu compliqué. Mais ne vous inquiétez pas ! Je vais essayer de l’expliquer.

Voici les instructions étape par étape.

Étape 1 :
Nous devons d’abord convertir la Formule #2 en sortie comme suit.
^13$|^18$

Comment ? Pour obtenir cela, utilisez la fonction Textjoin avec la formule Match #2.

=ArrayFormula(textjoin("|",true,"^"&(match({"Australie","Allemagne"},B4:B,0)+row(B3)&"$")))

Étape 2 :
Utilisez la formule ci-dessus en tant que regular_expression dans Regexmatch. Autrement dit, remplacez « ^13$|^18$ » par la formule juste ci-dessus.

=ArrayFormula(regexmatch(row(A4:A)&"","^13$|^18$"))

Ainsi, la formule sera la suivante :

=ArrayFormula(regexmatch(row(A4:A)&"",textjoin("|",true,"^"&(match({"Australie","Allemagne"},B4:B,0)+row(B3)&"$"))))

Pour tester cela, entrez-le simplement dans la cellule J4. Vous verrez que la formule renvoie VRAI pour les numéros de ligne 13 et 18. Pour toutes les autres lignes, elle renvoie FAUX.

Maintenant, nous voulons une formule comme celle-ci pour renvoyer les lignes contenant VRAI.

Formule générique :
=filter(A4:I,regexmatch_formula=TRUE)

Remplacez regexmatch_formula par la formule ci-dessus et cette formule finale sera la suivante :

=filter(A4:I,regexmatch(row(A4:A)&"",textjoin("|",true,"^"&(match({"Australie","Allemagne"},B4:B,0)+row(B3)&"$")))=TRUE)

De cette manière, vous pouvez utiliser les numéros de ligne comme critères de filtrage dans Google Sheets.

Lecture complémentaire : Filtre des mots-clés correspondants dans Google Sheets – Correspondance partielle ou totale.

Articles en lien