Comment filtrer par couleur dans Google Sheets (en utilisant une formule) ?

Demande du jour de mes collègues, toujours enclin à me taquiner sur une fonction disponible dans Excel mais pas encore dans Google Sheets : comment filtrer par couleur dans Google Sheets ?

Malheureusement, il n'y a pas de moyen direct de filtrer par couleur dans Google Sheets. Mais il y a la possibilité de créer une fonction pour répondre au besoin.

Par exemple, supposons que j'ai un ensemble de données comme indiqué ci-dessous et que je veux filtrer toutes les lignes où l'enregistrement a été coloré dans une couleur spécifique.


Pour que Google Sheets filtre un ensemble de données, il est nécessaire de trouver un critère filtrable. La couleur n'est pas une valeur en soi, nous ne pouvons pas filtrer sur cette base par défaut.

Par contre, en utilisant un script, nous pouvons convertir la couleur en un code hexadécimal (qui est un code attribué à chaque couleur).

Une fois que vous avez le code hexadécimal, nous pouvons maintenant filtrer les données en fonction de celui-ci.

Voici le script qui va créer une fonction dans votre document Google Sheets que vous pouvez utiliser pour obtenir le code hexadécimal de la couleur qui a été appliquée aux cellules.


La fonction ci-dessus prend la plage comme entrée et renvoie le code hexadécimal de couleur de fond de la cellule d'entrée.

Une fois que vous avez ajouté ce code à l'éditeur de script, vous pourrez utiliser la fonction ObtenirCodeCouleurCellule pour obtenir le code hexadécimal de la couleur de la cellule dans une autre cellule.



La fonction fonctionne de la façon suivante : 


La formule ci-dessus utilise la fonction que nous avons créée (ObtenirCodeCouleurCellule).

Comme je ne souhaite pas que ce soit manuel, j'ai utilisé "B"&LIGNE() - qui retourne l'adresse de la cellule basée sur la ligne dans laquelle la formule est utilisée. Dans la ligne 2, cela donnerait B2, dans la ligne 3, cela donnerait B3, et ainsi de suite.

Les cellules qui n'ont pas de couleur retournent le code hexadécimal #ffffffff et les cellules qui ont une couleur retournent le code hexadécimal de cette couleur.

Maintenant que vous avez les codes hexadécimaux dans une colonne séparée, vous pouvez facilement filtrer par couleur en filtrant par la valeur de code hexadécimal.

MAJ du 11 mars 2020 : le tri et le filtre des cellules par texte ou couleur de remplissage dans Google Sheets est maintenant natif - Voir ce lien

Commentaires