Chercher une valeur lorsque le nom des colonnes diffèrent?
Résolu/Fermé
biagjibs
Messages postés
53
Date d'inscription
mardi 18 novembre 2008
Statut
Membre
Dernière intervention
12 février 2016
-
Modifié par biagjibs le 14/04/2015 à 21:17
biagjibs Messages postés 53 Date d'inscription mardi 18 novembre 2008 Statut Membre Dernière intervention 12 février 2016 - 15 avril 2015 à 19:49
biagjibs Messages postés 53 Date d'inscription mardi 18 novembre 2008 Statut Membre Dernière intervention 12 février 2016 - 15 avril 2015 à 19:49
A voir également:
- Chercher une valeur lorsque le nom des colonnes diffèrent?
- Nom de l'adresse - Forum Consommation & Internet
- Comment faire des colonnes sur word - Guide
- Déplacer une colonne excel - Guide
- Nom d’adresse - Forum Réseaux sociaux
- Excel différent de 0 ✓ - Forum Excel
8 réponses
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 412
15 avril 2015 à 08:36
15 avril 2015 à 08:36
Bonjour
voyez si ce modèle peut vous aider, la cellule B2 est seule équipée de la proposition, à défaut de savoir ce que vous voulez placer dans les colonnes de Results
https://www.cjoint.com/c/EDpiQXy0yZK
les explications sont dans le modèle
pour ce qui est de la validation en B, elle ne peut pas fonctionner com
me vous l'avez placée car tous les champs nommés ont les mêmes limites.
Voyez comment est fait ce modèle
Par ailleurs, ces solutions fonctionnent avec les deux premières lettres du code classe, mais certains codes ont le même début et une troisième lettre. Ils seront pour l'instant groupés sans tenir comte de la lettre.
S'il faut les différencier,voyez pour passer à trois lettres en plaçant par exemple un tiret entre le code et le nom dans tous les cas
ex Y1-Names ou Y6G-Name
s
Il faudra alors dans les formules, dans les items GAUCHE(B2;2) écrire GAUCHE(B2;3)
(sur le tableau et dans le nom de Liste)
et si ça ne suffit toujours pas, revenez, on complètera
crdlmnt
voyez si ce modèle peut vous aider, la cellule B2 est seule équipée de la proposition, à défaut de savoir ce que vous voulez placer dans les colonnes de Results
https://www.cjoint.com/c/EDpiQXy0yZK
les explications sont dans le modèle
pour ce qui est de la validation en B, elle ne peut pas fonctionner com
me vous l'avez placée car tous les champs nommés ont les mêmes limites.
Voyez comment est fait ce modèle
Par ailleurs, ces solutions fonctionnent avec les deux premières lettres du code classe, mais certains codes ont le même début et une troisième lettre. Ils seront pour l'instant groupés sans tenir comte de la lettre.
S'il faut les différencier,voyez pour passer à trois lettres en plaçant par exemple un tiret entre le code et le nom dans tous les cas
ex Y1-Names ou Y6G-Name
s
Il faudra alors dans les formules, dans les items GAUCHE(B2;2) écrire GAUCHE(B2;3)
(sur le tableau et dans le nom de Liste)
et si ça ne suffit toujours pas, revenez, on complètera
crdlmnt
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 412
Modifié par Vaucluse le 15/04/2015 à 13:19
Modifié par Vaucluse le 15/04/2015 à 13:19
Re
je n'avais pas percuté" sur l'organisation de votre base de données et surtout, j'avais pensé que vous cherchiez les noms en colonne C alors que chaque catégorie Y a sa liste
Mais dans tous les cas, il faut que dans la ligne 1 de Students, le titre correspondant à Yxx_name soit écrit de la même façon qu'en colonne A
voila ,donc une nouvelle version du fichier peut être mieux adapté si j'ai bien compris
https://www.cjoint.com/c/EDpnuDXtXkO
pour info:
le champ de la base de données de A1 à AK30 est nommé Champ
Les titres de A1à AK1 sont nommés titre
Le champ où doit être cherché le nom de résults est appelé Cherche, la formule affectée au nom permet de choisir le champ selon la valeur de résults en colonne B
Les formules sont placées dans les zones en gris. Pour Teatcher, la formule s'adresse au nom indiqué en ligne 2 de Students qui, je suppose est valable pour toutes la colonne correspondantes
j'ai placé en colonne A de Résults un menu déroulant qui fait référence à la colonne A de students nommée Liste_Y
revenez si besoin de complément où si ce n'est toujours pas ça.
crdlmnt
.... ps: et finalement, après réflexion dans ce contexte,avec cette version les formules peuvent se passer du code GAUCHE(cell;3) puisque dans tous les cas, le titre complet va se trouver à la fois en A de Results et en ligne 1 de Students
par exemple en C2 de Results, vous pouvez écrire:
=SI($A2="";"";SIERREUR(INDEX(Champ;EQUIV($B2;Cherche;0);EQUIV$A2;Titres;0)+2);""))
Errare humanum est, perseverare diabolicum
je n'avais pas percuté" sur l'organisation de votre base de données et surtout, j'avais pensé que vous cherchiez les noms en colonne C alors que chaque catégorie Y a sa liste
Mais dans tous les cas, il faut que dans la ligne 1 de Students, le titre correspondant à Yxx_name soit écrit de la même façon qu'en colonne A
voila ,donc une nouvelle version du fichier peut être mieux adapté si j'ai bien compris
https://www.cjoint.com/c/EDpnuDXtXkO
pour info:
le champ de la base de données de A1 à AK30 est nommé Champ
Les titres de A1à AK1 sont nommés titre
Le champ où doit être cherché le nom de résults est appelé Cherche, la formule affectée au nom permet de choisir le champ selon la valeur de résults en colonne B
Les formules sont placées dans les zones en gris. Pour Teatcher, la formule s'adresse au nom indiqué en ligne 2 de Students qui, je suppose est valable pour toutes la colonne correspondantes
j'ai placé en colonne A de Résults un menu déroulant qui fait référence à la colonne A de students nommée Liste_Y
revenez si besoin de complément où si ce n'est toujours pas ça.
crdlmnt
.... ps: et finalement, après réflexion dans ce contexte,avec cette version les formules peuvent se passer du code GAUCHE(cell;3) puisque dans tous les cas, le titre complet va se trouver à la fois en A de Results et en ligne 1 de Students
par exemple en C2 de Results, vous pouvez écrire:
=SI($A2="";"";SIERREUR(INDEX(Champ;EQUIV($B2;Cherche;0);EQUIV$A2;Titres;0)+2);""))
Errare humanum est, perseverare diabolicum
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 412
15 avril 2015 à 13:27
15 avril 2015 à 13:27
... suite
voyez plutôt ce fichier qui résume tout ce que j'ai écris plus haut:
https://www.cjoint.com/c/EDpnNcMp3jE
la validation en colonne B fait maintenant référence au champ nommé Cherche, évolutif selon le nom placé en A dans résults
vous pouvez supprimer tous les autres champs nommés qui n'ont d'utilité pas pour ce système.
crdlmnt
voyez plutôt ce fichier qui résume tout ce que j'ai écris plus haut:
https://www.cjoint.com/c/EDpnNcMp3jE
la validation en colonne B fait maintenant référence au champ nommé Cherche, évolutif selon le nom placé en A dans résults
vous pouvez supprimer tous les autres champs nommés qui n'ont d'utilité pas pour ce système.
crdlmnt
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 412
15 avril 2015 à 14:23
15 avril 2015 à 14:23
.... décalage dans les références. Avec mes excuses
prenez ce fichier V5_(ou corriger le votre, il suffit de faire démarrer l'adresse du nom Champ en A2 au lieu de A1
https://www.cjoint.com/c/EDpoKM6AV3t
crdlmnt
prenez ce fichier V5_(ou corriger le votre, il suffit de faire démarrer l'adresse du nom Champ en A2 au lieu de A1
https://www.cjoint.com/c/EDpoKM6AV3t
crdlmnt
DjiDji59430
Messages postés
4135
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
27 octobre 2024
676
15 avril 2015 à 16:40
15 avril 2015 à 16:40
Bonjour,
Maintenant que j'ai compris le but de la manoeuvre, j'ai persévéré dans mes décalages ......
Moins élégant que Vaucluse mais parfaitement fonctionnel.
Je le mets quand même.
https://www.cjoint.com/c/EDpq1f0pLYj
On ne répétera jamais assez que tout est dans le premier post qui doit être impérativement exhaustif et avec le plus d'explications possible. Y a des rapides, y a des lents !!
Maintenant que j'ai compris le but de la manoeuvre, j'ai persévéré dans mes décalages ......
Moins élégant que Vaucluse mais parfaitement fonctionnel.
Je le mets quand même.
https://www.cjoint.com/c/EDpq1f0pLYj
On ne répétera jamais assez que tout est dans le premier post qui doit être impérativement exhaustif et avec le plus d'explications possible. Y a des rapides, y a des lents !!
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 412
Modifié par Vaucluse le 15/04/2015 à 19:21
Modifié par Vaucluse le 15/04/2015 à 19:21
Ca n'était pas une mauvaise idée de créer une colonne avec les correspondance, en ligne avec la colonne A de Students... elle était même bonne.(en plaçant ça par exemple en AL et en agrandissant la plage nommée champ jusqu'à A)
Mais compte tenu qu'il n'y a que deux variables et qu'on peut facilement identifier ou elles sont, vous pouvez écrire:
=SI(A2="";"";SI(OU($A2="Y2_Names";$A2="Y3_Names";NB.SI(A2;"*B*"));"M";"F"))
qui donnera M pour Y2_Names, Y3_Names et tous les autres qui contiennent la lettre B, le F étant affecté aux autres, à condition qu'il y ait une valeur en A
crdlmnt
Errare humanum est, perseverare diabolicum
Mais compte tenu qu'il n'y a que deux variables et qu'on peut facilement identifier ou elles sont, vous pouvez écrire:
=SI(A2="";"";SI(OU($A2="Y2_Names";$A2="Y3_Names";NB.SI(A2;"*B*"));"M";"F"))
qui donnera M pour Y2_Names, Y3_Names et tous les autres qui contiennent la lettre B, le F étant affecté aux autres, à condition qu'il y ait une valeur en A
crdlmnt
Errare humanum est, perseverare diabolicum
biagjibs
Messages postés
53
Date d'inscription
mardi 18 novembre 2008
Statut
Membre
Dernière intervention
12 février 2016
15 avril 2015 à 19:49
15 avril 2015 à 19:49
c'est parfait!!
un grand merci
un grand merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
DjiDji59430
Messages postés
4135
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
27 octobre 2024
676
15 avril 2015 à 00:06
15 avril 2015 à 00:06
Bonjour,
un essai :
https://www.cjoint.com/c/EDpat3YUkjf
un essai :
https://www.cjoint.com/c/EDpat3YUkjf
biagjibs
Messages postés
53
Date d'inscription
mardi 18 novembre 2008
Statut
Membre
Dernière intervention
12 février 2016
15 avril 2015 à 08:10
15 avril 2015 à 08:10
Merci pour ton aide,
Il y'a cependant 2 ou 3 petits problèmes:
la formule:
recherche la valeur associé dans Y1Names seulement...
mais si j'ai sélectionné Y2Names, Y3Names ...comment faire l'index pour rechercher dans les bonnes colonnes?
Puis j'ai remarqué que si j'essaye de changer ma sélection, les valeurs ne sont pas mises à jour?? D'autant plus que les valeur retournées ne sont pas correctes
voici le fichier à nouveau (j'ai mis des nombres Dans Y1ArNames, Y2ArNames..à la place des noms en langue étrangere) pour plus de clarité
https://www.cjoint.com/c/EDpiwuhWc01
Merci pour toute suggestion.
Il y'a cependant 2 ou 3 petits problèmes:
la formule:
=IFERROR(OFFSET(INDEX(Y1Names,MATCH(Results!$B6,$B$2:$B$27,0)),0,1),"")
recherche la valeur associé dans Y1Names seulement...
mais si j'ai sélectionné Y2Names, Y3Names ...comment faire l'index pour rechercher dans les bonnes colonnes?
Puis j'ai remarqué que si j'essaye de changer ma sélection, les valeurs ne sont pas mises à jour?? D'autant plus que les valeur retournées ne sont pas correctes
voici le fichier à nouveau (j'ai mis des nombres Dans Y1ArNames, Y2ArNames..à la place des noms en langue étrangere) pour plus de clarité
https://www.cjoint.com/c/EDpiwuhWc01
Merci pour toute suggestion.
biagjibs
Messages postés
53
Date d'inscription
mardi 18 novembre 2008
Statut
Membre
Dernière intervention
12 février 2016
15 avril 2015 à 12:29
15 avril 2015 à 12:29
Merci beaucoup
Donc j'ai changé les noms comme suggéré: (Y1_Names,....,Y6B_Names)
dans le Colonne C, j'ai fait le changement (GAUCHE(B2;3)
donc pour Y1_Names tout marche parfaitement, j'ai réussi a faire les bon décallages etc.., sauf que si je choisis une autre classe (Y2_Names, Y3_Names etc..) ça ne marche plus??
voici le fichier:
https://www.cjoint.com/c/EDpmPJWdbGm
Merci encore pour votre aide
Donc j'ai changé les noms comme suggéré: (Y1_Names,....,Y6B_Names)
dans le Colonne C, j'ai fait le changement (GAUCHE(B2;3)
=IFERROR(INDEX(StudentsData!$A$1:$AK$30,MATCH(B2,StudentsData!$C$1:$C$30,0),MATCH(LEFT($A2,3)&"*",StudentsData!$A$1:$AK$1,0)+1),"")
donc pour Y1_Names tout marche parfaitement, j'ai réussi a faire les bon décallages etc.., sauf que si je choisis une autre classe (Y2_Names, Y3_Names etc..) ça ne marche plus??
voici le fichier:
https://www.cjoint.com/c/EDpmPJWdbGm
Merci encore pour votre aide
biagjibs
Messages postés
53
Date d'inscription
mardi 18 novembre 2008
Statut
Membre
Dernière intervention
12 février 2016
15 avril 2015 à 18:07
15 avril 2015 à 18:07
Merci infiniment à tout les deux..j'apprécie votre aide.
les deux méthodes marchent trés bien
les deux méthodes marchent trés bien
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 412
15 avril 2015 à 18:08
15 avril 2015 à 18:08
OK, alors on passe le sujet en résolu
Bonne route
crdlmnt
Bonne route
crdlmnt
biagjibs
Messages postés
53
Date d'inscription
mardi 18 novembre 2008
Statut
Membre
Dernière intervention
12 février 2016
Modifié par biagjibs le 15/04/2015 à 18:52
Modifié par biagjibs le 15/04/2015 à 18:52
il y'a une colonne ou j'aimerai retourner une valeur precise selon la sélection:
si sélection est Y1_Names retourner F
Y2_Names => M
Y3_Names => M
Y4B_Names => M
Y4G_Names => F
Y5B_Names => M
Y5G_Names => F
Y6B_Names => M
Y6G_Names => F
Pouvez-vous m'aider sur cette derniere étape?
j'étais sur le point de créer une colonne dans la premiere feuille et rechercher ces valeurs (F,M), je pense pouvoir le faire, mais peut etre qu'il y'a une meilleur méthode étant donné que les valeurs sont fixes.
merci
si sélection est Y1_Names retourner F
Y2_Names => M
Y3_Names => M
Y4B_Names => M
Y4G_Names => F
Y5B_Names => M
Y5G_Names => F
Y6B_Names => M
Y6G_Names => F
Pouvez-vous m'aider sur cette derniere étape?
j'étais sur le point de créer une colonne dans la premiere feuille et rechercher ces valeurs (F,M), je pense pouvoir le faire, mais peut etre qu'il y'a une meilleur méthode étant donné que les valeurs sont fixes.
merci