=SOMMEPROD imbrique ne fonctionne pas

chich

XLDnaute Occasionnel
Bonjour la communauté

je n'arrive pas a imbrique sommeprod
Merci d'avance


=SI(suivant+MIN(1;SOMMEPROD(--(DECALER(Feuil1!F$6;4+suivant;1-JOURSEM(Feuil1!F$6;2);1;7);Feuil1!F32:F41={"a"."b"."c"}))=6;1;suivant+MIN(1;SOMMEPROD(--I(DECALER(Feuil1!F$6;4+suivant;1-JOURSEM(Feuil1!F$6;2);1;7);Feuil1!F32:F41={"a"."b"."c"})))))

Cordialement
 

Pièces jointes

  • DEMO.xlsx
    16.3 KB · Affichages: 40

chich

XLDnaute Occasionnel
Bonjour

Il faut utiliser Excel avec logique, et non essayer un truc à droite, un truc à gauche un peu au hasard.

Dans ta formule, dans I7, tu as écris au début
=SI(JOURSEM(I6)<>2;H7;
SI((SOMMEPROD(DECALER(I10;PLAFOND(MOD(H7+1;5,1);1);;;7))={"a"."b"."c"}).
La parenthèse en rouge est mal placée
DECALER(....) te renvoie une plage allant de la colonne I à la colonne O sur une ligne dépendant de la valeur dans H7.
Dans ton exemple, avec H7 = 5, SOMMEPROD(DECALER(I10;PLAFOND(MOD(H7+1;5,1);1);;;7)) donne SOMMEPROD({"a"."b"."b"."c"."c"."".""}), qui donne 0.

Donc tu as 0 = {"a"."b"."c"}, ce qui te donne {FAUX;FAUX;FAUX}.

Si tu déplaces la parenthèse en rouge à la fin, cela donne
SI((SOMMEPROD(DECALER(I10;PLAFOND(MOD(H7+1;5,1);1);;;7)={"a"."b"."c"})). Tu obtiens
SOMMEPROD({"a"."b"."b"."c"."c"."".""} ={"a"."b"."c"}), ce qui donne {VRAI;VRAI;FAUX;#NA;#NA;#NA;#NA}). Normal, {"a"."b"."b"."c"."c"."".""} comporte 7 termes, et {"a"."b"."c"} seulement 3. Excel peut comparer le 1er terme de la matrice de gauche avec le 1er terme de la matrice de droite. Idem pour les seconds et les 3èmes. Mais cela ne peut plus fonctionner à partir du 4ème terme de la matrice de gauche. A partir de là, tu auras forcément un #NA comme résultat final

Si tu veux absolument compter uniquement les "a", les "b" et les "c", on peut faire avec le SOMMEPROD que j'ai mis dans mon dernier post, ce qui te donne une formule faisant 3 km de long !!! Quel intérêt ? As-tu autre chose à écrire dans ton tableau que des a, des b et des c ?

1) Cf. en pièce jointe ce que cela donne.
2) Choisis une formule de la ligne 7. Cliques sur l'onglet Formules, puis sur Evaluation de formule.
Tu obtiendras la fenêtre Evaluation de formule ci-dessous. Clique sur Evaluer et regarde les résultats intermédiaires pour comprendre le fonctionnement de la formule.
Regarde la pièce jointe 998620

@ plus
Bonjour un grand merci ta piece jointe est exactement ce que veux super merci pour ton aide jusqu’à
l’aboutissement.
a tu un lien vers un tuto pour que j'apprenne a vérifier mes formules a l'avenir
 

CISCO

XLDnaute Barbatruc
Bonjour

Pour ce qui est du tuto, il faut piocher à droite, à gauche, sur le net. J'ai presque tout appris, pour ce qui est de l'utilisation des formules sur Excel, sur le forum.

Pour ce qui est de voir les calculs intermédiaires, Formules, puis Evaluation de formule. Autre solution, surligner la partie qui t'intéresse dans la barre des formules, sans oublier les parenthèses nécessaires lorsqu'il y en a, puis F9. Esc pour revenir à l'état précédent.
upload_2017-10-15_18-21-3.png

@ plus
 

Discussions similaires

Réponses
12
Affichages
252
Réponses
16
Affichages
1 K

Statistiques des forums

Discussions
312 248
Messages
2 086 595
Membres
103 250
dernier inscrit
keks974