Compter les doubles pour des conditions de membre, mois/année (date)

Bonjour à tous

Je cherche à compter les doublons, pour les conditions suivantes :

  • Même membre
  • Même mois de la même année (même mois, pas sur 30 jours consécutifs)
  • Type 1

Chaque donnée étant sur une colonne séparée.

J'étais parti sur un COUNTIFS , mais pas moyen de filtrer le mois/année.

Exemple

https://docs.google.com/spreadsheets/d/1hTvCMWuFjrgu0v5uYf0Lixjn_Bg-taA61zj6V-iczVM/edit?usp=sharing

Merci d'avance pour votre aide,

Nyl,

supprimé,

formule pas adaptée

Bonjour Steelson, et merci pour ta réponse.

en considérant que c'est toujours le 8 de chaque mois, en E4

Non, j'ai juste abusé du copié-collé pour le fichier exemple, les dates sont complètement aléatoires.

supprimé,

formule pas adaptée

Pas certain de comprendre, dois-je modifier quelque chose ?

Le résultat n'est pas ce que je trouve manuellement sur le fichier exemple

ok, c'est plus clair avec ton exemple, je reprends ... la formule n'est pas adaptée ... et c'est plus complexe que prévu !

Je me doute, et j'aimerais rester sur une formule et non un script si possible, car plus léger/instantané.

a priori la formule était quand même bonne mais il y avait une erreur de typographie (Col3 au lieu de Col4)

=counta(query(arrayformula({A$2:A,year(B$2:B),month(B$2:B),C$2:C}),"select Col1 where Col1 = '"&E2&"' and Col4 = 'Type 1' "))
-counta(query(unique(arrayformula({A$2:A,year(B$2:B),month(B$2:B),C$2:C})),"select Col1 where Col1 = '"&E2&"' and Col4 = 'Type 1' "))

l'idée ici est de compter le nombre d’occurrences, et de décompter le nombre d’occurrences uniques

image

reste à traiter les triplés éventuels !!

En effet, ça s'approche, mais ça bug si j'ai des triplés...

que veux-tu décompter dans ce cas ? mets un exemple avec le résultat escompté (et là je confirme c'est plus complexe mais tu auras la réponse en formule et pas en script)

Si un membre participe 2 fois ou plus dans un même mois à un event de type 1 (les dates sont des participations, les types, sont des classes d'événement), ça doit me compter un point.

Qu'il participe 2 ou 5 fois dans le même mois, ça reste un seul point.

Est-ce que ce sont les doublons/triplons/etc. qui t'intéressent, ou simplement le nombre de "points" / de participations uniques par mois ? auquel cas ceci suffit

=counta(query(unique(arrayformula({A$2:A,year(B$2:B),month(B$2:B),C$2:C})),"select Col1 where Col1 = '"&E2&"' and Col4 = 'Type 1' "))

S'il ne participe qu'une seule fois, pas de point
Il faut deux participations ou plus pour avoir un point, mais un membre ne peut pas avoir plus d'un point par mois.

en mettant aussi le type en variable tant qu'on y est

image
=countif(mmult(arrayformula(if(query(unique({A$2:A,year(B$2:B)&"~"&month(B$2:B),C$2:C}),"select Col2 where Col1 = '"&E2&"' and Col3 = '"&F2&"' ")=transpose(query({A$2:A,year(B$2:B)&"~"&month(B$2:B),C$2:C},"select Col2 where Col1 = '"&E2&"' and Col3 = '"&F2&"' ")),1,0)),
sequence(counta(query((arrayformula({A$2:A,year(B$2:B)&"~"&month(B$2:B),C$2:C})),"select Col2 where Col1 = '"&E2&"' and Col3 = '"&F2&"' ")),1,1,0)),">1")
Bonjour Steelson,

Ça marche !

Je vais sans doute avoir besoin d'ajouter une autre condition, (similaire à la "type 1") mais je vais déjà chercher par moi-même !

Merci infiniment pour ton aide,

Cela mérite quand même une explication !

en colonne ici (J2)

=query(unique(arrayformula({A$2:A,year(B$2:B)&"~"&month(B$2:B),C$2:C})),"select Col2 where Col1 = '"&E2&"' and Col3 = '"&F2&"' ")

et en ligne (K1)

=transpose(query((arrayformula({A$2:A,year(B$2:B)&"~"&month(B$2:B),C$2:C})),"select Col2 where Col1 = '"&E2&"' and Col3 = '"&F2&"' "))

que je compare avec des 1 et des 0 dans cette matrice si égalité, donc en K2

image

je compte ensuite le nombre de 1 par ligne avec une multiplication matricielle de cette matrice et une colonne de 6 fois 1

6 fois étant le nombre de colonnes de ma table de correspondance ci-dessus, donc =sequence(6,1,1,0) ou en R2 ici

=sequence(counta(query((arrayformula({A$2:A,year(B$2:B)&"~"&month(B$2:B),C$2:C})),"select Col2 where Col1 = '"&E2&"' and Col3 = '"&F2&"' ")),1,1,0)

ce qui donne

image

il suffit ensuite de compter le nombre de fois où le résultat par ligne est supérieur à 1

Rechercher des sujets similaires à "compter doubles conditions membre mois annee date"