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

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,
 

Monique

Nous a quitté
Repose en paix
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
 

lebarbo

XLDnaute Occasionnel
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:D3=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,
 

Monique

Nous a quitté
Repose en paix
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

  • IndexEquivMaxLebarbo.xls
    18 KB · Affichages: 50

lebarbo

XLDnaute Occasionnel
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

  • Fonction matricielle.xlsx
    9.5 KB · Affichages: 39
  • Fonction matricielle.xlsx
    9.5 KB · Affichages: 44
Dernière édition:

R@chid

XLDnaute Barbatruc
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:

Monique

Nous a quitté
Repose en paix
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
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 069
Messages
2 085 040
Membres
102 763
dernier inscrit
NICO26