Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/01/2012, 10h43   #1
 
Homme
Étudiant
Inscription : janvier 2012
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2012
Messages : 17
Points : -1
Points : -1
Par défaut Problème de recherche

Bonjour j'ai un problème par rapport à une recherche.

Le problème est le suivant : je dispose d'une colonne avec 9 chiffres que j'aimerais comparer par rapport à une autre colonne qui a ces mêmes 9 chiffres mais en a 2 en plus.

Je ne sais pas comment faire pour renvoyer le même resultat mais avec les chiffres supplémentaires. Voici un petit extrait : la colonne 2 sont les 48 chiffres qu'il faut que je trouve par rapport a la colonne 1


--> trouver la coincidence si elle existe des nombres avec celle de la premiere colonne ( la colonne 1 n'est pas echaustive)

Chiffre a 11 Chiffre a 9

51085578977 405 562 414
51083390824 407 042 704
51083390833 407 813 488
51083390845 407 817 878
51083390856 408 020 328
51083390860 408 262 708
51083390871 408 371 848
51084970730 408 377 828
51084970741 408 426 648
51080687259 408 447 118
51080318717 408 464 838
51079820400 408 662 338
51079454095 408 663 938
51079165112 408 684 268
51079169011 500 092 208
51081626869 500 101 248
51081626873 500 243 668
51081626869 500 707 538
51081626873 500 760 488
51079050731 500 923 438
51078786044 501 480 318
51078786053 504 075 008
51078850338 504 090 808
51078850349 504 099 728
51078525806 504 253 378
51078525806 504 376 848
51079462074 504 900 848
51081522045 505 674 508
51079462074 508 454 148
51081522045 509 199 688
51077682103 510 105 694
51077259072 510 116 953
51077278706 510 132 683
51080882443 510 150 189
51077174566 510 251 058
51077174566 510 309 383
51074622937 510 726 199
51074622949 510 736 935
51074163933 510 821 611
51082475657 510 821 652
51073154667 510 827 538
51070594130 510 835 567
51070594130 510 836 302
51084597773 510 836 343
51084597784 510 839 955
51084597794 510 839 960
51073798415 510 839 994
51073798426
51073798430
51073798441
51073798452
51073798462
51073798476
51073798488
51073798497
51073798506
51083519287
51073091161
51085742722
51056400453
51084516517
51077751026
51080986113
51078525314
51078525324
51078525335
51078525346
51078525350
51078525361
51085723722
51084581223
51084581223
51073142813
51073142827
51073239316
51073242623
51073243148
51058617011
51085284316
51076473596
51079604744
51025076942
etc etc

Merci !
Crack1986 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 12h02   #2
Membre actif
 
Homme
Inscription : juillet 2002
Messages : 108
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juillet 2002
Messages : 108
Points : 153
Points : 153
Bonjour,

Si les données sont sur les colonnes A et B, la formule suivante te retournera le numéro de ligne où une valeur correspond.

Code :
=EQUIV(B2;GAUCHE(A$1:A$100;9)*1;0)
Il s'agit d'une formule matricielle à valider avec CTRL + MAJ + ENTREE
(des acolades sont ajoutées à l'expression)
aereno est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/01/2012, 13h13   #3
 
Homme
Étudiant
Inscription : janvier 2012
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2012
Messages : 17
Points : -1
Points : -1
Citation:
Envoyé par aereno Voir le message
Bonjour,

Si les données sont sur les colonnes A et B, la formule suivante te retournera le numéro de ligne où une valeur correspond.

Code :
=EQUIV(B2;GAUCHE(A$1:A$100;9)*1;0)
Il s'agit d'une formule matricielle à valider avec CTRL + MAJ + ENTREE
(des acolades sont ajoutées à l'expression)

Merci ça marche très bien, mais tu m'expliquer juste pourquoi on met *1 ? Et pourquoi j'ai du faire control + maj +entree.

C'est juste pour comprendre.

Merci
Crack1986 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 13h48   #4
Membre actif
 
Homme
Inscription : juillet 2002
Messages : 108
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juillet 2002
Messages : 108
Points : 153
Points : 153
Quand on utilise la fonction GAUCHE, le résultat est une chaine de caractère, même si en entrée on avait une valeur.

Excel ne sait pas comparer une chaine de caractère et une valeur, même si les deux sont représentées par les mêmes caractères.

Quand on multiplie le résultat d'une fonction texte (comme GAUCHE) par 1 (le *1), on force la conversion en valeur (quand elle est possible).

Dans notre exemple, la comparaison est alors à nouveau possible.



Le CTRL + MAJ + ENTREE permet de valider une formule matricielle. Il existe de nombreux tutoriels et articles très intéressant sur ce type de formules.

Elles permettent (entre autres) d'appliquer des fonctions qui ne prennent qu'un paramètre en entrée à une plage de cellules. Ici, la fonction gauche est appliquée à un groupe de cellules, ligne par ligne, et on obtient une liste de valeur (matrice) utilisée comme tableau de recherche par la fonction EQUIV

On aurait pu éviter d'utiliser une formule matricielle en créant une colonne supplémentaire dont le contenu aurait été :

Cette colonne aurait servi de tableau de recherche à la fonction EQUIV.

L'outil 'Evaluation de formule' de l'onglet 'Formules' permet de bien se représenter ce que fait Excel avec un détail 'pas à pas'.
aereno est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/01/2012, 12h48   #5
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 313
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 313
Points : 2 679
Points : 2 679
Bonjour,
En utilisant la fonction EQUIV, tu peux aussi faire simplement
Code :
=EQUIV(B1 & "*";$A$1:$A$50;0)
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h49.


 
 
 
 
Partenaires

Hébergement Web