Une des manipulations très courantes à réaliser dans Excel c'est de retourner une liste de valeurs distinctes et sans vide. Pour cela, les nouvelles fonctions propagées d'Excel 365 vous être d'une grande aide.
C'est quoi une fonction propagée
Une fonction propagées c'est une fonction qui va renvoyer un résultat dans autant de cellule que nécessaire et non pas une seule cellule. Vous avez par exemple ici une présentation de la fonction UNIQUE qui s'adapte aux valeurs de la colonne A.
ATTENTION : Les fonctions matricielles dynamiques ne sont accessibles que pour les utilisateurs d'Excel 365 et Excel Online
Problème : UNIQUE renvoie les cellules vides
Nous aurions très bien pu juste utiliser la fonction UNIQUE pour extraire une liste de valeur distinctes. Seulement, si notre liste de données contient des valeurs vides, UNIQUE retourne l'information sous la forme d'un 0 😯😟
Par exemple, nous avons en colonne A la liste des prénoms mais avec certaines cellules vides. Le résultat avec la fonction UNIQUE n'est pas juste.
Étape 1 : Faire un test logique sur toutes les cellules
Avec les plages propagées, il est maintenant possible de réaliser un test logique sur toutes les cellules d'une plage de données. Et tout simplement, nous allons chercher à savoir si le contenu des cellules est vide ou pas
=ESTVIDE(A2:A15)
Mais nous devons inverser le résultat pour obtenir VRAI quand la cellule n'est pas vide. Pour réaliser cela, nous allons utiliser la fonction NON.
Étape 2 : Intégrer le test dans la fonction FILTRE
Maintenant, nous allons intégrer le résultat de ce test à l'intérieur de la fonction FILTRE. En effet, la fonction FILTRE va retourner la liste des valeurs quand le test est VRAI. Nous pouvons écrire
=FILTRE(A2:A15;NON(ESTVIDE(A2:A15)))
Étape 3 : Liste de valeurs distinctes non vides
Maintenant, il ne reste plus qu'à intégrer la formule précédente dans une fonction UNIQUE
Et pour faire le travail très proprement, vous pouvez également trier le résultat avec la fonction TRIER.
Baptiste 14
19/09/2023 @ 14:22
Re bonjour
C'est bon au final, je pense avoir identifier le problème.
J'avais cette formule : =SI(F$39=C40;D40;"")
Et donc même si la formule SI renvoie false et donc ne renvoie rien dans le cas présent (ici indiqué par ""), la cellule concernée ne peut être considérée comme vide.
Voilà, j'espère avoir été clair.
PS : désolé du deuxième commentaire mais je ne peux répondre à mon premier car il n'a pas encore été approuvé au moment où j'écris ces lignes
Bonne continuation à vous 🙂
Frédéric LE GUEN
19/09/2023 @ 14:24
C'est surtout que le premier n'était vraiment pas clair 😉 Content pour vous que vous ayez trouvé la réponse à votre problème (c'est le meilleur moyen de progresser)
Baptiste 14
19/09/2023 @ 13:56
Bonjour,
Je viens de tester sur pour récupérer les données d'une colonne quand celle-ci commence par une cellule vide.
Et dans la plage de résultats, j'ai en plus des cellules non-vide récupérées, une cellule vide qui vient avec. Comment faire pour éviter d'avoir cette cellule vide ?
Merci d'avance.
MagiX
25/12/2022 @ 18:25
Hello
ça marche quand c'est des données sur la même feuille, c'est pas la même quand les données sont dans un tableau d'une autre feuille
du coup ça n'aide pas vraiment
Nicola
18/01/2023 @ 11:02
Je viens de tester suite à la lecture de l'article et cela fonctionne très bien sur des données présentes dans d'autres tableaux ou d'autres feuilles d'un même fichier excel.