XL 2016 Rechercher la valeur la plus à droite dans une plage en fonction d'un seuil

niiiiiiiiiico

XLDnaute Occasionnel
Bonjour

Je cherche à prendre la valeur la plus à droite dans ma ligne L13:AC13 mais en excluant les valeurs <=100

Cette formule permet de trouver la valeur la plus à droite mais sans le critère qui exclue les valeurs <=100
=RECHERCHEH(9^9;L13:AC13;1)

Comment faire un rechercheh avec un si du coup ?

Merci :)
 

patricktoulon

XLDnaute Barbatruc
bonjour à tous
1709144111805.png
 

Pièces jointes

  • premier valeur au dessus de 100 en partant de la droite d une ligne.xlsx
    8.5 KB · Affichages: 5

JHA

XLDnaute Barbatruc
Bonjour à tous,

VB:
=INDEX($C$2:$O$2;MAX(SI($C$2:$O$2>100;COLONNE($C$2:$O$2)-2)))

Le début de plage à contrôler débute à la colonne "C" donc la 3ème colonne, on soustrait deux (-2) pour donner une plage de 1 à x afin de donner le résultat exact avec la fonction index().

COLONNE($C$2:$O$2)
{3.4.5.6.7.8.9.10.11.12.13.14.15}

COLONNE($C$2:$O$2)-2
{1.2.3.4.5.6.7.8.9.10.11.12.13}

même chose avec grande.valeur

JHA
 
Dernière édition:

ALS35

XLDnaute Occasionnel
Bonjour à tous,
@patricktoulon
Si tu souhaites te faire un catalogue de formules, quelques autres possibilités (hors gestion d'erreur) :

Pour s'affranchir de la position en colonne :
Code:
=INDEX(2:2;GRANDE.VALEUR(SI(C2:O2>100;COLONNE(C2:O2));1))

Pour s'affranchir de la position en colonne et de la validation matricielle :
Code:
=INDEX(2:2;AGREGAT(14;6;COLONNE(C2:O2)/(C2:O2>100);1))
qui permettra d'avoir également la première valeur (voire la nième) avec :
=INDEX(2:2;AGREGAT(15;6;COLONNE(C2:O2)/(C2:O2>100);1))

Pour ceux qui ont Excel 365, une formule simplissime :
Code:
=PRENDRE(FILTRE(C2:O2;C2:O2>100;"");;-1)
ou
=LET(p;C2:O2;PRENDRE(FILTRE(p;p>100;"");;-1))
et pour la première valeur :
=PRENDRE(FILTRE(C2:O2;C2:O2>100;"");;1)

voili voilou,
Cordialement
 

ALS35

XLDnaute Occasionnel
Re,
Pas certain que tu aies tout pigé !
1)
=INDEX(A1:F1 ;
Si tu mets A1:F1 ça marche sans correction de colonne, si tu déplaces ta plage en B1:G1 par exemple il faut corriger le numéro de colonne de -1 comme ceci :
=INDEX(B1:G1;GRANDE.VALEUR((B1:G1>100)*COLONNE(B1:G1);1)-1)
Si tu mets toute la ligne 1, tu n'a pas à faire cette correction quelle que soit la position de ta chaine :
=INDEX(1:1;GRANDE.VALEUR((B1:G1>100)*COLONNE(B1:G1);1))
2)
La fonction AGREGAT
Le 14 pour GRANDE.VALEUR avec le 1 à la fin qui va avec ;1)) ,
le 6 pour ne pas tenir compte des erreurs générées dans la formule
la formule COLONNE(A1:F1)/(A1:F1>100), le (A1:F1>100) retourne Vrai ou Faux, converti en 1 ou 0 dans les calculs, si on divise le numéro de colonne par 1 on a donc le numéro de colonne, si on divise par 0 on a une erreur DIV/0 qui est ignorée vu qu'on a mis le paramètre précédent à 6, on obtient ainsi le plus grand numéro de colonne des cellules d ayant une valeur >100, et dont on récupère la valeur avec INDEX(1:1
Cordialement
 

patricktoulon

XLDnaute Barbatruc
a ben voilà
la c'est clair
je me posais la question du 6 l'aide n'est pas implémenté dans excel 2013 par contre le 14 j'ai la liste

ok pour index tu a raison

je comprends mieux maintenant car j'avais essayé chaque segment de la formule a part et le dv0 me rendait perplexe
je comprends mieux il est zappé par l'option 6

merci @ALS35
good job!
 

Discussions similaires

Statistiques des forums

Discussions
313 243
Messages
2 096 509
Membres
106 645
dernier inscrit
hf10