SOMME.SI : 3 critères

Bonjour,

Je travaille dans la recherche sur l'adhésion au traitement VIH et je suis confronté à un problème.

Je souhaiterais faire une somme.si avec 3 critères sur une même ligne :

  • > le bon ID (une colonne)
  • > la bonne date ( une colonne)
  • > SANS doublon d'un autre identifiant traitement ( autre colonne)

Les patients ont en effet un numéro qui les rend anonymes et leur traitement possède un numéro aussi.

J'arrive à intégrer les 2 premiers critères mais le 3ème je ne vois pas comment faire.

Merci d'avance

Mickaël

Bonjour

Tu pourrais mettre un exemple de fichier, avec quelques données et le résultat souhaité

Voici un exemple avec des données fictives

11classeur1.xlsx (9.04 Ko)

Re

je suis désolé je ne vois pas quel résultat tu souhaite avoir?

Voilà avec le résultat désiré

13classeur1.xlsx (9.17 Ko)

Bonjour,

pourquoi ne pas te faire un tableau croisé dynamique en filtrant sur l'ID et le MEMS ?

Sinon, je n'ai pas non plus tout saisi. Qu'est ce que le nombre d'ouverture total ?

Bonjour,

Oui ! Tu comptes quoi pour arriver à 7 ?

Cela correspond à la prise du médicament.

Avec le tableau dynamique est ce que c'est possible d'ajouter le jour car j'ai un excel de 800 000 lignes avec des dates différentes pour chaque patien


Pour arriver à 7 je fais la somme des 3 valeurs d'ouverture réalisées pour chaque MEMS(outil de mesure adhésion médicale)

Merci ! Mais je ne sais toujours pas ce qu'est une valeur d'ouverture...

Une valeur d'ouverture = nombre de fois que le patient a ouvert sa boîte de médicament = prise ( en simplifiant)

Est-ce que ta colonne D est ton nombre d'ouverture ?

Peux-tu écrire littéralement même très grossièrement, la formule souhaitée qui te permet ton calcul en colonne E stp ?

Bonjour,

Je crois que j'ai compris !

Je vois mal une formule...

A mon avis il faudrait d'abord trier la base par patient, par journée et par MEMS, puis éliminer les doublons. A partir de là on peut appliquer une formule.

Sinon, il faut voir si une fonction macro peut être plus facilement construite...

re

je n'arrive pas à 7, mais je ferais ça, bon sur j'ai pas compris!!

=SOMMEPROD(($A$3:$A$16=A3)*($B$3:$B$16=B3)*($C$3:$C$16=C3)*($D$3:$D$16=D3))

la j'ai ID, le mems, et la date!!

Re,

CB60, avec cette formule tu n'élimines pas les doublons. Pour les éliminer il faut introduire une multiplication par 1/NB.SI(plage;plage) sur la colonne MEMS mais en limitant plage à une journée pour avoir le résultat. Il faudrait donc décaler toutes les plages pour qu'elles se correspondent sur la même journée-patient, ce qui suppose une base triée par patient et journée, et qu'on n'ait pas de confusion possible, ce qui n'est jamais garanti...

Je propose une fonction personnalisée, avec quelques réserves (sur nombre de lignes) mais on peut essayer de tester.

Function NBPRISESJOUR(mems As Range, patient, daterel)
    Dim d As Object, i&, pdm$, k, n%
    Set d = CreateObject("Scripting.Dictionary")
    With mems
        For i = 1 To mems.Rows.Count
            pdm = .Cells(i, 1) & .Cells(i, 3) & .Cells(i, 2)
            d(pdm) = .Cells(i, 4)
        Next i
    End With
    pdm = patient & daterel & "*"
    For Each k In d.keys
        If k Like pdm Then n = n + d(k)
    Next k
    NBPRISESJOUR = n
End Function

Sur un petit échantillon, pas de problèmes. Je pense que jusqu'à une centaine de milliers de lignes ça devrait aller. Je n'ai toutefois pas osé mettre en recalcul automatique.

A utiliser comme une fonction d'excel : =NBPRISESJOUR(tableauPatientsMemsDatesNombres;PatientCherché;DateCherchée)

Un tableau patients-dates sans doublon avec formule en regard limiterait le nombre de formules...

Cordialement.


Le fichier. Le code de la fonction est dans Module1.

re

 MFerrand, CB60, avec cette formule tu n'élimines pas les doublons

Non, je suis d'accord, mais je n'avais pas compris ce qu'il souhaitait!!

Je comprends j'ai eu du mal... D'ailleurs, j'aimerais bien qu'il confirme car si je trouve les bons résultats, cela ne garantit pas que c'est avec les bons chiffres !!

Vos réponses m'ont guidé vers une autre manière de fonctionner avec deux etapes intermédiaire.

Le sujet est résolu. merci pour votre temps.

Je vous joins le fichier si cela vous intéresse.

Alors là ! J'efface tout ce que je pensais avoir compris et j'abandonne...

De plus en plus hermétique !

Bonne journée.

J'maginais pouvoir trouver quelque chose de plus simple mais quand je vous l'ai présenté j'avais essayé de simplifier d'autres étapes intermédiaire...

C'est plutôt simple ! A partir du dimanche, prendre les 6 jours qui pécèdent.

Rechercher des sujets similaires à "somme criteres"