Comparaison de données sous Excel

Résolu/Fermé
romain4890 Messages postés 36 Date d'inscription mercredi 11 mai 2011 Statut Membre Dernière intervention 28 juin 2013 - 18 juil. 2011 à 16:47
romain4890 Messages postés 36 Date d'inscription mercredi 11 mai 2011 Statut Membre Dernière intervention 28 juin 2013 - 22 juil. 2011 à 13:29
Bonjour,

Je suis à la recherche d'une solution pour résoudre le problème suivant :
J'ai deux listes numérotées que l'on peut donc assimiler à des tableaux de deux colonnes chacun, l'une comportant des numéros et l'autre comportant des mots.

Exemple liste 1 :
1 / Julien
4 / Patrick
6 / Jacques
8 / Matthieu
13 / Jean Michel

Exemple liste 2 :

1 / Gilbert
3 / Romain
4 / Patrick
6 / Marc
7 / Carine
8 / Jean
12 / Olivia
13 / Luc


On insère dans une feuille Excel la liste 2 ...
Est-il possible d'insérer la liste 1 à cette feuille en se basant sur les numéros ?
C'est-à-dire de faire en sorte que le mot « Patrick » soit directement assimilé au numéro « 4 » et que le nom « julien » vienne se placer au niveau du numéro « 1 » et du mot « Patrick » ...
Je ne sais pas si je me suis bien expliqué, mais la liste crée ressemblerait à çà :

Listes combinées :

1 / Gilbert / 1 / Julien
3 / Romain
4 / Patrick / 4 / Patrick
6 / Marc / 6 / Jacques
7 / Carine
8 / Jean / 8 / Matthieu
12 / Olivia
13 / Luc / 13 / Jean Michel

OU ENCORE :

1 / Gilbert / Julien
3 / Romain
4 / Patrick / Patrick
6 / Marc / Jacques
7 / Carine
8 / Jean / Matthieu
12 / Olivia
13 / Luc / Jean Michel



Merci par avance pour votre aide
A voir également:

10 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
Modifié par Vaucluse le 18/07/2011 à 17:09
Bonjour
avec cette formule
selon votre exemple, et à adapter:

en feuille 1 liste des N° en colonne A et liste des noms en colonne B
sur la feuille 2 liste des N° en A liste des noms en B
tout ça à partir de la ligne 2

sur feuille 2 en C2:
=SI(NB.SI(A2;Feuil1!A:A)=0;"";RECHERCHEV(A2;feuil1!A:B;2;0))
à tirer sur la hauteur de la liste

la première partie de la formule est destinée à éviter un affichage d'erreur (#/NA) si la valeur ne se trouve pas dans la colonne A de Feuil1!

Si vous voulez afficher aussi le N°:
en colonne C:
=SI(NB.SI(A2;Feuil1!A:A)=0;"";RECHERCHEV(A2;feuil1!A:B;1;0))
et en colonne D
=SI(NB.SI(A2;Feuil1!A:A)=0;"";RECHERCHEV(A2;feuil1!A:B;2;0))

crdlmnt



Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
1
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
18 juil. 2011 à 17:08
Bonjour,
tes tableaux commence e,n A2 par ex

en feuil2 ,C2
=SI(NB.SI(Feuil1!A$2:A$6;A2)=0;"";RECHERCHEV(A2;Feuil1!A$2:B$6;2;0))

tirer la formule vers le bas
1
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
18 juil. 2011 à 17:10
excuses moi , Vaucluse, je n'avais pas rafraichi...
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
18 juil. 2011 à 17:11
pas de problème, michel; deux fois valent mieux que pas du tout, et nous étions en synchro!
crdlmnt
0
romain4890 Messages postés 36 Date d'inscription mercredi 11 mai 2011 Statut Membre Dernière intervention 28 juin 2013 12
18 juil. 2011 à 18:00
Merci beaucoup pour vos aides rapides et efficaces !! :p

Cependant, est-ce que l'un d'entre vous pourrait m'expliquer pas à pas ce que signifie la formule ? Car j'aimerai beaucoup la comprendre..

Merci encore pour votre aide
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 18/07/2011 à 18:07
dans l'onglet "astuces" de CCM rubrique bureautique tu as un topo "produit de la ferme" sur rechercheV

comme c'est un véritable B.... dans cette rubrique
https://www.commentcamarche.net/faq/24720-fonction-recherchev-sur-excel
Michel
0

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

Posez votre question
romain4890 Messages postés 36 Date d'inscription mercredi 11 mai 2011 Statut Membre Dernière intervention 28 juin 2013 12
18 juil. 2011 à 18:19
Par ailleurs, la formule que vous m'avez donné ne marche pas :-s ...

