Comment éviter que les formules matricielles ne soient perturbées lors du tri dans Google Sheets

Les formules matricielles sont souvent sujettes à des problèmes lorsqu’elles se trouvent dans une plage de cellules que nous trions. Mais pouvons-nous empêcher les formules matricielles de se perturber lors du tri dans Google Sheets ?

Dans la plupart des cas, il est possible d’éviter que les formules matricielles ne soient perturbées lors du tri. La solution simple consiste à déplacer la formule matricielle d’une ligne au-dessus de la plage de tri.

Je vais vous expliquer comment ajuster la formule à cet effet. Cependant, cela ne fonctionne pas dans tous les cas. Voici un exemple de formule matricielle qui se perturbe lors du tri dans Google Sheets.

Données d’exemple et formule matricielle avant le tri :

Array formula messing up in sorting in Google Sheets

Comme vous pouvez le voir, il y a une formule matricielle dans la cellule C2 qui renvoie les notes des étudiants en fonction de leurs scores. C’est une formule matricielle imbriquée IF qui fonctionne comme suit (sans explication de la formule) :

Si la « Note globale sur 1000 » d’un étudiant est supérieure à 900, la formule attribue la note « A » à cet étudiant dans la colonne C. Pour les notes supérieures à 700, la formule attribue la note « B », si la note est supérieure à 500, la formule attribue la note « C », sinon elle attribue la note « D ».

J’ai attribué les notes à l’aide d’une seule formule matricielle, n’est-ce pas ? Maintenant, je veux trier les noms des étudiants par ordre alphabétique.

Pour ce faire, je peux sélectionner la plage A2:C8 et trier les données en cliquant sur le menu Données Trier la plage par colonne A, A->Z.

Après le tri, vérifiez la colonne C. Vous pouvez voir que le tri a perturbé la formule matricielle dans cette colonne. C’est parce que la ligne contenant la formule matricielle a été déplacée vers le bas.

Données d’exemple et formule matricielle après le tri :

Sorting breaks array formula in Google Sheets

Solutions pour éviter que les formules matricielles ne soient perturbées lors du tri

Pour éviter que les formules matricielles ne soient perturbées lors du tri dans Google Sheets, nous pouvons utiliser une astuce. Quelle est cette astuce ?

Il s’agit de saisir la formule matricielle en dehors de la plage de tri ! Au lieu de saisir la formule matricielle dans la cellule C2, en utilisant mon exemple ci-dessus, vous pouvez utiliser la formule dans la cellule C1.

Cela signifie qu’afin d’éviter que le tri ne perturbe la formule matricielle, saisissez la formule matricielle dans la ligne d’en-tête qui contient les noms de colonnes.

Mais vous ne pouvez pas utiliser la formule telle quelle. Il se peut que vous deviez apporter quelques modifications mineures à la formule selon la syntaxe suivante :

={"nom de la colonne"; formule matricielle}

Cela signifie que vous devez ajouter un nom de colonne à la formule matricielle. Comment faire cela ?

Il existe deux options/approches pour le faire :

  1. Si vous triez vos données à l’aide de la commande de tri du menu Données, utilisez l’option 1 ou 2 ci-dessous.
  2. Si vous triez vos données à l’aide de la commande de tri du menu Données ou de la vue Filtrer le tri, vous pouvez suivre l’option 2.

Vous pouvez utiliser mes méthodes (option 1 ou option 2 ci-dessous) pour éviter que « toute » formule matricielle ne soit perturbée lors du tri. J’ai choisi la formule matricielle imbriquée IF à des fins d’exemple.

Option 1

Le tri perturbe la formule matricielle (comment l’éviter)

Selon la syntaxe ci-dessus et en utilisant mon exemple, voici la formule matricielle qui ne sera pas perturbée par le tri dans Google Sheets :

={"Note"; formuleMatricielle}

Cette formule doit être saisie dans la cellule C1, et non dans la cellule C2. Étant donné que vous ne triez pas la ligne 1, la formule ne sera pas perturbée lors du tri.

Option 2

Le tri de la vue Filtrer perturbe la formule matricielle dans Google Sheets (comment l’éviter)

La formule de l’option 1 présente un problème car elle se perturbera si vous triez les données à l’aide de la commande Vue Filtrer dans le menu Données.

Sheets Filter view sorting mess up array formula

J’ai trié la colonne A, A->Z en utilisant l’option de tri dans Données > Vue Filtrer. Cette fois, le tri a perturbé la formule matricielle dans la colonne C.

Existe-t-il une solution qui fonctionne dans les deux scénarios ci-dessus (option 1 et option 2) ? Oui ! Utilisez cette formule :

=formuleMatricielle

La clé ici est de ne pas utiliser une plage ouverte comme A1:A ou B1:B dans la formule matricielle. Utilisez plutôt une plage ouverte comme A:A, B:B.

Voilà tout ce qu’il faut savoir sur la façon d’éviter que les formules matricielles ne soient perturbées lors du tri dans Google Sheets.

Lecture complémentaire :

  1. Exemple et utilisation des formules matricielles dans Google Sheets.
  2. Formule matricielle : différences entre Google Sheets et Excel.

L’article a été rédigé par bolamarketing.com, spécialiste senior de Google Sheets et propriétaire du site Crawlan.com. Vous êtes maintenant prêt à éviter que vos formules matricielles ne se perturbent lors du tri dans Google Sheets. Génial, non ?

Articles en lien