Extraire le premier ou le dernier enregistrement dans chaque catégorie en fonction de 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 dans chaque catégorie dans Google Sheets. Avant de vous plonger dans la solution, laissez-moi d’abord expliquer le problème en détail.

Vous allez obtenir ici deux formules :

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

Commençons par extraire les derniers enregistrements en détail. Je vais d’abord vous fournir cette formule. Ensuite, vous pouvez simplement ajuster cette formule pour obtenir les premiers enregistrements.

Supposons que vous ayez un projet en cours et que vous mettiez à jour votre feuille de calcul (ici Google Sheets) avec l’avancement de chaque activité fréquemment.

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

Extract the earliest or latest record in each category in Sheets

Multiples activités dans chaque catégorie – Exemple

Dans cet exemple, les données ne sont pas triées. Vous pouvez utiliser des 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 la solution fonctionne dans une colonne de dates ? Sans aucun doute, la colonne A (selon les données d’exemple ci-dessus) peut contenir des dates ou des horodatages.

Je préfère une colonne d’horodatage plutôt qu’une colonne de dates dans un but précis. Quel est-il ?

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 des données d’exemple.

Il est courant qu’il y ait plusieurs catégories/tâches sous un projet. Cela signifie que votre saisie de données d’avancement de projet dans une feuille de calcul, ici dans Google Sheets, peut présenter les particularités suivantes :

  • Contenir plusieurs catégories ou tâches.
  • L’avancement de chaque tâche sur 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 l’avancement de chaque tâche ou catégorie, vous devrez filtrer ou extraire le dernier enregistrement dans chaque catégorie.

Exemple pour extraire le dernier enregistrement dans chaque catégorie

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

Voici le résultat attendu basé sur mes données d’exemple ci-dessus. J’ai seulement le dernier enregistrement dans chaque catégorie.

Pour extraire ou filtrer les enregistrements « requis » à partir d’un ensemble de données, vous pouvez normalement utiliser la fonction Filtre ou Query dans Google Sheets. Mais ne tirez pas de conclusions hâtives ici.

Nous ne pouvons pas utiliser les fonctions Filtre ou Query pour notre objectif avec efficacité.

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 avec l’aide de la fonction SORTN.

Comment filtrer le dernier enregistrement dans 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 :

={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 déjà utilisé ce type de formules dans certains de mes tutoriels précédents.

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

Explication de la formule :

Pour comprendre une formule composite, regardez simplement 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 les plus récentes (horodatage) 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 (quel que soit l’ordre choisi ici) et supprime les catégories/tâches en double. Pour plus de clarté, veuillez jeter un coup d’œil à cette image. Prêtez une attention particulière au modèle de couleur.

Sortn - remove earliest records

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

  • 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 ? Voici – Les modes d’égalité SORTN dans Google Sheets.
  • Colonne de tri – Outre le mode d’égalité, vous devez également spécifier une colonne à trier dans SORTN. Vous pouvez définir 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 en double. Il s’agit de la colonne n° 2, la colonne des catégories ici.

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

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

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

J’ai déjà mentionné qu’il n’y a qu’un léger ajustement 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.

Puisque nous voulons le premier enregistrement parmi les enregistrements multiples, également dans chaque catégorie, nous trions la colonne d’horodatage dans l’ordre croissant. Cela signifie que les dates les plus anciennes seront alors en haut. Avant, c’était dans l’ordre décroissant.

Voici la formule ajustée pour filtrer le premier enregistrement dans chaque catégorie.

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

Conclusion

Utiliser cette méthode (la dernière formule) vous aidera à formater correctement les données pour les graphiques de GANTT ou à connaître rapidement le dernier statut (la première formule) de votre projet.

-[Lire aussi]: https://crawlan.com/articles/how-to-find-the-last-row-in-each-group-in-google-sheets

Articles en lien