Les résultats ne s'affichent pas en face des numéros correspondants ...


De plus, serait-il possible à partir de deux listes de ne retenir que les résultats correspondants ?

Exemple : à partir des listes suivantes :

Liste 1

1 / Chachi
2 / Benji
3 / Romain
4 / Jean

Liste 2

1 / Chachi
2 / Benji
4 / Jean


A partir de ces listes là, est-il possible de ne retenir que les noms et numéros qui correspondent, à savoir,

1 / Chachi / 1 / Chachi
2 / Benji / 2 / Benji
4 / Jean / 4 / Jean


??
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
18 juil. 2011 à 19:08
Si les rèsultats ne sont pas en face des N° correspondant:
_soit vos champs sont décalés
_soit votre formule est mal entrée, et par exemple, ne comporte pas le 0 de la fin.

votre seconde question, (qui aurait du être la premiére,non?)
tout est possible, mais compte tenu des solutions, il faudrait soumettre un fichier modèle de vos données, même avec des données bidon, pour que l'on vous propose une solution.
sur :
http://www.cijoint.fr
et revenez placer ici le lien donné par le site.
a vous lire.
crdlmnt
0
romain4890 Messages postés 36 Date d'inscription mercredi 11 mai 2011 Statut Membre Dernière intervention 28 juin 2013 12
19 juil. 2011 à 11:07
Bonjour,

A partir du fichier suivant :
http://www.cijoint.fr/cjlink.php?file=cj201107/cijAU0tJWK.xlsx

Est-il possible d'insérer les mots (de la feuille 2)
AA
AZ
AE
AR
AT
AY
AU
AI
AO
AP
AQ
AS
AD
AF
AG

aux niveaux des chiffres

2
3
5
8
10
11
14
16
18
22
23
24
27
29
30

dans la feuille 1 ? Et le tout automatiquement ?


