Comparaison d'une ligne sur Excel

Fermé
hugo10270 - 17 janv. 2011 à 12:58
 hugo10270 - 19 janv. 2011 à 16:30
Bonjour,

Je suis novice sur Excel et j'aimerai savoir s'il est possible de comparer une ligne contenant 3 nombres avec un millier d'autres ligne ( avec 3 nombres pareils )

Je ne veux pas qu'il trouve la même ligne vu qu'on n'a jamais les mêmes mais qu'il me donne la plus proche ( ou les plus proches ) en calculant pour les 3 nombres le pourcentage de différence.

Et que ensuite il me donne la ligne et me renvoie sur le commentaire correspondant à cette ligne.

Une idée ?

A voir également:

8 réponses

Le Pingou Messages postés 12048 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
17 janv. 2011 à 16:49
Bonjour,
La plus proche supérieure ou inférieure par rapport à quoi ...?
0
Alors en fait il y aurait 3 colonnes avec chacune un nombre. Mais dejà plusieurs centaines de lignes ( avec ces 3 colonnes ) et moi je veux quand rentrant ma ligne il me donne les lignes qui se rapproche le plus de celles dejà rentrer en tenant compte des 3 colonnes et si possible en me donnant l'écart ( pourcentage ) entre les 2 lignes...

C'est plus clair ou pas ?
0
Le Pingou Messages postés 12048 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
17 janv. 2011 à 22:46
Bonjour,
Alors le plus simple est de faire manuellement un exemple concret et de poster le fichier sur https://www.cjoint.com/ et poster le lien.
0
Raymond PENTIER Messages postés 58397 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 26 avril 2024 17 094
17 janv. 2011 à 22:56
Bonjour hugo.

Je ne crois pas qu'on pourra arriver à un résultat intéressant :
Avec une seule colonne on pourrait opérer un tri ; avec 3 colonnes il te faudrait donner une priorité aux colonnes de référence ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
On pourrait juste pas lui demander de comparer : La Donnée 1 avec la Collone 1, La donnée 2 avec la Collone 2, la donnée 3 avec la collone 3. Et de donner par exemple un écart maxi pour les 3 collones de 1% et si il y a une ligne qui correspond à ce critère il nous la donne ?
0
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
18 janv. 2011 à 06:52
Bonjour,

Il peut y avoir plusieurs manières de définir la ligne la plus proche...

Ici je fais la somme de 1-rapports et retourne la plus faible :
=EQUIV(MIN(ABS(1-(B2:B7)/$G$1)+ABS(1-(C2:C7)/$H$1)+ABS(1-(D2:D7)/$I$1));ABS(1-(B2:B7)/$G$1)+ABS(1-(C2:C7)/$H$1)+ABS(1-(D2:D7)/$I$1);0)

exemple

eric
0
Et là il prend bien en compte les 3 données en même temps ? Et de la même manière ? Aucune n'est avantagé ( par exemple en fonction de lataille d'une donnée un écart de 10 dans la collone 2 n'est pas plus grand qu'un écart de 1 dans la 3

Est ce qu'il y a moyen de mettre le pourcentage de différence avec la ligne trouvé ?
0
Le soucis c'est que à chaque expérience une ligne se rajoute à la liste donc la formule est inutile ... Comment rajouter automatiquement la dernière ligne qu'on compare à la liste ? pour les prochaines comparaisons ?
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
18 janv. 2011 à 22:42
Re,

Et là il prend bien en compte les 3 données en même temps ? oui
Et de la même manière ? oui
Aucune n'est avantagé ( par exemple en fonction de lataille d'une donnée un écart de 10 dans la collone 2 n'est pas plus grand qu'un écart de 1 dans la 3 oui
Pour chaque colonne je fais le rapport Data1/valeur, si la valeur est exacte on obtient 1, sinon on s'en éloigne. Ensuite je fais ABS(1-rapport) pour avoir 0 sur valeur exacte, et plus si on s'éloigne.
A partir de là j'ai considéré que la plus petite somme des écarts était la ligne la plus proche.

Ceci dit...
J'ai voulu simplifier en pensant que le ratio était suffisant mais tu as raison, un contrôle sur les % apporte une autre réponse : la ligne 4.
Je t'ai donc ajouté cette formule en G7 :
=EQUIV(MIN(ABS((G$1-Data1)/Data1)+ABS((H$1-Data2)/Data2)+ABS((I$1-Data3)/Data3));ABS((G$1-Data1)/Data1)+ABS((H$1-Data2)/Data2)+ABS((I$1-Data3)/Data3);0)
Egalement formule matricielle à valider avec shift+ctrl+entrée (j'avais oublié de te le préciser sur la 1ère proposition)

Est ce qu'il y a moyen de mettre le pourcentage de différence avec la ligne trouvé ?
La ligne étant choisie tu peux afficher ce que tu veux vu que tu as tes 2 (6) valeurs à disposition.

Comment rajouter automatiquement la dernière ligne qu'on compare à la liste ?
Le plus simple est définir des plages dynamiques pour tes données.
Créer donc 3 noms pour alléger les formules : Data1, Data2 et Data3
Data1: =DECALER(Feuil1!$B$1;1;0;NBVAL(Feuil1!$B:$B)-1;1)
Même principe pour les 2 autres.
Et dans les formules remplacer les plages des données par leur nom.
Par contre on ne doit rien trouver d'autre que des valeurs à contrôler en B, C et D (à part les titres en ligne 1)

Pour insérer (ou consulter un nom sur excel 2003 : menu 'insertion / noms / définir...'

exemple

eric
0
Ok ! j'avais compris la formule de départ mais je n'arrivais pas à la réécrire avec 4 colonne puisque je ne validais pas la formule matricielle...

J'arrive pas à comprendre la différence entre les 2 résultats puisqu'en ramenant les données à des pourcentages les rapport ne devrait pas changer...

Laquelle est la mieux ?

Comment appelle tu la colonne B, DATA 1 ? Est ce automatique ?

Enfin, j'ai pas tout suivi au rajout de la dernière ligne
0
Merci beaucoup déjà :)
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
Modifié par eriiic le 19/01/2011 à 16:27
Laquelle est la mieux ?
Ben celle qui te ramène le résultat que tu préfères...
Il n'y a jamais de réponse unique à : la ligne la plus proche. Tout dépend de tes critères, à toi de les fixer précisément.

Comment appelle tu la colonne B, DATA 1 ? Est ce automatique ?

C'est la ligne que tu n'as pas compris : Pour insérer (ou consulter )un nom sur excel 2003 : menu 'insertion / noms / définir...'

eric
0