transactions de médicaments

lantenois

XLDnaute Nouveau
Bonjour

Alors si vous me trouvez une solution… merci

Alors, en pièce jointe, vous avez un fichier qui contient des transactions de médicaments.

Colonne B, vous avez le pays de la transaction
Colonne C, le type de dosage
Colonne D, le prix unitaire du médicament
Colonne E, la date de la transaction
Colonne F, si le médicament, au moment de sa transaction est oui ou non « qualifié ».

Niveau 1 : je raisonne par type de dosage, par quartile et par année.

Par exemple, je m’intéresse dans un premier temps au dosage 20 mg/ml. J’ai 210 transactions compris sur la période 2006-2008 (en faite, j'ai plus d'années et de transactions, mais j'ai du réduire pour télécharger le fichier). Pour chaque année, 2006, 2007 et 2008, je cherche le prix mini, le 1er quartile, le second (médiane), le troisième quartile et le prix max, que les médicaments soient « oui » ou « non » qualifiés.

Comme vous pouvez le voir dans le fichier, j’utilise la fonction =QUARTILE (matrice ; quart) et je trouve pour 2006 les différents résultats recherchés. Comme je n’ai pas une grande maitrise d’EXCEL, pour faire les mêmes calculs pour les autres années, par exemple 2007, je dois isoler les transactions de 2007. Ça me prend du temps.

Je cherche donc un moyen de faire apparaitre pour chaque année les différents prix, comme dans le tableau « fictif 1 » dans le fichier.

Niveau 2 : après avoir trouvé mes différents prix indépendamment du statut qualifié (« oui ») ou « non ». Je recherche les mêmes prix (mini, 1er quartile…), mais cette fois-ci pour les médicaments qualifiés, puis pour ceux qui ne le sont pas. (Colonne F).

Ma méthode, comme précédemment, j’isole les années puis les « oui » et les « non », et je reproduits ça pour chaque année. Mais ça me prend encore du temps. Je cherche donc une astuce pour avoir directement tous les résultats, comme dans les tableaux 2 et 3.


Enfin, je dois refaire la même chose pour les autres dosages…. Et j’ai plus de 20 médicaments avec différents dosages. Si je suis ma méthode, j’en ai pour une semaine !

Merci.
 

Pièces jointes

  • ABC.xlsx
    32.7 KB · Affichages: 86
  • ABC.xlsx
    32.7 KB · Affichages: 86
  • ABC.xlsx
    32.7 KB · Affichages: 97

Dull

XLDnaute Barbatruc
Re : transactions de médicaments

Salut lantenois, le Forum

Je ne suis vraiment pas sur des résultats mais sur avec ma logique, qui vaut ce qu'elle vaut, peut-être un SommeProd peut faire l'affaire

teste le fichier et dis moi si je me suis planté :rolleyes:

EDITION: Hi David:) Heu! Je retire mon fichier pour ne pas avoir la honte de ma vie :eek: et Bravo pour la Formule Matricielle :) j'aurais jamais trouvé

Bonne Journée
 
Dernière édition:

david84

XLDnaute Barbatruc
Re : transactions de médicaments

Bonjour, salut Dull:),
en essayant de suivre ta logique, cf. fichier à tester.
A+
 

Pièces jointes

  • Copie de ABC.xls
    66.5 KB · Affichages: 82
  • Copie de ABC.xls
    66.5 KB · Affichages: 88
  • Copie de ABC.xls
    66.5 KB · Affichages: 88

lantenois

XLDnaute Nouveau
Re : transactions de médicaments

alors, merci tous les deux pour votre aide. DAVID84, les résultats que vous trouvez sont les bons. je me suis pris la tête à refaire tous les calculs (ma méthode), et je trouve les mêmes.

alors maintenant, j’ai deux problèmes, le premier pour reproduire la formule et le second de compréhension.

1) Comment vous faites apparaitre les { } en début et fin de formule ? Lorsque j’utilise les crochets à partir de Alt Gr + 4, je ne trouve pas les mêmes résultats. De plus, dès que je clique une fois sur la formule, ces crochets disparaissent....

2) Je comprends en gros la logique de la formule. Si je reprend celle du "minimum" pour l'année 2006, j'ai la formule suivante

{=QUARTILE(SI(ANNEE($E$2:$E$211)=I$10;$D$2:$D$211);LIGNES($1:1)-1)}

je comprend la "logique" jusqu'à la partie "LIGNES($1:1)-1)}" que je ne comprend pas. Cette partie est surement indispensable, mais je ne comprend pas la logique.

merci
 

Hippolite

XLDnaute Accro
Re : transactions de médicaments

Bonjour à tous,

Bravo à david qui m'a pris de vitesse, mais le déjeuner ne pouvait pas attendre.

Comment vous faites apparaitre les { }
Pour les formules matricielles, validation avec ctrl+maj+entrée

Pour atteindre la perfection,il faudrait remplacer la dernière ligne de la matrice par une ligne neutre afin de faciliter l'insertion de lignes nouvelles.
 
Dernière édition:

david84

XLDnaute Barbatruc
Re : transactions de médicaments

Re

Dull:) : pour la formule, je n'ai fait que reprendre la formule proposée par lantenois en y appliquant la ou les conditions requises (les années, les "oui" ou les "non").
Et donc, à partir du moment où j'intègre une ou des conditions à ma formule et à l'intérieur de ma formule, je dois la valider de manière matricielle (=Min(si(Condition(s);Matrice)), =Max(si(Condition(s);Matrice)), =Quartile(si(Condition(s);Matrice)), =Moyenne(si(Condition(s);Matrice)),...).
Une fois que tu as intégré cette donnée, cela est plus facile je pense...

lantenois : les formules sont matricielles et doivent donc être validées en appuyant simultanément sur les touches Ctrl, Maj et Entrée (ne cherche pas à placer les accolades toi-même, elles sont intégrées automatiquement lors de la validation matricielle de la formule et indiquent que c'est une formule matricielle).
Donc concrètement :
- tu rentres ta formule dans une cellule
- tu appuies sur la touche F2 du clavier
- tu valides comme indiqué ci-dessus
- tu tires ta formule vers la droite et le bas.

Concernant LIGNES($1:1)-1, cela permet d'automatiser la partie quart de la fonction quartile puisque cela te donnes 0 puis 1 puis 2 puis 3 puis 4 au fur et à mesure que tu tires ta formule vers le bas, et ce quelle que soit la ligne de la cellule où tu rentres ta formule.
A+
Edit : bonjour à Hippolite
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
314 273
Messages
2 107 996
Membres
109 993
dernier inscrit
many_80