Pb pr combiner plusieur test et recherchev
Résolu
djstom
Messages postés
3
Statut
Membre
-
djstom Messages postés 3 Statut Membre -
djstom Messages postés 3 Statut Membre -
Bonjour,
Je dispose de 2 onglets excel. Sur l'un se trouve un tableau avec des villes et leur code postal, une qtité de matériel et un prix total. Le code postal est inscrit dans 2 cellules différentes comme ci dessous :
A1 A2 A3 (qtité matériel) prix total
17 000 2 ?
17 010 3 ?
Dans le 2ième onglet je dispose d'un tableau (tarif) donnant pour chaque code postal un prix unitaire du matériel :
B13 C13 px unitaire
17 000 5€
17 010 10€
Pour pouvoir calculer le prix total je dois chercher dans le tableau tarif le prix unitaire correspondant à tel ou tel code postal et multiplier par la qtité. Et cela en s'assurant que les 2 parties du code postal correspondent.
Dans un cas plus simple, pour trouver le px unitaire j'ai fait une RECHERCHEV avec seulement la 1ere partie du cp.
Mais ds ce nouveau cas il y a des variantes en fonctions des 3 derniers numéros du cp.
Le problème vient pour combiner les 2 recherches pour les 2 parties du cp, le test qui dit qu'avec telle et telle partie du code on a ce prix unitaire là et que le calcul se fait. Si c'est pas le cas on peut renvoyer 0 ou n'importe quoi.
Si qqun peut m'aider ca serait super, j'ai passé l'aprem dessus. Merci d'avance et bonne soirée
Je dispose de 2 onglets excel. Sur l'un se trouve un tableau avec des villes et leur code postal, une qtité de matériel et un prix total. Le code postal est inscrit dans 2 cellules différentes comme ci dessous :
A1 A2 A3 (qtité matériel) prix total
17 000 2 ?
17 010 3 ?
Dans le 2ième onglet je dispose d'un tableau (tarif) donnant pour chaque code postal un prix unitaire du matériel :
B13 C13 px unitaire
17 000 5€
17 010 10€
Pour pouvoir calculer le prix total je dois chercher dans le tableau tarif le prix unitaire correspondant à tel ou tel code postal et multiplier par la qtité. Et cela en s'assurant que les 2 parties du code postal correspondent.
Dans un cas plus simple, pour trouver le px unitaire j'ai fait une RECHERCHEV avec seulement la 1ere partie du cp.
Mais ds ce nouveau cas il y a des variantes en fonctions des 3 derniers numéros du cp.
Le problème vient pour combiner les 2 recherches pour les 2 parties du cp, le test qui dit qu'avec telle et telle partie du code on a ce prix unitaire là et que le calcul se fait. Si c'est pas le cas on peut renvoyer 0 ou n'importe quoi.
Si qqun peut m'aider ca serait super, j'ai passé l'aprem dessus. Merci d'avance et bonne soirée
A voir également:
- Pb pr combiner plusieur test et recherchev
- Test performance pc - Guide
- Test steam deck oled - Guide
- Test disque dur - Télécharger - Informations & Diagnostic
- Test composant pc - Guide
- Test batterie pc - Guide
2 réponses
Avec cette formule je t'explicais comment récupérer le prix, à toi de multiplier par la quantité ensuite.
=SOMMEPROD(($A$1:$A$10=F1)*($B$1:$B$10=G1)*($C$1:$C$10))
($A$1:$A$10=F1) : vrai si 1ère partie du code postale correcte, faux sinon
($B$1:$B$10=G1) : vrai si 2nde partie du code postale correcte, faux sinon
($C$1:$C$10) : le prix
Sommeprod() fait un calcul matriciel : produit ligne à ligne et somme de tous les produits ensuite.
Et comme pour excel vrai=1 et faux=0
si une des 2 partie du code postal est faux le produit est 0,
si les 2 parties du code postal sont vrai alors on a 1 * 1 * prix recherché
et si on fait la somme de tous les produits calculés on a 0+0+0+0+prix recherché+0+0 = prix recherché
Enfin bref, essaie..
eric
=SOMMEPROD(($A$1:$A$10=F1)*($B$1:$B$10=G1)*($C$1:$C$10))
($A$1:$A$10=F1) : vrai si 1ère partie du code postale correcte, faux sinon
($B$1:$B$10=G1) : vrai si 2nde partie du code postale correcte, faux sinon
($C$1:$C$10) : le prix
Sommeprod() fait un calcul matriciel : produit ligne à ligne et somme de tous les produits ensuite.
Et comme pour excel vrai=1 et faux=0
si une des 2 partie du code postal est faux le produit est 0,
si les 2 parties du code postal sont vrai alors on a 1 * 1 * prix recherché
et si on fait la somme de tous les produits calculés on a 0+0+0+0+prix recherché+0+0 = prix recherché
Enfin bref, essaie..
eric
Bonsoir,
Pour continuer à utiliser recherchev() il faudrait fusionner au moins ta liste de tarif pour avoir une clé unique du style 17010.
Sinon tu peux utiliser sommeprod() si c'est bien une valeur numérique qu'il faut ramener.
ex:
Avec tes code1 et code2 à rechercher le prix en F1 et G1 la formule serait:
=SOMMEPROD(($A$1:$A$10=F1)*($B$1:$B$10=G1)*($C$1:$C$10))
eric
Pour continuer à utiliser recherchev() il faudrait fusionner au moins ta liste de tarif pour avoir une clé unique du style 17010.
Sinon tu peux utiliser sommeprod() si c'est bien une valeur numérique qu'il faut ramener.
ex:
A B C code1 code2 prix 17 000 5 17 010 10 ... ..... ....
Avec tes code1 et code2 à rechercher le prix en F1 et G1 la formule serait:
=SOMMEPROD(($A$1:$A$10=F1)*($B$1:$B$10=G1)*($C$1:$C$10))
eric
Salut éric et merci pour ta réponse,
Le pb c'est qu'en fait je recois un fichier extrait d'un logiciel,
et c'est ce logiciel qui sépare le code postale des villes en 2 parties.
Je retrouve également dessus les qtités de matériel achtées pr chaque ville.
Pr l'instant j'essaie de faire un fichier où qd je copie colle les données extraites du logiciel,
excel me calcul directement le prix total à droite dans une colone.
Par exemple sur ces villes :
nb materiel px total
Paris 75 000 3(matériels) ?
Paris15 75 015 2 ?
La rochelle 17 000 10
Poitiers 86 000 1
Chatellerault 86 100 8
La formule pour le prix total serait toute prète et le résultat apparaitrait
directement sur cette onglet quand je rentre les données du logiciel.
La formule irait chercher les informations dont elle a besoin dans un second onglet
où il y a les tarifs unitaire des matériels en fonction ds villes :
px unitaire
Paris 75 000 10€
Paris15 75 015 2€
La rochelle 17 000 20
Poitiers 86 000 5€
Chatellerault 86 100 4€
Pr résumé il faut que la formule ds la case prix total de l'onglet 1 reconnaissent
les 2 cellules du code postale et qu'en fonction de ca elle aille chercher
dans l'onglet tarif le prix unitaire associé et le multiplie par la quantité.
Comme il peux y avoir deux villes en 75, ou en 86 com ds l'exemple
il faut absolument faire la reconnaissance de la seconde partie du code postale.
Après si je dois faire des opérations intermédiares dans de nuvelle colonne c'est pas grave.
Je suis pas sur d'avoir parfaitement bien compri ta formule,
mais il me semble qu'avec je multiplierai les codes postaux par la qtité et le prix ? nan ?
Merci beaucoup ca marche nickel !!! Tu m'enlèves vraiment une épine du pied :)
C'est vraiment malin comme astuce, j'aurais jamais pensé à utiliser les caractéristiques du calcul matriciel pour ce genre de chose.
Merci bcp et bonne journée.