OVH Cloud OVH Cloud

Matriciel avec JOURSEM

13 réponses
Avatar
j-pascal
Bonsoir,

Un tableau de 28 colonnes (4 semaines) avec des dates chronologiques :

lundi 1 / mardi 2 / mercr 3 / .... etc .... (sachant que la première
colonne ne contient pas forcément un "lundi")

Sur chaque ligne du tableau, je peux avoir 2 lettres "s" ou "r" ; leur
nombre, pour chaque ligne, est variable :

s / s / / / r / r / / / s / ... etc ...

Je cherche à compter le nombre de "r" et/ou de "s" pour chaque ligne si
ces deux lettres sont situées dans les colonnes week-end (samedi et
dimanche).

J'ai pensé à une formule matricielle contenant entre autre JOURSEM = 1
ou 7 ; ça ne fonctionne pas !

Merci d'avance pour votre aide,

JP

3 réponses

1 2
Avatar
j-pascal
PS : concernant ta première remarque : j'ai modifié les plages sinon ça
donne une réf. circulaire. Ca c'était pas compliqué pour le néophyte
que je suis.

@+

JP

Je cherche à compter le nombre de "r" et/ou de "s" pour chaque ligne si ces
deux lettres sont situées dans les colonnes week-end (samedi et dimanche).



******************

Les dates en A1:AB1
Le reste du tableau en A2:AB??

Pour la ligne 2 (recopier vers le bas pour la suite)
=SOMMEPROD((JOURSEM($A$1:$AB$1;2)>5)*((A2:AB2="s")+(A2:AB2="r")))

Etc


Avatar
j-pascal
Re,

Le "N" est-il vraiment indispensable dans le cas présent ?
Je l'ai enlevé et je ne vois pas la différence au niveau du résultat !

JP

Bonjour.
La fonction N convertit les valeurs booléennes VRAI et FAUX en 1 et 0
respectivement et les rend ainsi propres aux opérations arithmétiques.
En fonction matricielle :
=SOMME(N((JOURSEM(A1:AB1)=1)+N(JOURSEM(A1:AB1)=7))*(A2:AB2="r"))
Les fonctions pèsent sur les ressources et sur le temps de recalcul s'il y en
a un nombre important. Si on a le choix, mieux vaut les éviter. Maintenant,
je ne sais pas si "SOMMEPROD" qui travaille sur des matrices est moins
consommateur de ressources.
Daniel

Bonjour Daniel,

Merci bcp.

Question stupide : que signifie "N" ? (je n'ai jamais utilisé de formule
avec cette lettre seule !)

Question subsidiaire :
Qu'est-ce que ça aurait donné en "matricielle" (pour comparer avec ce que
j'avais fait ...)
Qu'est-ce qui peut déterminer le choix entre "matricielle" et "SOMMEPROD" ?
Est-ce que ça joue sur la mémoire utilisé par Excel ?

@+ ?

JP

Bonsoir.
Pour r et la ligne 2 :
=SOMMEPROD(N((JOURSEM(A1:AB1)=1)+N(JOURSEM(A1:AB1)=7))*(A2:AB2="r"))
Cordialement.
Daniel

Bonsoir,

Un tableau de 28 colonnes (4 semaines) avec des dates chronologiques :

lundi 1 / mardi 2 / mercr 3 / .... etc .... (sachant que la première
colonne ne contient pas forcément un "lundi")

Sur chaque ligne du tableau, je peux avoir 2 lettres "s" ou "r" ; leur
nombre, pour chaque ligne, est variable :

s / s / / / r / r / / / s / ... etc ...

Je cherche à compter le nombre de "r" et/ou de "s" pour chaque ligne si
ces deux lettres sont situées dans les colonnes week-end (samedi et
dimanche).

J'ai pensé à une formule matricielle contenant entre autre JOURSEM = 1 ou
7 ; ça ne fonctionne pas !

Merci d'avance pour votre aide,

JP








Avatar
Daniel.C
Bien vu. Dans ce cas, il ne sert pas.
Daniel

Re,

Le "N" est-il vraiment indispensable dans le cas présent ?
Je l'ai enlevé et je ne vois pas la différence au niveau du résultat !

JP

Bonjour.
La fonction N convertit les valeurs booléennes VRAI et FAUX en 1 et 0
respectivement et les rend ainsi propres aux opérations arithmétiques.
En fonction matricielle :
=SOMME(N((JOURSEM(A1:AB1)=1)+N(JOURSEM(A1:AB1)=7))*(A2:AB2="r"))
Les fonctions pèsent sur les ressources et sur le temps de recalcul s'il y
en a un nombre important. Si on a le choix, mieux vaut les éviter.
Maintenant, je ne sais pas si "SOMMEPROD" qui travaille sur des matrices
est moins consommateur de ressources.
Daniel

Bonjour Daniel,

Merci bcp.

Question stupide : que signifie "N" ? (je n'ai jamais utilisé de formule
avec cette lettre seule !)

Question subsidiaire :
Qu'est-ce que ça aurait donné en "matricielle" (pour comparer avec ce que
j'avais fait ...)
Qu'est-ce qui peut déterminer le choix entre "matricielle" et "SOMMEPROD"
? Est-ce que ça joue sur la mémoire utilisé par Excel ?

@+ ?

JP

Bonsoir.
Pour r et la ligne 2 :
=SOMMEPROD(N((JOURSEM(A1:AB1)=1)+N(JOURSEM(A1:AB1)=7))*(A2:AB2="r"))
Cordialement.
Daniel

Bonsoir,

Un tableau de 28 colonnes (4 semaines) avec des dates chronologiques :

lundi 1 / mardi 2 / mercr 3 / .... etc .... (sachant que la première
colonne ne contient pas forcément un "lundi")

Sur chaque ligne du tableau, je peux avoir 2 lettres "s" ou "r" ; leur
nombre, pour chaque ligne, est variable :

s / s / / / r / r / / / s / ... etc ...

Je cherche à compter le nombre de "r" et/ou de "s" pour chaque ligne si
ces deux lettres sont situées dans les colonnes week-end (samedi et
dimanche).

J'ai pensé à une formule matricielle contenant entre autre JOURSEM = 1
ou 7 ; ça ne fonctionne pas !

Merci d'avance pour votre aide,

JP










1 2