Associer un somme.si.ens avec index equiv


#1

Bonjour,

ci joint mon fichier. je souhaite pourvoir trouver Le mensuel d’octobre et le cumul mensuel de Octobre à Dec.
En tenant compte de 2 critères supplémentaires : un numéro groupe et un analytique.
J’ai ecrit qu’il s’agissait d’associer un Somme.si.ens et un endex Equiv mais je ne suis pas sure et ne sais comment faire.
Merci par avance.

Merci par avance
Test.xlsx (9,8 Ko)


#2

Bonjour @mamz,

Une proposition avec la fonction SOMMEPROD qui a ma préférence:

CUMUL de Octobre à Novembre

En"C12"

=SOMMEPROD(($A$2:$A$6=D12)*($B$2:$B$6=B12)*$E$2:$F$6)

CUMUL de Octobre à Décembre

En “G12”

=SOMMEPROD(($A$2:$A$6=H12)*($B$2:$B$6=F12)*$E$2:$G$6)

Pour le mois d’Octobre

En “K12”

=SOMMEPROD(($A$2:$A$6=L12)*($B$2:$B$6=J12)*$E$2:$E$6)

Fichier ICI==> mamz V1.xlsx (13,2 Ko)

Cordialement.


#3

Bonjour mdo100 et merci.

Effectivement Sommeprod est OK.
Mais comme je suis “pénible” j’aimerais automatiser le calcul selon que je choisi tel ou tel mois. Imaginons que j’ai une liste déroulante qui me permets de sélectionner le mois.
Ainsi lorsque je sélectionne le mois de Décembre par exemple, j’ai le cumul qui se calcule de Octobre à Décembre compris et le mensuel calcul uniquement Décembre.

Est ce que ma formule pourrait aller et comment la compléter pour qu’elle tienne compte de ma liste déroulante ?mamz V1.xlsx (11,6 Ko)
.


#4

Bonjour @mamz,

Non tu n’est pas pénible, mais tu aurais pu donner des nouvelles avant 3 jours, non ! :thinking:

Peut-être le feras-tu après ma réponse :question:

Bon ceci dit !

J’ai ajouté les mois de “JANVIER à SEPTEMBRE” dans la ligne “E1 à M1”, le reste à la suite, car je ne vois pas à quoi servirait la liste déroulante concernant tous les mois de l’année, si ce n’ait pour les calculer.

En “C10” la liste déroulante.
En “F10” miroir de “C10”.

Les formules ne se mettant pas à jour automatiquement quant on change de mois dans “C10”, j’ai fais une toute petite macro insérée dans la “Feuil1”, sinon il fallait appuyer sur la touche F9 pour la mise à jour manuellement.

Macro:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    Calculate
    
End Sub 

Formule en "C12"

=SIERREUR(SOMMEPROD(($A$2:$A$6=D12)*($B$2:$B$6=B12)*SOMME(DECALER($E2;0;0;1;EQUIV($C$10;$E$1:$P$1;0))));"Pas de données")

Tirer vers le bas autant que nécessaire.

Formule en "C19"

=SIERREUR(SOMMEPROD(($A$2:$A$6=D19)*($B$2:$B$6=B19)*SOMME(DECALER($E2;0;0;1;EQUIV($C$10;$E$1:$P$1;0))));"Pas de données")

Tirer vers le bas autant que nécessaire.

Formule en "G12"

=SIERREUR(INDEX($E$2:$P$6;EQUIV($F12&$H12;$B$2:$B$6&$A$2:$A$6;0);EQUIV($C$10;$E$1:$P$1;0));0)

Formule matricielle a valider avec les touches ctrl + maj + entrée et tirer vers la bas autant que nécessaire.

Formule en "G19"

=SIERREUR(INDEX($E$2:$P$6;EQUIV($F19&$H19;$B$2:$B$6&$A$2:$A$6;0);EQUIV($C$10;$E$1:$P$1;0));0)

Formule matricielle a valider avec les touches ctrl + maj + entrée et tirer vers la bas autant que nécessaire.

Ci-joint ton fichier en retour ICI==> mamz V2.xlsm (19,2 Ko)

Cordialement.


#5

Re @mamz,

Oupss !:roll_eyes: pas besoin de la macro !

Fichier sans macro ICI==> mamz V3.xlsx (14,2 Ko)

Cdlt.


#6

Mdo100,

Je confirme, je suis pénible comme fille ! et je m’excuse de ne pas avoir répondu plutôt. c’était compliqué pour moi.
je viens de voir le fichier et c’est vraiment super. c’est comme je l’imaginais.
avec cette fonction décalée que je n’arrive jamais à utiliser comme il faut !
J’ignorais aussi qu’on pouvais faire SOMMEPROD * SOMME ensemble. Je vais essayer de l’utiliser cette combinaison

Merci beaucoup mdo100. tu es au top

Cordialement.


#7

Re @mamz,

Pas de problème :wink:

Si ton problème est résolu n’oublie pas de cliquer sur le petit :white_check_mark: sous la solution pour la valider.

Bonne fin de journée.
Cdlt.