Faisabilité de statistiques via Excel Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
E
Elendir
Jeune membre
Jeune membre
Messages : 36
Inscrit le : 3 novembre 2015
Version d'Excel : 2007 FR

Message par Elendir » 3 novembre 2015, 22:16

Bonsoir à tous,

Je m'excuse de vous déranger, mais je n'arrive pas à trouver la solution tout seul
Pour faire simple : j'ai une base de donnée répertoriant 100.000 consultations. Je veux faire des calculs statistiques me permettant de déterminer si l'occurence du risque est plus forte dans le groupe témoin ou le groupe controle

J'aurai besoin qu'excel me trie un peu les données, sans doute avec la fonction IF
Pour être plus clair j'ai donc 100.000 consultations pour un motif bien précis
Ces 100.000 consultations ont été faites par 80.000 patients, donc parfois il y a 2 voire 3-4 consultations pour une même personne, parfois à 2-3 jours d'intervalle, parfois à 4 ans d'intervalle
Chaque patient a un numéro de patient

Mon tableau se présente sous la forme suivante

Colonne A |||||||||||||||||||||||| Colonne B ||||||||||||||||||||| Colonne C |||||||||||||||||||||||||||||||||||||| Colonne D
numéro patient |||| date de consultation ||| présence du risque ? ||| date de la complication (vide si pas de complication)
||||||||||||||||||| 321 ||||||||||||||||||| ||||||||| 10/08/1999 ||||||||||||||||||| non |||||||||||||||||| ||||||||||||||||||| | 14/08/1999
||||||||||||||||||| 322 ||||||||||||||||||| ||||||| 14/10/2002 ||||||||||||||||||| oui ||||||||||||||| ||||||||||||||||||| ||||
||||||||||||||||||| 322 ||||||||||||||||||| |||||| 18/10/2002 ||||||||||||||||||| oui ||||||||||||||| ||||||||||||||||||| |||| 20/10/2002
||||||||||||||||||| 323 ||||||||||||||||||| |||||||| 05/04/1998 ||||||||||||||||||| oui ||||||||||||||||| ||||||||||||||||||| ||
||||||||||||||||||| 324 ||||||||||||||||||| |||||| 19/06/1998 ||||||||||||||||||| non ||||||||||||||| ||||||||||||||||||| ||||
||||||||||||||||||| 324 ||||||||||||||||||| ||||||| 21/07/2005 ||||||||||||||||||| non ||||||||||||||| ||||||||||||||||||| ||||
||||||||||||||||||| 324 ||||||||||||||||||| ||||||| 25/07/2005 ||||||||||||||||||| oui ||||||||||||||| ||||||||||||||||||| |||| 27/07/2005


Dans cet exemple de mon tableau, j'aimerai qu'Excel me dise
- Il y a eu 5 consultations et non pas 7 (il supprime donc les consultations très rapprochées des n°322 et 324)
- Sur ces 5 consultations, 3 ont débouché sur une prescription du risque (si un même numéro a deux consultations rapprochées, je veux qu'Excel me supprime la consultation où il n'y a pas eu le risque, pour être sûr de ne pas supprimer par erreur une consultation avec risque comme pour le patient 324. En revanche, si deux consultations rapprochées ont eu le risque, je veux qu'il ne me compte qu'une, pour ne pas faire double comptage comme pour le patient 322)

N'hésitez pas à me demandez d'être plus clair si je ne le suis pas assez, et merci de m'avoir lu :wink:
g
gmb
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'827
Appréciations reçues : 362
Inscrit le : 4 avril 2013
Version d'Excel : 2016

Message par gmb » 4 novembre 2015, 08:56

Bonjour et bienvenue sur le forum

Un essai à tester. Te convient-il ?
Bye !
Stat v1.xlsm
(22.06 Kio) Téléchargé 17 fois
E
Elendir
Jeune membre
Jeune membre
Messages : 36
Inscrit le : 3 novembre 2015
Version d'Excel : 2007 FR

Message par Elendir » 4 novembre 2015, 18:53

Bonsoir,
Tout d'abord merci de ton accueil

Cet essai semble marcher à la perfection. Je vais le tester à plus grande échelle (sur 100 patients), puis sur les 100.000 pour voir si cela continue de bien marcher

Penses tu qu'il sera facile d'étendre légèrement la macro, en reportant une colonne d'âge de patient supplémentaire par exemple ?

