Calcul de valeur la plus proche avec condition
Bonjour à tous,
J'ai encore besoin de votre aide pour ajouter une condition à 3 formules.
Dans une liste de données non triées (D4:D2500) je calcul la valeur la plus proche, la plus proche supérieur et la plus proche inférieur à la valeur en position D8 avec ces formules :
Valeur la plus proche :
=INDEX((D4:D2500);EQUIV(MIN(ABS(D8-(D4:D2500)));ABS(D8-(D4:D2500));0))
Valeur la plus proche inférieure :
=PETITE.VALEUR((D4:D2500);NB.SI((D4:D2500);"<="&D8))
Valeur la plus proche supérieur :
=GRANDE.VALEUR((D4:D2500);NB.SI((D4:D2500);">="&D8))
Mon problème est le suivant :
Je souhaite rechercher ces 3 valeurs si dans la colonne F j'ai des "OK". Pour cela j'essaye d'ajouter la condition suivante --> SI(F4:F2500)="OK";(D4:D2500), mais je ne sais pas ou la mettre dans les formules au dessus...
Est-ce que vous savez ou l'ajouter ?
Merci pas avance pour votre aide !
Bonjour,
Pour les deux dernières formules je dirais qu'il faut y mettre aux endroits écrits en rouge :
=PETITE.VALEUR((D4:D2500);NB.SI((D4:D2500);"<="&D8))
=GRANDE.VALEUR((D4:D2500);NB.SI((D4:D2500);">="&D8))
et remplacer le nb.si par un nb.si.ens qui compte avec aussi le OK en critère je dirais...
Pour la première...
=INDEX((D4:D2500);EQUIV(MIN(ABS(D8-(D4:D2500)));ABS(D8-(D4:D2500));0))
Enfin je pense... C'est plus simple à dire sur Excel comme on peut directement tout tester
Merci pour ta réponse, j'ai fait ce que tu m'as dit mais la formule ne marche pas..
Pour que ça soit plus simple je vous joints un fichier Excel qui reprend ce que je souhaite faire.
Je souhaite calculer les valeurs de la colonne C supérieurs et inférieurs les plus proche de ma valeur en position I16.
Mais je ne souhaite prendre en compte que les valeurs ou il y a un "OK" associer en colonne D.
Bonjour,
Pas facile comme problème...
J'ai trouvé ça comme solution, n'hésite pas à demander si tu ne comprends pas
Merci pour ta solution, j'ai appliqué ta formule à mon fichier original et ça fonctionne parfaitement
J'ai une dernière requête qui est aussi compliqué..
Après avoir trouvé mes valeurs les plus proches, je souhaite faire afficher à côté le temps correspondant à ma valeur inférieur et supérieur la plus proche (colonne B) associé à un OK en colonne D.
h.
Par exemple, dans le fichier Excel ci-joint, dans ma formule en cellule L15, le temps de la valeur inférieur la plus proche obtenu est de 8h (soit la cellule B9). Mais en colonne F, 8h n'est pas associé à n OK. Je voudrais obtenir 15h, qui lui est associé au OK.
En fait il faudrait ajouter comme tu l'as fait un SI(D2:D21)="OK";(B4:B2500) à la formule suivante : =INDEX(B2:B21;EQUIV(K15;C2:C21;0))
Mais je n'ai pas encore les compétences pour le faire...
Bonjour,
Content de savoir que je peux t'aider
Pour ta deuxième requête...
Voici la solution :
La formule :
{=INDEX(B2:B21;EQUIV(K15;SI(D2:D21="OK";C2:C21;"");0))}
En fait pour trouver cette formule la question à se poser c'est : "Ok, j'ai ma valeur de recherche qui est bonne, mais comment je fais pour que la fonction ne trouve pas la ligne 8?"
Autrement dis : "Comment faire pour que la fonction EQUIV ne trouve pas K15 dans C2:C21 ?"
Autrement dis... : "Comment faire pour que C8 ne soit pas égale à K15 si D8 n'est pas égale à "OK"
Et donc on arrive avec la solution où on modifie le tableau de recherche comme suit :
SI(D2:D21="OK";C2:C21;"")
Soit la ligne contient "OK" dans la colonne D, et on renvoie la colonne C, soit on ne renvoie rien, en fait on boycotte la valeur de la colonne C si D ne contient pas OK.
Du coup on se retrouve bien avec un tableau de recherche modifié, C8 devient : "" et la fonction EQUIV ne trouve donc plus E15 dans cette cellule, la prochaine sera bien celle souhaitée