comparaison de valeur

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

floflo87

XLDnaute Nouveau
bonjours à tous!

voici mon problème en version simplifier

j'ai des machines avec des rendement variables : 1/1.5/2
chaque machines a donc ça propre consomation d'énergie 1/10/15
maintenant j'ai une machine dont je connais la conso (par exemple 12) et j'aimerai savoir de quel rendement elle se rapproche le plus.
Le but est donc de pouvoir comparer cette valeur aux autres et d'obtenir la valeur du rendement le plus proche...

Bien evidemment mon tableau ne se limite pas à 2 ligne et 3 colone...j'ai 3 feuilles de calcul avec 4 tableaux chacun, comprenant 4 lignes et une trentaine de colonne par tableau. Et pour chaque tableau 12 valeurs à comparer! (et ce n'est qu'un début 🙁 )

Je n'ai pas trouver de moyen simple pour le faire, condition logique, formule... J'ai cherché un peu sur ce forum (qui semble très instructif!!) mais j'ai pas trouvé de sujet correspondant.
Il semble qu'on puisse le faire avec Visual Basic, mais je n'y connait rien du tout, donc si c'est possible de m'aider sans...sinon merci de m'indiquer un lien où je pourrais apprendre à le faire assez facilement vu que je suis completement débutant 🙂

Si vous avez besoin de plus d'information n'hésitez pas, j'espere avoir été le plus clair possible 🙂
Merci d'avance!
 
Re : comparaison de valeur

bonjour floflo,

Tel que tu exprimes le problème, la fonction EQUIV semble correspondre à ton besoin. Elle te rendra la valeur la plus proche ou égale selon le paramètre "type" recherché dans ton tableau de rendement.

Mais n'ayant pas d'exemple de ton classeur je ne sais pas si ton problème est plus complexe ou pas.


EQUIV(valeur_cherchée;matrice_recherche;type)

valeur_cherchée est la valeur utilisée pour trouver la valeur souhaitée dans une matrice.

L'argument valeur_cherchée est la valeur dont vous voulez l'équivalent dans l'argument matrice_recherche. Par exemple, lorsque vous cherchez le numéro de téléphone d'une personne dans un annuaire, vous utilisez le nom de la personne comme valeur de recherche alors que la valeur que vous voulez obtenir est son numéro de téléphone.

L'argument valeur_cherchée peut être une valeur (nombre, texte ou valeur logique) ou une référence de cellule à un nombre, à du texte ou à une valeur logique.

matrice_recherche est une plage de cellules adjacentes contenant les valeurs d'équivalence possibles. L'argument matrice_recherche peut être une matrice ou une référence matricielle.
type est le nombre -1, 0 ou 1 qui indique comment Microsoft Excel doit procéder pour comparer l'argument valeur_cherchée aux valeurs de l'argument matrice_recherche.

Si la valeur de l'argument type est 1, la fonction EQUIV trouve la valeur la plus élevée qui est inférieure ou égale à celle de l'argument valeur_cherchée. Les valeurs de l'argument matrice_recherche doivent être placées en ordre croissant : ...-2, -1, 0, 1, 2, ..., A-Z, FAUX, VRAI.

Si la valeur de l'argument type est 0, la fonction EQUIV trouve la première valeur exactement équivalente à celle de l'argument valeur_cherchée. Les valeurs de l'argument matrice_recherche peuvent être placées dans un ordre quelconque.

Si la valeur de l'argument type est -1, la fonction EQUIV trouve la plus petite valeur qui est supérieure ou égale à celle de l'argument valeur_cherchée. Les valeurs de l'argument matrice_recherche doivent être placées en ordre décroissant : VRAI, FAUX, Z-A, ..., 2, 1, 0, -1, -2, ..., et ainsi de suite.

Si l'argument type est omis, la valeur par défaut est 1.

Oops désolé EQUIV te renvoi la position dans la matrice, il faut la coupler avec INDEX. Mais si tu veux directement la valeur utilise les fonction RECHERCHEV ou RECHERCHEH selon que ta plage de recherche est ordonnée Verticalement ou Horizontalement
J'ai joint un classeur pour l'exemple
 

Pièces jointes

Dernière édition:
Re : comparaison de valeur

bon beh presque mais non...Merci d'avoir essayer avec le peux d'info que j'ai donné. Je vais essayer d'être plus précis en te donnant un exemple. En espérant que t'auras encore un peu de temps à gaspiller pour moi 🙂

la fonction rechercheh ne me permet pas d'afficher la valeur du rendement (ici des COefficient de Performence car je travaille sur des pompes à chaleur)qui correspond à ma conso. Et je n'arrive pas non plus à juste lui faire afficher la conso la plus proche...mais là je sais pas trop pourquoi 🙁

Bref je joins un classeur avec un des tableaux, et quelques valeurs que j'essaie de comparer.

Voici qq indications à lire avec l'excel sous les yeux 🙂
Par exemple il faudrait qu'en F18, je puisse afficher le rendement correspondant à E18 dans le tableau (et donc dans la ligne 12 pour le TOTAL). Qui correspond dans ce cas là à 1.3 (le plus proche)
Et idem en F15,F16,F17,K15,...,K18 (pour ce tableau je pourrais mettre certains rendement directement, mais dans les autres que j'ai je ne peux plus)


Donc si tu as le temps d'y jetter un oeil, merci!
 
Re : comparaison de valeur

en fait c'est bon, j'ai réussi à le faire avec la fonction RECHERCHE, qui était la plus pratique dans mon cas, encore fallait il la connaitre! Le seule problème que j'ai mis du temps à résoudre était de voir que mes valeurs n'était pas ordonnées pas ordre croissant 😡

En tout cas, merci pour le coup de main!
 
Re : comparaison de valeur

Bonjour à tous
Avec une simple recherche, on aura statistiquement la bonne réponse une fois sur deux, car on obtiendra systématiquement la valeur inférieure (ou la valeur supérieure) la plus proche de la valeur cherchée.
Ce n'est pas nécessairement la plus proche de la valeur cherchée.
Supposons qu'on ait 100 et 111 dans les valeurs possibles.
Si la valeur cherchée est 102 ou 109, la valeur inférieure sera 100. Or 109 est plus proche de 111 que de 100.
Si la valeur cherchée est 102 ou 109, la valeur supérieure sera 111. Or 102 est plus proche de 100 que de 111.
Je propose donc (en F18)
Code:
=INDEX($8:$8;1;EQUIV(E18;12:12;-1)+(E18<=(INDEX(12:12;1;EQUIV(E18;12:12;-1))+INDEX(12:12;1;EQUIV(E18;12:12;-1)+1))/2))
qui renvoie 100 si on cherche 102, et 111 si on cherche 109.
ROGER2327
 
- 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

Réponses
6
Affichages
216
Réponses
4
Affichages
149
Réponses
1
Affichages
129
Réponses
10
Affichages
231
Réponses
19
Affichages
480
Retour