XL 2016 Formule pour trouver une valeur dans un tableau...

BOB130

XLDnaute Nouveau
Bonjour,
J'aimerais avoir vos lumières sur une formule à utiliser, ou du moins comment l'écrire...
C'est pour calculer des frais de ports. J'ai un tableau (Tableau1) de la feuille "setup" répertoriant le prix des envois en fonction du poids, du type d'envoi et de l'année.
Sur ma feuille "suivi", j'ai une colonne calculant le poids du colis, je choisi par menu déroulant mon type d'envoi, et j'inscris la date d'envoi.

J'aimerais avoir une formule qui d'après le type d'envoi sélectionné, puisse allé pioché dans le bon poids, ainsi que la bonne année (les prix d'envoi diffèrent selon les années).
J'ai essayé des formules index, equiv mais je n'ai pas trouvé une façon qui fonctionne... pour une référence à l'année des colonne j'aurais voulu quelque chose qui fasse référence à la date d'expédition. Je crois que je ne sais pas par quel bout prendre ce genre de formule ou peut-être que mon tableau est mal organisé...

Merci pour votre aide
 

Pièces jointes

  • FRAIS_TEST.xlsx
    18.8 KB · Affichages: 19

BOB130

XLDnaute Nouveau
Bonsoir,
alors merci beaucoup pour cette aide. Apparemment ça fonctionne très bien.
Concernant mon tableau, il y a des prix par poids qui ne sont pas renseigner car cette année les bareme ont changé, le plus simple je pense c'est de renseigner le meme prix que la fourchette précédente selon vous?
Sinon dans la formule, à quoi correspond "standard" dans EQUIV(TEXTE(ANNEE(G2));"standard") ????

En tout cas merci beaucoup pour tout ça !!!
 

haonv

XLDnaute Occasionnel
Re,
VB:
le plus simple je pense c'est de renseigner le meme prix que la fourchette précédente
Oui. j'avais oublié de préciser cette nécessité.
Code:
à quoi correspond "standard" dans EQUIV(TEXTE(ANNEE(G2));"standard")
Annee(G2) renvoie l'année au format nombre.
Comme les années en K1:N1 sont au format texte (provoqué par le fait que ces cellules sont les entêtes du tableau ?), il faut mettre cette année de G2 au format texte. Et enfin "Standard", ...parce qu'il faut obligatoirement mettre un argument. On pourrait tout à fait mettre un autre format.

Cordialement
 

haonv

XLDnaute Occasionnel
Re,
Une petite modification à la formule:
VB:
=RECHERCHEV(E2;DECALER(SETUP!$J$1;EQUIV(F2;SETUP!J:J;0)-1;1;NB.SI(SETUP!J:J;F2);NBVAL(Tableau1[#En-têtes]));EQUIV(TEXTE(ANNEE(G2);"standard");Tableau1[#En-têtes];0);1)
4 est remplacé par NBVAL(Tableau1[#En-têtes]), ce qui permet d'ajuster la matrice aux nombres de colonnes du tableau, en cas de rajout d'une année.

Cordialement
 

BOB130

XLDnaute Nouveau
Re,
Une petite modification à la formule:
VB:
=RECHERCHEV(E2;DECALER(SETUP!$J$1;EQUIV(F2;SETUP!J:J;0)-1;1;NB.SI(SETUP!J:J;F2);NBVAL(Tableau1[#En-têtes]));EQUIV(TEXTE(ANNEE(G2);"standard");Tableau1[#En-têtes];0);1)
4 est remplacé par NBVAL(Tableau1[#En-têtes]), ce qui permet d'ajuster la matrice aux nombres de colonnes du tableau, en cas de rajout d'une année.

Cordialement
Ah oui, bien vu !!
Merci pour l'update
 

Discussions similaires

Statistiques des forums

Discussions
312 103
Messages
2 085 323
Membres
102 862
dernier inscrit
Emma35400