Recherche à critères multiples
BILLING
Messages postés
166
Statut
Membre
-
Vaucluse Messages postés 27336 Date d'inscription Statut Contributeur Dernière intervention -
Vaucluse Messages postés 27336 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'arrive pas à créer une formule qui rechercherait 4 critères dans une matrice et me rapporterait le bon taux de taxe à utiliser.
SVP voir le fichier suivant: https://www.cjoint.com/?DAroNELZwbH
L'explication en détail s'y trouve.
Merci,--
eLise
J'arrive pas à créer une formule qui rechercherait 4 critères dans une matrice et me rapporterait le bon taux de taxe à utiliser.
SVP voir le fichier suivant: https://www.cjoint.com/?DAroNELZwbH
L'explication en détail s'y trouve.
Merci,--
eLise
A voir également:
- Recherche à critères multiples
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Rechercher ou entrer l'adresse mm - recherche google - Guide
- Je recherche une chanson - Guide
- Problème recherche de chaine tv thomson - Forum Téléviseurs
6 réponses
Bonjour,
J'ai compris ce que vous souhaitez, par contre je ne pense pas que celà soit simple à faire par des formules. je vais attendre de voir si quelqu'un a une solution excel, sinon je vous proposerez une macro.
J'ai compris ce que vous souhaitez, par contre je ne pense pas que celà soit simple à faire par des formules. je vais attendre de voir si quelqu'un a une solution excel, sinon je vous proposerez une macro.
Bonjour Billing
en attendant ccm qui va surement faire mieux, essayez ceci en H2 de votre tableau:
=SI(RECHERCHEV(A2;Taxes!K2:L241;2;0)="N/A";"";SOMMEPROD((Taxes!$A$2:$A$241=B2)*(Taxes!$E$2:$E$241=D2)*(Taxes!$F$2:$F$241=E2)*(SI(RECHERCHEV(A2;Taxes!K2:L241;2;0)="GHK";$I$2:$I$241;Taxes!$J$2:$J$241))))
Mais cette formule n'admet pas de valeur texte dans les colonnes où se trouve la valeur à ressortir,il est donc nécessaire de supprimer les N/A des colonnes I et J
Vous pouvez peut être aussi tente:
=SI(RECHERCHEV(A2;Taxes!K2:L241;2;0)="N/A";"";SOMME.SI.ENS(SI(RECHERCHEV(A2;Taxes!K2:L241;2;0)="GHK";$I$2:$I$241;Taxes!$J$2:$J$241);Taxes!$A$2:$A$241;B2;Taxes!$E$2:$E$241;D2;Taxes!$F$2:$F$241;E2))
celle ci devrait fonctionner même avec les N/A, mais à partir de Excel 2007 suelement
crdlmnt
Ps après examen il semble que les conditions identiques se retrouvent plusieurs fois dans le tableau, ce qui va compliquer la formule, car pour l'instant elle fait le total des conditions identiques.. Pouvez vous confirmer
Si c'est le cas il faut diviser par le nombre de conditions, et donc rajouter:
/SOMMEPROD((Taxes!$A$2:$A$241=B2)*(Taxes!$E$2:$E$241=D2))
ce qui donne:
=SI(RECHERCHEV(A2;Taxes!K2:L241;2;0)="N/A";"";SOMMEPROD((Taxes!$A$2:$A$241=B2)*(Taxes!$E$2:$E$241=D2)*(Taxes!$F$2:$F$241=E2)*(SI(RECHERCHEV(A2;Taxes!K2:L241;2;0)="GHK";$I$2:$I$241;Taxes!$J$2:$J$241)))/SOMMEPROD((Taxes!$A$2:$A$241=B2)*(Taxes!$E$2:$E$241=D2)))
Errare humanum est, perseverare diabolicum
en attendant ccm qui va surement faire mieux, essayez ceci en H2 de votre tableau:
=SI(RECHERCHEV(A2;Taxes!K2:L241;2;0)="N/A";"";SOMMEPROD((Taxes!$A$2:$A$241=B2)*(Taxes!$E$2:$E$241=D2)*(Taxes!$F$2:$F$241=E2)*(SI(RECHERCHEV(A2;Taxes!K2:L241;2;0)="GHK";$I$2:$I$241;Taxes!$J$2:$J$241))))
Mais cette formule n'admet pas de valeur texte dans les colonnes où se trouve la valeur à ressortir,il est donc nécessaire de supprimer les N/A des colonnes I et J
Vous pouvez peut être aussi tente:
=SI(RECHERCHEV(A2;Taxes!K2:L241;2;0)="N/A";"";SOMME.SI.ENS(SI(RECHERCHEV(A2;Taxes!K2:L241;2;0)="GHK";$I$2:$I$241;Taxes!$J$2:$J$241);Taxes!$A$2:$A$241;B2;Taxes!$E$2:$E$241;D2;Taxes!$F$2:$F$241;E2))
celle ci devrait fonctionner même avec les N/A, mais à partir de Excel 2007 suelement
crdlmnt
Ps après examen il semble que les conditions identiques se retrouvent plusieurs fois dans le tableau, ce qui va compliquer la formule, car pour l'instant elle fait le total des conditions identiques.. Pouvez vous confirmer
Si c'est le cas il faut diviser par le nombre de conditions, et donc rajouter:
/SOMMEPROD((Taxes!$A$2:$A$241=B2)*(Taxes!$E$2:$E$241=D2))
ce qui donne:
=SI(RECHERCHEV(A2;Taxes!K2:L241;2;0)="N/A";"";SOMMEPROD((Taxes!$A$2:$A$241=B2)*(Taxes!$E$2:$E$241=D2)*(Taxes!$F$2:$F$241=E2)*(SI(RECHERCHEV(A2;Taxes!K2:L241;2;0)="GHK";$I$2:$I$241;Taxes!$J$2:$J$241)))/SOMMEPROD((Taxes!$A$2:$A$241=B2)*(Taxes!$E$2:$E$241=D2)))
Errare humanum est, perseverare diabolicum
Re
utilisez plutôt le modèle de ce fichier qui est beaucoup plus simple
attention a la méthode expliquée dans le fichier pour entrer la ,formule
celle ci ne renvoie que la 1° valeur trouvée dans le tableau de taxes s'il y a plusieurs lignes qui correspondent et admet les N/A sans problème dans n'importe quelle colonne
https://www.cjoint.com/?DArr35xkNWk
crdlmnt
utilisez plutôt le modèle de ce fichier qui est beaucoup plus simple
attention a la méthode expliquée dans le fichier pour entrer la ,formule
celle ci ne renvoie que la 1° valeur trouvée dans le tableau de taxes s'il y a plusieurs lignes qui correspondent et admet les N/A sans problème dans n'importe quelle colonne
https://www.cjoint.com/?DArr35xkNWk
crdlmnt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
Une solution avec macro
Comme dit Vaucluse (salut à toi) celle ci ne renvoie que la 1° valeur trouvée dans le tableau de taxes s'il y a plusieurs lignes qui correspondent
Ce qui pose quand même un problème!
https://www.cjoint.com/?3Asj0cc8T5P
Cdlmnt
Une solution avec macro
Comme dit Vaucluse (salut à toi) celle ci ne renvoie que la 1° valeur trouvée dans le tableau de taxes s'il y a plusieurs lignes qui correspondent
Ce qui pose quand même un problème!
https://www.cjoint.com/?3Asj0cc8T5P
Cdlmnt
Merci à tous pour votre aide.
Je dois repenser ma façon de faire voir même si c'est possible avec les données que mon rapport me donne.
Comme dit Vaucluse et ccm81, j'ai des correspondances identiques avec des taux de taxes différents. Je connais le pourquoi de la chose mais je ne connais pas de solution rapide.
Pas certaine de ce que je dois faire avec cette discussion maintenant. Ce n'est pas résolu car ce n'est vraiment possible pour l'instant.
Qu'est-ce que je fais?
Je dois repenser ma façon de faire voir même si c'est possible avec les données que mon rapport me donne.
Comme dit Vaucluse et ccm81, j'ai des correspondances identiques avec des taux de taxes différents. Je connais le pourquoi de la chose mais je ne connais pas de solution rapide.
Pas certaine de ce que je dois faire avec cette discussion maintenant. Ce n'est pas résolu car ce n'est vraiment possible pour l'instant.
Qu'est-ce que je fais?
La solution serait probablement de détecter le critère qui pourrait différencier les lignes.
Or si on filtre pour lister les valeurs identiques sur les trois critères dans la feuille Taxes dans son état actuel on constate que seule, la colonne code en D permettra de différencier les lignes.
Vous pouvez le constater par exemple et entre autres en filtrant le tableau de Taxes sur:
D en colonne A / 20 en colonne E et 0 en colonne F
Ils ressort quand même 9 lignes, dont seuls le code est différent, avec:
1717 / 1716 / A7115 / 1614 / 1514 / 1414 / 1313 / 1212 / 1111
Mais comme la liste des N° de clients n'est pas complète, on peut imaginer qu'elle peut aussi servir à différencier les résultats
Au cas où, il suffit de rajouter les critères dans la formule matricielle
Bon courage, on reste à votre écoute
Or si on filtre pour lister les valeurs identiques sur les trois critères dans la feuille Taxes dans son état actuel on constate que seule, la colonne code en D permettra de différencier les lignes.
Vous pouvez le constater par exemple et entre autres en filtrant le tableau de Taxes sur:
D en colonne A / 20 en colonne E et 0 en colonne F
Ils ressort quand même 9 lignes, dont seuls le code est différent, avec:
1717 / 1716 / A7115 / 1614 / 1514 / 1414 / 1313 / 1212 / 1111
Mais comme la liste des N° de clients n'est pas complète, on peut imaginer qu'elle peut aussi servir à différencier les résultats
Au cas où, il suffit de rajouter les critères dans la formule matricielle
Bon courage, on reste à votre écoute
J'avais vu quelque chose qui ressemblait à ce que je veux faire mais ça n'a pas fonctionné. Il s'agissait d'une formule utilisant d'abord INDEX combiné avec EQUIV. Je me demande si je l'ai mal utilisée puisque je ne suis pas familière avec ces fonctions.
Est-ce que vous croyez que ces fonctions pourraient être utilisées dans mon cas?