Microsoft 365 Récupérer le nom de la colonne portant la dernière valeur supérieure à 0 sur une ligne

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 !

LucileCrn

XLDnaute Nouveau
Bonjour à tous,

Pour une ligne donnée, je dois restituer le titre de la première colonne porteuse d'une valeur supérieure à 0, et le titre de la dernière colonne porteuse d'une valeur supérieure à 0.

Pour la première colonne, j'ai réussi :
=INDEX($C$2:$X$2; EQUIV(VRAI;INDEX(C3:X3>0;0);0))
C2:X2 : Titre des colonnes
C3:X3 : Ligne avec mes valeurs (0 ou+)
==> J'obtiens bien en résultat le titre de la première colonne (2023-2627) qui a une valeur strictement supérieure à 0.


Par contre pour le même exercice avec le titre de la dernière colonne .. je sèche!
J'ai tenté beaucoup de choses différentes mais j'en suis là :
=INDEX(C2:X2;MAX(SI(C3:X3>0;COLONNE(C3:X3))))

Le résultat est pour l'instant 2023-3334 alors que cela devrait être 2023-3031

Merci par avance pour votre aide 🙂
 

Pièces jointes

Bonjour,

La formule est correcte pourtant, c'est simplement ta compréhension de ce que tu as mis dedans qui pose problème :
- l'utilisation de INDEX dans la première formule renvoie le numéro d'index de ta colonne, pas le numéro de la colonne. Ce que ça veut dire, c'est que tu considères la colonne C comme étant "la première colonne" par rapport à ton référentiel d'index. Donc le résultat est correct.
- par contre, dans ta deuxième formule, tu utilises directement MAX(COLUMN()), sans passer par un index. Ainsi, les numéros de colonnes commencent par 1 en colonne A, etc ... Sauf que vu que ta formule est dans la colonne B (la colonne numéro 2), tu es décalé de 2 colonnes dans le résultat renvoyé par ton MAX. INDEX ayant besoin d'un d'index relatif à la plage cherchée, tu renvoies donc un résultat deux colonnes trop loin -> d'où le fait que la formule renvoie 2023-3334, qui est l'entête de colonne "2 colonnes trop loin".

Concrètement, en passant par les colonnes, il faudrait déduire le numéro de colonne dans laquelle se trouve ta formule de manière à "indexer" ta recherche, c'est à dire =INDEX(C2:X2;MAX(IF(C3:X3>0;COLUMN(C3:X3)))-COLUMN())

Bonne journée,
 
- 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

Retour