Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Créer une formule qui permette de vérifier si une colonne est composée d'une ou plusieurs valeurs

  • Initiateur de la discussion Initiateur de la discussion Kelbret
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Kelbret

XLDnaute Nouveau
Bonjour tout le monde,

Je vous explique mon soucis.

Je cherche à faire une formule (je souhaite que le fichier ne comporte aucune macro pour une simplicité de transfert).

La formule que je cherche à faire doit me permettre de vérifier s'il existe une ou plusieurs valeurs dans une colonne. Il faut également que le formule (si c'est possible ne prenne pas en compte les lignes masquées quand un filtre est activé.

Si dans la colonne A de la ligne 17 à 140 coexistent par exemple 1 dans A17 et 6 dans A26 alors la formule doit retourner "Plusieurs valeurs" et si dans toutes les cellules de cette colonne il y a qu'une valeur alors il faut que la formule retourne "Une seule valeur"

J'ai fait quelques tentatives dont :
=SI(NBVAL(FILTRE(A17:A140;SOUS.TOTAL(3;DECALER(A17:A140;LIGNE(A17:A140)-LIGNE(A17);0)))=1);"Une seule valeur";"Plusieurs valeurs")

Mais elle me renvoie une erreur #NOM?.

Après il y a des chances qu'elle ne soit pas bonne, mais je n'arrive pas à comprendre comment construire la formule.

Pensez-vous que c'est possible ou seule une macro peut fonctionner (ce que j'aimerais éviter)?


Je pense que c'est possible, mais je suis bloqué.

Est ce qu'une telle formule si elle existe doit forcément vérifier des valeurs numériques ou peut elle verifier des valeurs textuelles?


Merci d'avance pour votre aide !!
 
Solution
Bonjour Kelbret, R@chid,

Voyez le fichier joint et le tableau structuré.

Formule de la colonne auxiliaire Test :
Code:
=REPT([@Equipe];SOUS.TOTAL(3;[@Equipe]))
Formule en D8 :
Code:
=SI(SOMMEPROD(1/NB.SI(Tableau1[Test];Tableau1[Test]))>1+SIGNE(NB.SI(Tableau1[Test];""));"Plusieurs équipes";INDEX(Tableau1[Test];EQUIV("?*";Tableau1[Test];0)))
A+
Je joins un fichier pour l'exemple. Merci pour ton retour sur Excel 2016

J'ai essayé de m'orienter vers une vérification de voir s'il existait plusieurs données sur la plage souhaitée, mais je pense que j'utilise des formules non compatibles avec mon excel
 

Pièces jointes

Bonjour Kelbret, R@chid,

Voyez le fichier joint et le tableau structuré.

Formule de la colonne auxiliaire Test :
Code:
=REPT([@Equipe];SOUS.TOTAL(3;[@Equipe]))
Formule en D8 :
Code:
=SI(SOMMEPROD(1/NB.SI(Tableau1[Test];Tableau1[Test]))>1+SIGNE(NB.SI(Tableau1[Test];""));"Plusieurs équipes";INDEX(Tableau1[Test];EQUIV("?*";Tableau1[Test];0)))
A+
 

Pièces jointes

Dernière édition:
Bonjour @job75 !

Wouah merci la formule marche parfaitement !

A priori j'étais vraiment très très très loin du résultat.

C'est impressionnant comme tu as pu trouver rapidement la logique de la formule ! Je vais essayer de la décortiquer mais pour le coup j'ai du mal à bien la saisir !

En tout cas c'est exactement le résultat que je recherchais ! Merci beaucoup
 
Bonjour Kelbret, R@chid,

Si l'on veut pouvoir afficher "Tout le monde" il suffit d'ajouter un test en début de formule :
Code:
=SI(NB.SI(Tableau1[Test];"")=NB.SI(Tableau1[Equipe];"");"Tout le monde";SI(SOMMEPROD(1/NB.SI(Tableau1[Test];Tableau1[Test]))>2;"Plusieurs équipes";INDEX(Tableau1[Test];EQUIV("?*";Tableau1[Test];0))))
Pour "Plusieurs équipes" il y a au moins 2 équipes plus des textes vides "" en colonne "Test".

A+
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…