Re:somme(decaler(si( )) résolu
Salut Jean Marie,
Salut Jean Yves,
bonjour le forum,
Je répugne à utiliser INDEX qui ne renvoie qu'une valeur. (Imaginons l'apparition d'autres 'A')
Dussé-je paraître sotterment obstiné,
je maintiens que l'évaluation de
DECALER(L1C1;SI(L2C5:L4C5='A';LIGNE(L2C5:L4C5);1)-1;SI(L1C6:L1C8='A';COLONNE(L1C6:L1C8);1)-1)
fournit bien une matrice de 3 lignes par 3 colonnes; de la forme
{'ia'.'g'.'ia';'iV'.20.'iV';'V'.30.'V'}
que SOMME ne sait additionner qu'une fois évaluée.
Sur l'aimable proposition de Dugenou, lui conférer de la profondeur sur les deux dimensions, DECALER( gnagna ;1;1) ou 2;2 etc
ne change pas la forme de son résultat lequel n'est toujours pas interprété par SOMME.
Euh ... En fait, je dois passer par N( expression).
Je l'avais oublié ... somme( N( decaler ( machin ) ) ) fonctionne.
Ainsi SOMME((E3:E5='A')*(F2:H2='A')*F3:H5) suggéré par Jean Marie
donne SOMME({VRAI;VRAI;FAUX}*{FAUX.VRAI.FAUX}*{1.10.100;2.20.200;3.30.300})
puis #VALEUR.
Il me faut encadrer le test de N( test ) pour obtenir
SOMME({1;1;0}*{0.1.0}*{1.10.100;2.20.200;3.30.300}) puis 30.
Je l'avais déjà rencontré cette nécessité avec SOMMEPROD
où certains m'ont assuré négliger le N(...),alors que chez moi ça coince.
Nota j'ai pris la liberté de remplacer somme par sommeprod.
Merci à vous deux de votre gracieuse sollicitude.
Aram