Merci beaucoup en tout cas pour ton aide, j'apprécie vraiment :wink:
g
gmb
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'827
Appréciations reçues : 362
Inscrit le : 4 avril 2013
Version d'Excel : 2016

Message par gmb » 4 novembre 2015, 19:01

Elendir a écrit :Penses tu qu'il sera facile d'étendre légèrement la macro, en reportant une colonne d'âge de patient supplémentaire par exemple ?
On essaiera.
Mais, en attendant, réfléchi bien à la forme définitive que tu veux donner à ta requête car si on ajoute des colonnes, il faut tout revoir...
Bye !
E
Elendir
Jeune membre
Jeune membre
Messages : 36
Inscrit le : 3 novembre 2015
Version d'Excel : 2007 FR

Message par Elendir » 4 novembre 2015, 19:11

Méa culpa, je n'avais pas bien regardé : il y a un soucis avec la macro
Autant si elle a bien traité les patients 321, 322 et 323, supprimant là où il fallait, autant si le 324 il y a un soucis
Logiquement, le patient n°324 devrait, après extraction par la macro, me donner 2 consultations
- une en 1998
- une en 2005 (car il y a eu 2 consultations à 4 jours d'intervalle)
Or la macro ne m'en a gardé qu'une : celle de 2005
Qu'en penses tu ?

Par ailleurs, comment puis-je modifier la formule de la macro pour mettre un intervalle minimum de 30 jours entre 2 consultations pour qu'elles ne soient pas réduites à une consultation (au lieu de 7 jours)

D'avance merci

edit : 2ème soucis avec la macro : elle supprime bien les consultations multiples, mais elle ne prend pas en compte s'il y a eu ou non prescription du risque. J'ai fais le test avec un patient 326 qui a consulté le 28/10/2015 et le 01/11/2015. Il y avait risque le 28 octobre mais pas le 1er novembre. La macro supprime une des deux consultations (logique car distantes de moins de 7 jours), mais elle me supprime la mauvaise, car elle me garde celle où il n'y a pas eu le risque. Y'a t'il un moyen de régler ce soucis ?

Désolé pour tout ce travail :?
E
Elendir
Jeune membre
Jeune membre
Messages : 36
Inscrit le : 3 novembre 2015
Version d'Excel : 2007 FR

Message par Elendir » 4 novembre 2015, 19:58

Si cela peut aider, je joins une partie de mon tableur (les 1000 premiers patients)
La seule "nouveauté" ce sont les colonnes d'âge et de genre, ainsi que celle du 2ème risque (critère secondaire)
Classeur test 1000.xlsx
(43.92 Kio) Téléchargé 23 fois
Bonne soirée
g
gmb
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'827
Appréciations reçues : 362
Inscrit le : 4 avril 2013
Version d'Excel : 2016

Message par gmb » 5 novembre 2015, 00:40

Nouvelle version à tester.
Stat v2.xlsm
(22.14 Kio) Téléchargé 13 fois
Elendir a écrit :comment puis-je modifier la formule de la macro pour mettre un intervalle minimum de 30 jours entre 2 consultations pour qu'elles ne soient pas réduites à une consultation (au lieu de 7 jours)
Il suffit de changer le 7 par 30, dans la cellule F2.
je joins une partie de mon tableur (les 1000 premiers patients)
J’ai regardé ce nouveau fichier que tu as joint. Il diffère sensiblement du précédent.
Es-tu bien sûr qu’il s’agit de la dernière version quant au format : nombre de colonnes, position de la colonne ‘’Date’’ (il n’y en a plus qu’une …) , risque indiqué par des 0 ou des 1 au lieu de ‘’oui’’ et de ‘’non’’…
Et j’espère que celui qui doit servir de critère à l’extraction est le ‘’Risque 1’’ ?

A te relire.
Bye !
E
Elendir
Jeune membre
Jeune membre
Messages : 36
Inscrit le : 3 novembre 2015
Version d'Excel : 2007 FR

Message par Elendir » 5 novembre 2015, 10:21

Salut,

Encore une fois merci du temps que tu passes à m'aider, j'apprécie vraiment :wink:
En fait, mon changement de version de tableau vient du fait que je ne voulais pas rendre ma demande complexe : je t'avais indiqué uniquement les colonnes que je voulais vraiment voir dans la macro
A partir du tableau extrait par la macro, je peux déduire le reste (je maitrise à peu près les formules de base excel comme IF... C'est pas brillant mais ça suffit

Ta nouvelle version a l'air de très bien marcher : je l'ai testé sur mes 150 premières valeurs et elle n'a pas fait la moindre erreur
Comme je ne voulais pas créer une erreur dans la macro, j'ai créé une fonction SI =SI(J139=0;"non";"oui") qui me converti les 0 en non et les 1 en oui
J'ai tenté toutes les combinaisons pour "tromper" ta macro : à chaque fois elle a réussi, je suis vraiment soulagé :D

Histoire que tu voies mon fichier excel "réel", je te le joins tel qu'il est dans la "réalité"
Mais dans les faits ta macro semble très bien marcher, cela me demande juste de faire des copier/coller d'un fichier à un autre, ainsi que d'utiliser une banale fonction "SI" pour convertir mes valeurs numériques en "oui/non"

Donc les différentes colonnes
A : le numéro de patient
B, C et D : inutiles, ce sont de simples colonnes de codage de la base de données (cela indique le code médecin ou celui du diagnostic)
E : le genre du patient
F : l'âge du patient
G : nouveau diagnostic ou déjà vu (sans intérêt ici)
H : pas d'intérêt, c'est juste une vérif de la base pour être sûr que je n'inclue pas une autre maladie
I : Date du diagnostic ("date de la consultation" dans la macro)
J : colonne ou "0" veut dire pas de risque et "1" veut dire risque (que j'ai converti en oui/non avec la fonction SI dans la colonne N)
K : Durée du risque (sans intérêt car trop peu renseigné dans la base)
L : même principe que la J concernant le risque 2. Dans les faits son importance est secondaire. Plutôt que de complexifier la macro, je ferai un simple copier coller de la colonne risque 2 sur celle du risque 1 quand je voudrai étudier ce critère secondaire
m : durée du risque 2 (là aussi inutile car trop peu renseigné)

Voilà tu sais tout, et mon tableau que je te mets en pièce jointe est le "définitif"
Tableau des 1000 à l'identique.xlsx
(99.96 Kio) Téléchargé 13 fois
Si tu as le temps et l'envie (et uniquement dans ce cas), pour qu'elle fonctionne directement via mon "vrai" tableau, hésite pas, mais tu m'as déjà tellement rendu service, vraiment merci ! ;;)

PS : penses tu qu'il est faisable que la macro considère le risque 1 et le 2 ou bien est-ce impossible/trop compliqué à tes yeux ? J'aurai juste besoin que la macro me reporte à côté de la colonne "présence du risque" une colonne "présence du risque 2 ?"
Donc dans l'idéal absolu, j'aurai besoin que la macro reporte aussi les colonnes d'âge, de genre et de risque 2, mais sans calcul supplémentaire, juste reporter les informations

Bonne journée
g
gmb
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'827
Appréciations reçues : 362
Inscrit le : 4 avril 2013
Version d'Excel : 2016

Message par gmb » 5 novembre 2015, 11:35

Bonjour

Nouvelle version à tester.
Tableau des 1000 v1.xlsm
(152.11 Kio) Téléchargé 23 fois
Inutile de t’ennuyer avec la formule qui transforme les 1 et 0 en oui et non : la macro te le donne dans le résultat.

Et n’oublie pas : tu ne dois pas supprimer ou déplacer des colonnes. Mais, tu peux les masquer si elles ne te servent à rien.

OK ?

Bye !
E
Elendir
Jeune membre
Jeune membre
Messages : 36
Inscrit le : 3 novembre 2015
Version d'Excel : 2007 FR

Message par Elendir » 5 novembre 2015, 11:58

Salut !

Le tableau tel quel m'a l'air parfait
En revanche Excel m'indique que le dossier contient plusieurs liaisons ne pouvant être mises à jour
Quand je regarde sur "modifier les liaisons", il m'indique un chemin vers ton pc donc forcément ça marche pas
Du coup j'ai essayé de lui indiquer le bon chemin mais il n'y arrive pas
Comment lui dire que c'est le doc excel de mon bureau et non le tien qu'il faut exploiter ?

Quand je fais "modifier les liaisons" il me propose "mettre à jour les valeurs", "modifier la source", ouvrir la source ou encore rompre les liaisons.

Bref, désolé de cette nouvelle question mais je bloque encore une fois

Par contre la macro semble avoir parfaitement marché quand je vois ton tableau extrait
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message