Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

probleme de moyenne conditionnelle

22 réponses
Avatar
jieme
Bonjour à tous,

Voici mon problème: je souhaiterais établir une moyenne conditionnelle sous
Excel 2003 (je n'ai pas "moyenne.si" qui est sous 2007)
J'ai un tableau à 2 colonnes avec dans la première, la date et heure et dans
la seconde, les valeurs a traiter.
je fais un test sur l'heure mais la moyenne renvoyée semble prendre en
compte les valeurs nulles retournée par ce test.
Aprés de multiples essais, je me resoud à demander votre aide..
voici ma formule
{=MOYENNE(SI((HEURE(L1065C(-1):L1088C(-1))>7)+(HEURE(L1065C(-1):L1088C(-1)<22));L1065C:L1088C;0);L1065C:L1088C)}

Merci d'avance,
JM

10 réponses

1 2 3
Avatar
MichD
Bonjour,

Essaie avec cette syntaxe :

C'est un exemple : je me refuse à travailler en L1C1

Formule : Validation matricielle : Maj + Ctrl + Enter
=MOYENNE(SI((HEURE(A1:A10)>7)+(HEURE(A1:A10)<22)=2;B1:B10))



MichD
--------------------------------------------------------------
Avatar
jieme
Bonsoir,
Merci, la formule fonctionne mais quelle est la raison du "=2" apres les si
?
encore merci
JM


"MichD" a écrit dans le message de news:
k8e2n1$o5s$
Bonjour,

Essaie avec cette syntaxe :

C'est un exemple : je me refuse à travailler en L1C1

Formule : Validation matricielle : Maj + Ctrl + Enter
=MOYENNE(SI((HEURE(A1:A10)>7)+(HEURE(A1:A10)<22)=2;B1:B10))



MichD
--------------------------------------------------------------

Avatar
MichD
Il y a 2 conditions :

(HEURE(A1:A10)>7 + HEURE(A1:A10)<22
Si Vrai : 1 + 1
Pour effectuer la moyenne, chacune des conditions doit être égale à 1 (vrai)
et la somme des 2 conditions = 2


MichD
---------------------------------------------------------------
Avatar
h2so4
on 19/11/2012, MichD supposed :
Bonjour,

Essaie avec cette syntaxe :

C'est un exemple : je me refuse à travailler en L1C1

Formule : Validation matricielle : Maj + Ctrl + Enter




MichD
--------------------------------------------------------------



=MOYENNE(SI((HEURE(A1:A10)>7)*(HEURE(A1:A10)<22)=2;B1:B10))

--
h2so4
ca PAN
pique DORA
.
Avatar
MichD
Tu peux aussi utiliser ceci : =1 et non 2

=MOYENNE(SI((HEURE(A1:A10)>7)*(HEURE(A1:A10)<22)=1;B1:B10))
--
h2so4
ca PAN
pique DORA



MichD
---------------------------------------------------------------
Avatar
jieme
Bonjour MichD,

Le but est de traiter les valeurs "de jour" entre 7 et 22h. Il me semble
qu'avec l'operateur * donc, OU, je ne pourrai pas exclure par exemple 4h
(donc nocturne) qui donnera 0 OU 1=1 donc OK. l'operateur + (ET) me semble
donc necessaire. est-ce que je me trompe ?

Merci et bonne journée
JM






"MichD" a écrit dans le message de news:
k8eq2k$u4m$
Tu peux aussi utiliser ceci : =1 et non 2

=MOYENNE(SI((HEURE(A1:A10)>7)*(HEURE(A1:A10)<22)=1;B1:B10))
--
h2so4
ca PAN
pique DORA



MichD
---------------------------------------------------------------
Avatar
MichD
Je ne comprends pas vraiment ton commentaire puisque dans
les 2 formules proposées, il n'y a pas de paramètre "ET" ou "OU".


MichD
---------------------------------------------------------------
Avatar
h2so4
MichD submitted this idea :
Je ne comprends pas vraiment ton commentaire puisque dans
les 2 formules proposées, il n'y a pas de paramètre "ET" ou "OU".


MichD
---------------------------------------------------------------



le * est l'équivalent du ET et le + l'équivalent du ou

pour bonne compréhension : FAUX = 0 VRAI <>0 (1 dans cet exemple)
ET
1*1 =1 1*0=0 0*1=0 0*0=0 (Seules 2 conditions vraies donnent "vrai")

OU
1+1=2 1+0=1 0+1=1 0+0=0 (au moins une des 2 conditions vraie donne
"vrai")

--
h2so4
ca PAN
pique DORA
.
Avatar
jieme
Bonsoir,
Effectivement j'ai fait une erreur dans ma reponse precedente sur les
operateurs:
"*" c'est bien ET et "+" c'est OU..
JM

"h2so4" a écrit dans le message de news:
k8grsh$qgb$
MichD submitted this idea :
Je ne comprends pas vraiment ton commentaire puisque dans
les 2 formules proposées, il n'y a pas de paramètre "ET" ou "OU".


MichD
---------------------------------------------------------------



le * est l'équivalent du ET et le + l'équivalent du ou

pour bonne compréhension : FAUX = 0 VRAI <>0 (1 dans cet exemple)
ET
1*1 =1 1*0=0 0*1=0 0*0=0 (Seules 2 conditions vraies donnent "vrai")

OU
1+1=2 1+0=1 0+1=1 0+0=0 (au moins une des 2 conditions vraie donne "vrai")

--
h2so4
ca PAN
pique DORA
.


Avatar
MichD
La seule ligne que j'ai lue et retenue

| le * est l'équivalent du ET et le + l'équivalent du ou

Cet énoncé est archifaux! Pour quelques explications, je te réfère à un
livre : "Formules et Fonctions Excel 2000" de John Walkenbach publié par
"M&T books, une marque de IDG Books Worlwide, ISBN: 2-84427-124-3
Page : 316.

Tu peux reproduire ce tableau dans une feuille de calcul d'Excel...

ColA ColB Col C Résultat affiché Col C
Ligne1 vrai vrai =Et(A1;B1) Vrai
Ligne2 vrai faux =Et(A2;B2) Faux
Ligne3 faux vrai =Et(A3;B3) Faux
Ligne4 faux faux =Et(A4;B4) Faux

Maintenant, en colonne D, la formule suivante que tu recopies
pour chacune des lignes de la plage de cellules.

Col D : Formule Col E : La formule matricielle suivante
matricielle (Ex: la formule du problème)
{=Et(A1:A4;B1:B4)} {¡:A4*B1:B4}

Résultat pour chacune des formules affiché:

ColD ColE
Faux 1
Faux 0
Faux 0
Faux 0

Et M. Walkenbach conclut : "En fait, les fonctions "ET" et "OU"
renvoient toujours une seule valeur, et non pas un tableau.
Même si ce tableau servant de paramètre à la fonction ET
contient uniquement des constantes, cette fonction renverra
quand même une seule valeur."
Il continue en disant : "Je n'ai jamais pu comprendre si ce comportement
est normal ou s'il s'agit d'un problème d'Excel, mais dans tous les cas, il
n'est pas cohérent avec le fonctionnement des autres fonctions."

{¡:A4*B1:B4} C'est le type de stratégie qu'il faut adopter pour effectuer
des opérations logiques avec des formules matricielles.

De conclure que les 2 approches sont équivalentes ne reflètent pas la
réalité!

MichD
---------------------------------------------------------------
1 2 3