Éventuellement, si mettre les tableaux l'un au dessus de l'autres simplifie les choses, considérons que nous mettons le tableau de la feuille 2 en "A34" de la feuille 1 ... Le but étant de trouver la solution la plus simple ^^ (je ne suis pas un AS d'excel)



Merci par avance pour votre aide
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
19 juil. 2011 à 12:25
Re

la formule en Feuil2 A2 , à, tirer vers le bas, devrait vous donner le résultat:

=SI(NB.SI(Feuil2!A:A;A2)=0;"";RECHERCHEV(A2;Feuil2!A:B;2;0))

crdlmnt
0
romain4890 Messages postés 36 Date d'inscription mercredi 11 mai 2011 Statut Membre Dernière intervention 28 juin 2013 12
19 juil. 2011 à 13:09
je ne comprends pas ... La formule ne marche toujours pas :s
0
romain4890 Messages postés 36 Date d'inscription mercredi 11 mai 2011 Statut Membre Dernière intervention 28 juin 2013 12
19 juil. 2011 à 13:14
Au temps pour moi, la formule était à appliquer en C1 feuille 1 !
Celle ci marche très bien ...

Cependant, je ne comprends pas très bien l'écriture de cette formule .. Pourriez vous me l'expliquer SVP ?
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
Modifié par Vaucluse le 19/07/2011 à 14:12
RE

effectivement, une petite erreur dans mon message pour définir la cellule ou placer la formule :-( !

la formule:

SI(NB.SI(Feuil2!A:A;A2)=0;"";
cette partie est destinée à renvoyer une cellule sans affichage parasite si la valeur cherchée (A2) n'existe pas dans le tableau de références
elle compte le nombre de fois où A2 se trouve dans la colonne A est renvoie "" (rien) si elle trouve 0.

Si elle trouve 1, c'est l'item suivant qui est pris en compte,soit:

RECHERCHEV(A2;Feuil2!A:B;2;0))

recherche la valeur de A2 dans la première colonne du champ A:B(systématiquement pour le code RECHERCHEV) et ressort la valeur de la seconde colonne du champ, indiquée par la valeur 2.La valeur finale 0 est un code excel qui impose à la formule de ne pas considérer de valeur proche dans la recherche,(sinon, la colonne de recherche doit être classée, par ordre croissant, numérique ou alpha)

bonne route
0
romain4890 Messages postés 36 Date d'inscription mercredi 11 mai 2011 Statut Membre Dernière intervention 28 juin 2013 12
19 juil. 2011 à 15:32
Merci beaucoup pour votre aide !! Je maîtrise désormais ces formules !!

Je reviendrais probablement vers vous à travers ce topic si je rencontre un plus gros problème ^^


encore merci
0
romain4890 Messages postés 36 Date d'inscription mercredi 11 mai 2011 Statut Membre Dernière intervention 28 juin 2013 12
20 juil. 2011 à 17:09
Re bonjour,

Dans le cas suivant :

1 / romain
1 / Chachi
2 / Arnaud
3 / julien

Avec la fonction RechercheV, il est possible de créer une cellule de recherche dans laquelle on entre un numéro (ici entre 1 et 3) et une cellule de résultats qui affiche le nom associé...

Cependant, dans le cas présent, il y'a deux noms associés au numéro 1 ..
Comment est-il possible d'afficher les deux noms (romain et chachi) en effectuant une seule recherche (nombre 1) ??
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
Modifié par Vaucluse le 20/07/2011 à 17:51
Re

Là, c'est plus compliqué. Vous trouverez ici un exemple qui fait ce que vous souhaitez avec une colonne complémentaire pour détecter et incrémenter les codes identiques.
Les formules ont plus complexes et la position de la colonne de codage dans le tableau interdit d'utiliser le code RECHERCHE remplacé par la combinaison INDEX /EQUIV
Il faut bien sur que vos codes cherchés soient bien numérique avec cette configuration.
N'hésitez pas à revenir si besoin d'explications.

https://www.cjoint.com/?AGurUUF65ZN

crdlmnt

ps: il suffit de changer le chiffre des tableaux en dessous de la cellule "Ref éditée pour avoir la liste ds noms correspondants

Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
0
romain4890 Messages postés 36 Date d'inscription mercredi 11 mai 2011 Statut Membre Dernière intervention 28 juin 2013 12
22 juil. 2011 à 11:26
Merci encore pour vos réponses très instructives ...

J'ai rencontré un nouveau problème ..
Voilà :


J'ai deux listes de deux colonnes :
- L'une est composée du nom du produit et de son code bar
- L'autre est composée du nom du produit et de son code image

Objectif : Créer une seule et même liste avec le nom, le code bar et le code image de chaque produit ! (on utilise donc la fonction rechercheV)

Les codes bar et codes image n'ont rien à voir ...

Le problème est le suivant : Les noms des deux listes diffèrent un petit peu donc la fonction "RechercheV" n'est pas capable de reconnaître les noms qui diffèrent un peu trop.


Est-il possible de gérer le seuil de tolérance de la fonction ?
Est-il possible d'effectuer une recherche approximative ?


Ps : La recherche s'effectue sur les noms des produits (des mots)
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
Modifié par Vaucluse le 22/07/2011 à 12:49
Bonjour
*Je n'ai pas trop compris ce que vous voulez faire, il serait plus facile de travailler avec un fichier modèle de vos données.
A tout hasard, pour "assouplir" la fonction RECHERCHEV, si vous avez dans toutes vos références une racine commune spécifique qui permet de les détecter
par exemple, pour trouver:
Xylophilogéne
vous pouvez entre la racine Xyloph si elle est spécifique au produit, ou philog ou lophilo etc...

pour l'exemple à adapter: en A1 entrez le texte de la "racine" cherchée, et seulement la racine.
dans la formule RECHERCHEV, écrivez=:
=RECHERCHEV("*"&A1"*";champ;n°de colonne;0)
le libellé:
"*"&A1&"*" pourra trouver la ligne dont le texte contient celui de A1 dans la 1° colonne du champ;

mais cela ne fonctionne pas sur des approximations.il faut que la racine soit exactement cobtenue dans le texte à trouver;

vous pouvez aussi remplacer l' adresse de la cellule A1 par un code sélectionnant une partie du texte à chercher si vous savez quelle est partie commune des textes de votre tableau (début, milieu, fin, avant un caractère particulier etc...
C'est pour cela que sans la liste de vos produits,il est difficile de vous donner la bonne solution
pour l'exemple Xilophilogène
vous pouvez dans la valeur cherchée du code RECHERCHE cet item:
=RECHERCHEV("*"&STXT(cell;1;5)&"*";..........) qui ne prendra en compte que les 5 premiers caractères du mot pour la recherche



Note: ce type de codification est applicable à toutes les formules qui fonctionne avec un point-virgule, mais pas avec le signe égal
par exemple
NB.SI(Champ;"*"&A1&"*") fonctionne
SI(Cellule="*"&A1&"*"... ne fonctionne pas.

bonne chance

crdlmnt
0
romain4890 Messages postés 36 Date d'inscription mercredi 11 mai 2011 Statut Membre Dernière intervention 28 juin 2013 12
22 juil. 2011 à 13:29
Merci une fois de plus pour votre réponse ...
J'ai traité le problème autrement

Je ne suis pas encore à ce niveau ^^
0