Trouvez le classement d’un article dans chaque colonne dans Google Sheets

Imaginez que vous avez donné une liste de quatre articles alimentaires à trois utilisateurs et leur avez demandé de classer ces articles. Plus tard, vous avez créé un tableau dans Google Sheets en fonction de leurs classements. Maintenant, vous souhaitez vérifier le classement d’un article, par exemple « Maryland crabcakes », dans chaque colonne de ce tableau dans Google Sheets.

Étapes pour trouver le classement d’un article dans chaque colonne dans Google Sheets

Il y a quatre étapes principales pour trouver le classement des articles dans chaque colonne dans Google Sheets. Vous pouvez les trouver sous des sous-titres différents.

1. Faites correspondre un article dans plusieurs colonnes dans Google Sheets

Nous pouvons utiliser la fonction REGEXMATCH pour faire correspondre un article dans plusieurs colonnes dans Google Sheets. Par exemple, si nous utilisons la formule REGEXMATCH suivante dans la liste ci-dessus, le résultat sera un tableau avec des valeurs VRAI | FAUX.

=ArrayFormula(regexmatch($B$2:$D$5,F2))

2. Trouvez la position d’un article dans chaque colonne dans Google Sheets

Pour trouver le classement de l’article dans chaque colonne, nous devons d’abord obtenir sa position dans chaque colonne. Pour cela, nous pouvons utiliser une formule de combinaison.

Par exemple, si nous utilisons MATCH, pour trois utilisateurs, nous devons utiliser trois formules MATCH combinées comme celle-ci dans une seule cellule ou individuellement dans trois cellules différentes.

={match($F$2,B2:B5,0),match($F$2,C2:C5,0),match($F$2,D2:D5,0)}

Mais nous allons utiliser une approche différente. Nous allons simplement convertir les valeurs VRAI en position relative correspondante. Pour cela, nous utiliserons la fonction ADDRESS comme ceci dans Google Sheets.

=ArrayFormula(if(regexmatch($B$2:$D$5,F2)=true,regexextract(address(row($A$2:$A$5)-1,column($B$2:$D$2)),"[0-9]+"),))

3. Combinez les noms de colonne avec le classement de chaque article dans chaque colonne

Il suffit de combiner les noms des utilisateurs (entête de colonne) avec la formule ci-dessus (cellule G2) en utilisant les accolades CURLY BRACES qui servent à former des tableaux virtuels dans Google Sheets. Pour cela, modifiez la formule G2 comme ceci.

=ArrayFormula({split(textjoin("|",true,(transpose(if(regexmatch($B$2:$D$5,F2)=true,regexextract(address(row($A$2:$A$5)-1,column($B$2:$D$2)),"[0-9]+"),)))),"|");B1:D1})

4. Triez le classement de l’article par ordre croissant

Nous voulons trier le classement, qui se trouve dans la première ligne du résultat. La fonction SORT de Google Sheets permet de trier les colonnes, pas les lignes. Donc, transposez d’abord la sortie ci-dessus, puis triez.

La formule dans la cellule G2 :

=sort(transpose({split(textjoin("|",true,(transpose(if(regexmatch($B$2:$D$5,F2)=true,regexextract(address(row($A$2:$A$5)-1,column($B$2:$D$2)),"[0-9]+"),)))),"|");B1:D1}))

Voici les étapes finales pour trouver le classement d’un article dans chaque colonne dans Google Sheets. En utilisant deux formules INDEX, nous pouvons diviser ces colonnes en deux parties : le classement et les noms.

Classement :

=index(sort(transpose({split(textjoin("|",true,(transpose(if(regexmatch($B$2:$D$5,F2)=true,regexextract(address(row($A$2:$A$5)-1,column($B$2:$D$2)),"[0-9]+"),)))),"|");$B$1:$D$1})),0,1)

Noms :

=index(sort(transpose({split(textjoin("|",true,(transpose(if(regexmatch($B$2:$D$5,F2)=true,regexextract(address(row($A$2:$A$5)-1,column($B$2:$D$2)),"[0-9]+"),)))),"|");$B$1:$D$1})),0,2)

Combinez ces deux formules en plaçant & « ]  » & entre elles dans la cellule G2.

=ArrayFormula(index(sort(transpose({split(textjoin("|",true,(transpose(if(regexmatch($B$2:$D$5,F2)=true,regexextract(address(row($A$2:$A$5)-1,column($B$2:$D$2)),"[0-9]+"),)))),"|");$B$1:$D$1})),0,1)&"] "&index(sort(transpose({split(textjoin("|",true,(transpose(if(regexmatch($B$2:$D$5,F2)=true,regexextract(address(row($A$2:$A$5)-1,column($B$2:$D$2)),"[0-9]+"),)))),"|");$B$1:$D$1})),0,2))

Ensuite, transposer à nouveau.

=transpose(ArrayFormula(index(sort(transpose({split(textjoin("|",true,(transpose(if(regexmatch($B$2:$D$5,F2)=true,regexextract(address(row($A$2:$A$5)-1,column($B$2:$D$2)),"[0-9]+"),)))),"|");$B$1:$D$1})),0,1)&"] "&index(sort(transpose({split(textjoin("|",true,(transpose(if(regexmatch($B$2:$D$5,F2)=true,regexextract(address(row($A$2:$A$5)-1,column($B$2:$D$2)),"[0-9]+"),)))),"|");$B$1:$D$1})),0,2)))

En suivant ces étapes, vous pouvez trouver le classement d’un article dans chaque colonne dans Google Sheets.

Pour trouver le classement de plusieurs articles en fonction de leur position dans chaque colonne dans Google Sheets, vous pouvez suivre les étapes suivantes :

  1. Entrez les noms des articles dans la colonne F2:F.
  2. Faites glisser la formule G2 vers le bas.

Notes d’utilisation :

  • La formule ci-dessus est valable pour la plage B2:D5. Pour étendre le nombre de lignes (nombre d’articles), remplacez toutes les occurrences de $B$2:$D$5 dans la formule par $B$2:$D et $A$2:$A$5 par $A$2:$A. Veuillez également supprimer les lignes inutilisées (lignes vides) de la feuille.
  • S’il y a plus d’utilisateurs, par exemple, pour 4 utilisateurs, remplacez toutes les occurrences de $B$2:$D$2 dans la formule par $B$2:$E$2.
  • L’article doit être unique dans chaque colonne et doit apparaître dans chaque colonne. Par exemple, si nous voulons trouver le classement de l’article « Maryland crabcakes » dans chaque colonne, par exemple de B à D, il doit être présent dans chaque colonne et ne doit pas se répéter.

Articles en lien