[Excel] Recherche avec 2 critères - encore!
SoniaB
-
Le Pingou Messages postés 12714 Date d'inscription Statut Contributeur Dernière intervention -
Le Pingou Messages postés 12714 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai essayé toutes les réponses à cette questions sur plusieurs forums, et j'ai toujours des problèmes... Peut-être pourrez-vous m'aider?
J'ai 2 feuilles.
Sur l'une (Suivi Formation), Nom (en A), Prénom (en B), et je veux que le matricule se mette automatiquement en C.
Sur l'autre (Codes SAP), Nom, Prénom, Matricule, sur 110 lignes. Matricule est sur la colonne C.
Simple!
Ma formule
=SOMMEPROD(('Codes SAP'!$A$2:$A$110='Suivi Formation'!A4)*('Codes SAP'!$B$2:$B$110='Suivi Formation'!B4)*('Codes SAP'!$C$2:$C$110))
en validation matricielle marche bien sur un fichier excel de démonstration, avec simplement quelques lignes et ces 2 feuilles.
Mais sur le fichier sur lequel je dois travailler, qui a des centaines de lignes et une dizaine de feuilles, ça ne marche pas - le résultat est #VALEUR!
j'ai bien vérifier l'orthographe des noms, ce n'est pas ça.
Qu'est-ce qui m'échappe?...
Merci d'avance!
J'ai essayé toutes les réponses à cette questions sur plusieurs forums, et j'ai toujours des problèmes... Peut-être pourrez-vous m'aider?
J'ai 2 feuilles.
Sur l'une (Suivi Formation), Nom (en A), Prénom (en B), et je veux que le matricule se mette automatiquement en C.
Sur l'autre (Codes SAP), Nom, Prénom, Matricule, sur 110 lignes. Matricule est sur la colonne C.
Simple!
Ma formule
=SOMMEPROD(('Codes SAP'!$A$2:$A$110='Suivi Formation'!A4)*('Codes SAP'!$B$2:$B$110='Suivi Formation'!B4)*('Codes SAP'!$C$2:$C$110))
en validation matricielle marche bien sur un fichier excel de démonstration, avec simplement quelques lignes et ces 2 feuilles.
Mais sur le fichier sur lequel je dois travailler, qui a des centaines de lignes et une dizaine de feuilles, ça ne marche pas - le résultat est #VALEUR!
j'ai bien vérifier l'orthographe des noms, ce n'est pas ça.
Qu'est-ce qui m'échappe?...
Merci d'avance!
A voir également:
- [Excel] Recherche avec 2 critères - encore!
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
2 réponses
Bonjour
Si la formule affiche valeur, c'est sans doute qu'il y a dans le champ
'Codes SAP'!$C$2:$C$110
des formats qui ne sont pas numériques
ceci est visible si en sélectionnant cette colonne, vous choisissez le format de l'alignement horizontal "standard"
les num viennent à droite et les alpha à gauche
si vous n'avez pas de "parasite" dans les info de cette colonne (caractères texte , ponctuation,etc;;), vous pouvez essayez ceci
copier une cellule vide
sélectionnez le champ
collage spécial / Addition.
qui devrait transformer en num les matricules.
Mais la formule SOMMEPROD(qui, en aparté, n'a pas besoin d'entrée en matricielle)n'éditera que la somme de ce qu'elle trouve et donc uniquement du numérique.
revenez si ça ne fonctionne pas, il faudra passer par autre chose.
crdlmnt
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
Si la formule affiche valeur, c'est sans doute qu'il y a dans le champ
'Codes SAP'!$C$2:$C$110
des formats qui ne sont pas numériques
ceci est visible si en sélectionnant cette colonne, vous choisissez le format de l'alignement horizontal "standard"
les num viennent à droite et les alpha à gauche
si vous n'avez pas de "parasite" dans les info de cette colonne (caractères texte , ponctuation,etc;;), vous pouvez essayez ceci
copier une cellule vide
sélectionnez le champ
collage spécial / Addition.
qui devrait transformer en num les matricules.
Mais la formule SOMMEPROD(qui, en aparté, n'a pas besoin d'entrée en matricielle)n'éditera que la somme de ce qu'elle trouve et donc uniquement du numérique.
revenez si ça ne fonctionne pas, il faudra passer par autre chose.
crdlmnt
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
Bonjour,
Juste au passage, si les feuilles ont des centaines de lignes il faut pensé à adapter les plages ['Codes SAP'!$C$2:$C$110.....] c'est à dire remplacer le 110 par 3241 si vous avez 3241 lignes...!
Juste au passage, si les feuilles ont des centaines de lignes il faut pensé à adapter les plages ['Codes SAP'!$C$2:$C$110.....] c'est à dire remplacer le 110 par 3241 si vous avez 3241 lignes...!
Bonjour,
Merci pour votre petit mot.
Juste un petit détail, la solution de Vaucluse est très bonne (amicales salutations), personnellement je préfère remplacer le zéro par un petit tiret (je trouve que c'est plus parlant qu'une cellule vide). Via Format de cellule, Personnalisée et dans Type : #'##0;;" - "
Merci pour votre petit mot.
Juste un petit détail, la solution de Vaucluse est très bonne (amicales salutations), personnellement je préfère remplacer le zéro par un petit tiret (je trouve que c'est plus parlant qu'une cellule vide). Via Format de cellule, Personnalisée et dans Type : #'##0;;" - "
au cas où vos matricules ne soient pas numériques, essayez ceci:
=INDEX('Codes SAP'!$C$2:$C$110;EQUIV('Suivi Formation'!A4&'Suivi Formation'!B4;'Codes SAP'!$A$2:$A$110&'Codes SAP'!$B$2:$B$110;0);1)
celle là par contre est obligatoirement matricielle.
et bien sur ne marche que si les textes sont strictement conformes
Bonne chance
J'avais besoin en fait que mon matricule ne soit pas totalement numérique, car le numérique enlève le 1er '0', qu'il faut mettre en lettre 'O'.
J'ai donc utilisé INDEX EQUIV, que j'avais essayé avant mais votre formule doit être un peu différente de celle que j'avais essayé, parce qu'elle marche!
Je l'ai aussi utilisé pour une autre colonne dans la feuille de référence, et ça marche.
Seule chose que je ne comprends pas, mais ce n'est pas trop grave - quand il n'y a rien dans la colonne de référence, parfois il retourne #N/A, et parfois '0'. Bizarre, mais pas trop grave.
Merci beaucoup de votre aide!
en principe, la formule renvoi #N/A quand la valeur initiale à chercher n'est pas trouvée et 0 quand la valeur à éditer n'existe pas
pour éviter les #N/A, vous pouvez écrire::
=SI(ESTERREUR(votre formule);"";votre formule))
ce n'est peut être pas la peine d'éviter les 0 qui au contraire vous informe que le code existe, mais n'a pas de matricule.*Mais si vous ne pouvez pas les voir:
Outil / Option / Affichage et décochez:
afficher les valeurs 0
idem sur excel à partir de 2007 mais: cliquer sur logo moicrosoft en haut à gauche et >Options Excel > Options avancées
crdlmnt