Autres Rechercher la valeur inf et sup la plus proche dans une liste

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 !

Bonjour,

Comme on a pas la version excel concernée, j'ai utilisé dans le fichier ci-dessous EQUIVX valable pour 365 et 2021.

*************************************Autres possibilitées ********************
Valeur supérieure uniquement (à cause de l'ordre de tri ascendant) :
=INDEX($D$9:$D$21;EQUIV($G$12;$D$9:$D$21;-1))
Valeur supérieure (fonction à valider par CTRL+MAJ+ENTREE) :
=PETITE.VALEUR(SI($D$9:$D$21>=$G$12;$D$9:$D$21);1)
Valeur inférieure (fonction à valider par CTRL+MAJ+ENTREE) :
=GRANDE.VALEUR(SI($D$9:$D$21<=$G$12;$D$9:$D$21);1)
Valeur supérieure sans validation matricielle avec AGREGAT :
=INDEX($D$9:$D$21;AGREGAT(14;6;(LIGNE($D$9:$D$21)-8)/($D$9:$D$21>=$G$12);1))
Valeur inférieure sans validation matricielle avec AGREGAT :
=INDEX($D$9:$D$21;AGREGAT(15;6;(LIGNE($D$9:$D$21)-8)/($D$9:$D$21<=$G$12);1))

Cordialement

P.S. merci pour l'exercice
 

Pièces jointes

Dernière édition:
Re,
Hello @JHA

Yep, Yep 🙂 je les avais oubliées celles ci 🙂 Mais comme on ne connais pas la version excel ....
Tiens je les tente dans leur formes matricielles (CTRL+MAJ+ENTREE) :
Valeur supérieure :
=MIN(SI($D$9:$D$21>=$G$12;$D$9:$D$21))
Valeur inférieure :
=MAX(SI($D$9:$D$21<=$G$12;$D$9:$D$21))

Et voilà cela lui fera presque une dizaine de fonctions possibles suivant sa version.

Cordialement
 
Bonjour medlight, Hasco, JHA, JM,

Une solution avec cette fonction VBA :
VB:
Function Valeur_proche(ref As Double, r As Range, Optional minmax = 0)
'minmax = 0 minimum, minmax <> 0 maximum
Dim maxi As Double, v As Double, mini As Double
maxi = 1E+308
For Each r In r
    If IsNumeric(CStr(r)) Then
        v = CDbl(r)
        If minmax = 0 Then
            If v <= ref Then If v > mini Then mini = v
        Else
            If v >= ref Then If v < maxi Then maxi = v
        End If
    End If
Next
Valeur_proche = IIf(minmax = 0, mini, maxi)
End Function
Le code doit être placé dans un module standard.

Fichier .xlsm joint avec la fonction en H12 et H13.
 

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

Retour