Comment extraire le premier ou le dernier enregistrement de chaque catégorie basé sur l’horodatage dans Google Sheets

Si votre ensemble de données contient une colonne d’horodatage, vous pouvez extraire efficacement le premier ou le dernier enregistrement de chaque catégorie dans Google Sheets. Avant de plonger dans la solution, permettez-moi d’expliquer le problème en détail.

Vous allez obtenir deux formules ici :

  1. Une formule pour filtrer/extraire les derniers enregistrements de chaque catégorie.
  2. Une formule pour filtrer/extraire les premiers enregistrements de chaque catégorie.

Commençons par extraire les derniers enregistrements en premier et de manière détaillée. Je vais vous fournir cette formule en premier lieu. Ensuite, vous pourrez simplement ajuster cette formule pour obtenir les premiers enregistrements.

Imaginons que vous avez un projet en cours et que vous mettez régulièrement à jour votre feuille de calcul (ici Google Sheets) avec l’avancement de chaque activité.

Vous pouvez avoir une table avec plusieurs enregistrements pour la même activité. Cela pourrait ressembler à quelque chose comme ça :

Extract the earliest or latest record in each category in Sheets

Exemple de plusieurs activités dans chaque catégorie

Dans cet exemple, les données ne sont pas triées. Vous pouvez utiliser les données dans n’importe quel ordre, qu’elles soient triées ou non.

La solution que je vais partager avec vous fonctionnera parfaitement avec les deux types d’ensembles de données. Cependant, il doit y avoir une colonne d’horodatage dans votre ensemble de données.

Est-ce que cette solution fonctionne avec une colonne de dates ? Sans aucun doute, la colonne A (selon l’exemple de données ci-dessus) peut contenir des dates ou des horodatages.

Je préfère une colonne d’horodatage plutôt qu’une colonne de dates pour une raison. Quelle est cette raison ?

En cas de plusieurs entrées de la même catégorie pendant la même journée, l’horodatage sera utile. Ainsi, nous pouvons différencier quel est le dernier enregistrement.

Voici les détails de l’exemple de données.

Il est courant d’avoir plusieurs catégories/tâches dans un projet. Cela signifie que votre saisie de données de progression de projet dans une feuille de calcul, ici dans Google Sheets, peut avoir les particularités suivantes :

  • Contenir plusieurs catégories ou tâches.
  • La progression de chaque tâche dans plusieurs lignes et plusieurs fois.

C’est ce que montre la capture d’écran ci-dessus. Notez également que les données ne sont pas triées par catégories/tâches. C’est pourquoi vous ne voyez pas les tâches/catégories regroupées.

Si vous souhaitez évaluer la progression de chaque tâche ou catégorie, vous devrez filtrer ou extraire le dernier enregistrement de chaque catégorie.

Exemple d’extraction du dernier enregistrement de chaque catégorie

Comme je l’ai mentionné précédemment, si vous disposez d’une colonne d’horodatage, il est facile d’extraire le dernier enregistrement de chaque catégorie en fonction de cette colonne de date/horodatage.

Voici le résultat attendu en fonction de mes données d’exemple ci-dessus. Dans ce cas, je n’ai que le dernier enregistrement de chaque catégorie.

Pour extraire ou filtrer les enregistrements « requis » à partir d’un ensemble de données, vous pouvez normalement utiliser les fonctions Filtre ou Requête dans Google Sheets. Mais ne sautez pas trop vite aux conclusions.

Nous ne pouvons pas utiliser les fonctions Filtre ou Requête à cette fin, ou vous pouvez dire « efficacement » à cette fin.

Nous pouvons suivre une approche différente en utilisant la fonction SORTN. Au lieu de filtrer, nous pouvons penser à supprimer les lignes indésirables dans la sortie. C’est ce que je vais faire dans cet exemple à l’aide de la fonction SORTN.

Comment filtrer le dernier enregistrement de chaque catégorie dans Google Sheets – basé sur une colonne d’horodatage

Voici la formule que j’ai utilisée dans la cellule F1 dans mon exemple ci-dessus (veuillez consulter la capture d’écran juste au-dessus).

