Fonction matricielle, se décaler par rapport au résultat

  • Initiateur de la discussion Initiateur de la discussion lebarbo
  • 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 !

lebarbo

XLDnaute Occasionnel
Bonjour à tous,

Je prends volontairement un exemple simpliste pour vous expliquer mon problème :
J'ai trois colonnes :
--------A ---------B--------C
1------max-------5--------15
2------dupont----1-------12
3------roger------2--------6

Je fais le calcul suivant :
={max(B1:B3-C1:C3)} = -4
-4 fait référence à la ligne 3 et donc à roger.
J'aimerais que ma cellule m'affiche "roger" à la place de -4. Comment puis-je procéder ? Index(Equiv...?

Merci d'avance pour votre retour,
 
Re : Fonction matricielle, se décaler par rapport au résultat

Bonjour,

A essayer :
Code:
=INDEX($A$1:$A$3;MAX(SI($B$1:$B$3-$C$1:$C$3=MAX($B$1:$B$3-$C$1:$C$3);LIGNE($A$1:$A$3))))
Formule matricielle, à valider par ctrl, maj et entrée
Ça me semble un peu long mais je ne trouve pas mieux
 
Re : Fonction matricielle, se décaler par rapport au résultat

Bon... je pense que je l'ai un peu trop simplifié et du coup je n'arrive pas à reproduire la solution...Est-il possible de remplacer max par grande.valeur( ; 1) et d'ajouter une condition sur la colonne D :
--------A ---------B--------C----------D
1------maxime--5--------15--------0
2------dupont----1-------12 -------0
3------roger------N/A--------6------1

La condition serait si colonne D = 0 alors ok pour le calcul.
Ma formule devient alors ={GRANDE.VALEUR(SI(D1😀3=0;B1:B3-C1:C3);1)}=-10 et donc à "maxime"

En attendant, je continue à tester et vous prévient bien sûr si je m'en sors.

Merci,
 
Re : Fonction matricielle, se décaler par rapport au résultat

Re, Lebarbo

Eh oui, Rachid

Tu aurais intérêt à mettre des formules conditionnelles en colonnes A et B plutôt que de conserver des N/A.
B1:B3-C1:C3 ne fonctionne pas sans complications avec un N/A au milieu de tout.
Il vaut mieux garder la colonne qui donne la différence entre B et C (formule conditionnelle aussi)
Grande.Valeur n’a d’intérêt que si tu as besoin de plusieurs valeurs (Max est plus court)

Code:
=INDEX($A$1:$A$3;EQUIV(GRANDE.VALEUR(SI($D$1:$D$3=0;SI(ESTNUM($E$1:$E$3);$E$1:$E$3));1);$E$1:$E$3;0))
 

Pièces jointes

Re : Fonction matricielle, se décaler par rapport au résultat

Bonjour Rachid,

En fait je voulais simplifier mais au vu du problème j'attache un fichier.

Monique, je ne peux créer des formules dans mon tableau, car il est construit à partir de lien dynamique vers un autre outil et ça serait trop complexe à recréer.
J'utilise des grandes valeurs car je fais au final un top 10 et un flop 10 (petite.valeur).
 

Pièces jointes

Dernière édition:
Re : Fonction matricielle, se décaler par rapport au résultat

Bonjour @ tous,

en F1,
Code:
=SIERREUR(GRANDE.VALEUR(SI(D$1:D$3=0;SI(ESTNUM(B$1:B$3-C$1:C$3);B$1:B$3-C$1:C$3));LIGNE());"")

en H1,
Code:
=SIERREUR(INDEX(A$1:A$3;EQUIV(GRANDE.VALEUR(SI(D$1:D$3=0;SI(ESTNUM(B$1:B$3-C$1:C$3-LIGNE(A$1:A$3)/9^9);B$1:B$3-C$1:C$3-LIGNE(A$1:A$3)/9^9));LIGNE());SI(D$1:D$3=0;B$1:B$3-C$1:C$3-LIGNE(A$1:A$3)/9^9);0));"")

@ valider par Ctrl+Maj+Entree
@ tirer vers le bas

@ + +

Edit : J'ai pas fait attention au textes, voir correction de formules
 
Dernière édition:
Re : Fonction matricielle, se décaler par rapport au résultat

Re,

Ah ! ça va mieux avec un fichier
Code:
=INDEX(A1:A3;EQUIV(GRANDE.VALEUR(SI(D1:D3=0;B1:B3-C1:C3);1);B1:B3-C1:C3;0))
J'ai essayé avec un "vrai" #N/A, ça marche aussi
 
- 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