Extraire les premières lignes de chaque groupe dans Google Sheets

Avez-vous déjà eu besoin de limiter le nombre de lignes dans chaque groupe de données dans Google Sheets ? Habituellement, j’utilise la fonction Query pour cela, mais est-il possible d’extraire les premières lignes de chaque groupe en utilisant Query ?

La réponse est oui ! Nous pouvons le faire. Vous pouvez limiter le nombre de lignes dans chaque groupe en utilisant Query dans Google Sheets.

Avant de rentrer dans les détails, voici un tutoriel similaire qui pourrait vous être utile : Comment trouver les N valeurs les plus élevées de chaque groupe dans Google Sheets.

Pour expliquer comment extraire les premières lignes de chaque groupe dans Google Sheets, je vais utiliser les données suivantes :

Dans les données de démonstration, la colonne A contient les noms des fleurs comme Orchidées, Tulipes et Soucis, et la colonne B contient quelques valeurs. Il est important de noter que les données sont déjà triées par la colonne A pour ordonner les groupes d’éléments.

Si vos données ne sont pas triées (non groupées), il existe une formule différente que je décrirai à la fin de ce tutoriel. Cependant, je vous suggère d’abord d’apprendre la solution avec les données triées.

Comment extraire les premières lignes de chaque groupe

Si les données sont triées par la colonne A :

Voici la formule qui extrait les deux premières lignes de chaque groupe de fleurs. J’ai utilisé cette formule dans la cellule D2.

=Query({A2:B,ARRAYFORMULA(COUNTIFS(A2:A,A2:A,ROW(A2:A),"<="&ROW(A2:A)))},"Select Col1,Col2 where Col3<=2")

Expliquons cette formule :

En réalité, nous avons deux colonnes de données « physiquement ». Mais dans Query, une troisième colonne est générée par la formule de compte en cours d’exécution.

Le compte en cours d’exécution génère des chiffres séquentiels 1, 2, 3… qui recommencent à compter à partir de 1 à chaque changement de groupe.

Si vous entrez la formule du compte en cours d’exécution dans une cellule vide (par exemple, dans la cellule C2), voici le résultat :

Séquence de changement

Pour filtrer les premières lignes de chaque groupe, j’ai utilisé l’opérateur de comparaison « <= » dans la clause WHERE de la Query, c’est-à-dire Col3<=2. Cela signifie les deux premières lignes de chaque groupe.

Vous pouvez changer ce nombre 2 en fonction du nombre de lignes que vous souhaitez extraire de chaque groupe.

Pour extraire les premières lignes de chaque groupe, vous pouvez suivre la méthode ci-dessus dans Google Sheets.

Extraire les N premières lignes de chaque groupe (non triées)

Si vous avez un groupe de données non triées, vous pouvez facilement ajuster la formule ci-dessus pour l’utiliser comme suit :

=Query({sort(A2:B,1,0),ARRAYFORMULA(COUNTIFS(sort(A2:A,1,0),sort(A2:A,1,0),ROW(A2:A),"<="&ROW(A2:A)))},"Select Col1,Col2 where Col3<=2")

Dans cette formule, j’ai utilisé la fonction SORT avec toutes les plages de données utilisées dans la formule, à l’exception de la fonction ROW.

J’ai virtuellement trié les données à l’aide de la fonction SORT. C’est le seul changement dans la formule.

Voilà ! Vous savez maintenant comment extraire les premières lignes de chaque groupe dans Google Sheets. Cette méthode est extrêmement utile pour gérer les données et obtenir les résultats souhaités.

Si vous souhaitez en savoir plus sur la formule de compte en cours d’exécution ou sur d’autres fonctionnalités de Google Sheets, n’hésitez pas à consulter les ressources disponibles sur Crawlan.com.

Articles en lien