={A1:D1;sortn(sort(A2:D11,1,false),9^9,2,2,true)}

Je sais que beaucoup d’entre vous sont nouveaux dans ce domaine. Mais j’ai utilisé ce type de formules dans certains de mes tutoriels précédents également.

Si vous les avez manqués, ne vous inquiétez pas. J’ai inclus un lien vers l’un de ces tutoriels à la fin de cet article (point n°1 sous lecture complémentaire).

Explication de la formule :

Pour comprendre une formule combinée, il suffit de regarder la partie centrale de cette formule. À partir de là, elle se développe. Voici cette partie centrale :

=sort(A2:D11,1,false)

Cette formule SORT trie les données en fonction de la colonne d’horodatage (colonne A) dans l’ordre décroissant. Ainsi, l’enregistrement avec les dates et heures (horodatage) les plus récents sera en haut. Nous n’avons pas encore trié les catégories/tâches (colonne B).

La formule SORT ci-dessus sert de plage à trier dans la formule SORTN ci-dessous. Que fait la formule SORTN ?

=sortn(sort(A2:D11,1,false),9^9,2,2,true)

La formule SORTN trie la colonne 2 dans l’ordre croissant (peu importe l’ordre que vous choisissez ici) et supprime les catégories/tâches en double. Pour plus de clarté, veuillez regarder cette image. Prêtez une attention particulière au schéma de couleurs.

Sortn - remove earliest records

Sur cette image, j’ai expliqué chaque détail. Mais je sais que vous pouvez avoir des doutes sur les deux derniers points qui représentent les textes en vert et en magenta.

  1. Mode d’égalité – Le nombre 2 est le mode d’égalité dans SORTN pour supprimer les entrées en double dans n’importe quelle colonne. Vous voulez en savoir plus sur les modes d’égalité dans SORTN de Sheets ? Vous trouverez ici tous les détails : SORTN Tie Modes in Google Sheets
  2. Colonne de tri – Outre le numéro du mode d’égalité, vous devez spécifier une colonne à trier également dans SORTN. Vous pouvez choisir n’importe quel ordre de tri cette fois-ci. Ce numéro de colonne joue un rôle clé dans l’élimination de l’enregistrement répétitif. Il s’agit de la colonne n°2, la colonne de catégories ici.

La formule ci-dessus renvoie nos données requises. C’est-à-dire qu’elle extrait le dernier enregistrement de chaque catégorie. Mais il manque une chose, c’est l’en-tête.

Je l’ai combiné avec la sortie de formule ci-dessus en utilisant les accolades ouvrantes et fermantes dans la formule finale.

Comment extraire le premier enregistrement de chaque catégorie dans Google Sheets

J’ai déjà mentionné qu’il n’y a qu’une petite modification nécessaire ici. Ce n’est pas dans la formule SORTN. C’est dans la formule SORT que nous avons utilisée comme plage dans SORTN.

Comme nous voulons le premier enregistrement parmi les enregistrements multiples, et cela pour chaque catégorie, nous devons trier la colonne d’horodatage dans l’ordre croissant. Cela signifie que les dates les plus anciennes seront en haut. Auparavant, elles étaient triées dans l’ordre décroissant.

Voici la formule modifiée pour filtrer le premier enregistrement de chaque catégorie.

={A1:D1;sortn(sort(A2:D11,1,true),9^9,2,2,true)}

Filter the earliest record in each category

Conclusion

En utilisant cette méthode (la dernière formule), vous pourrez formater les données correctement pour les graphiques de GANTT ou connaître rapidement l’état le plus récent (la première formule) de votre projet.

Lecture complémentaire :

  1. How to Find the Last Row in Each Group in Google Sheets
  2. The Formula to Group Dates by Quarter in Google Sheets
  3. How to Find the Highest N Values in Each Group in Google Sheets
  4. Extract First n Rows From Each Group in Google Sheets

Êtes-vous intéressé par d’autres astuces et tutoriels Google Sheets ? Visitez bolamarketing.com dès maintenant !

Articles en lien