OVH Cloud OVH Cloud

Formule semi matricielle

7 réponses
Avatar
Daniel
Bonsoir.
Au hasard de mes lectures, je suis tombé sur une formule magique qui permet
de compter les jours entre deux dates, à l'exception du jeudi et du
vendredi. J'aimerais que quelqu'un puisse me l'expliquer :
=B1-A1-SOMME(ENT((B1-{5;6})/7)-ENT((A1-{5;6}-1)/7))+1
ou A1 est la date de début et B1 la date de fin
et particulièrement la partie : B1-{5;6}
Merci d'avance.
Daniel

7 réponses

Avatar
AV
| de compter les jours entre deux dates, à l'exception du jeudi et du
| vendredi. J'aimerais que quelqu'un puisse me l'expliquer :
| ±-A1-SOMME(ENT((B1-{5;6})/7)-ENT((A1-{5;6}-1)/7))+1

Daniel Maher qui, si je ne m'abuse, en est l'auteur, ne devrait pas tarder à
"sortir du bois"....

Autre matricielle moins absconse :
=NB(LIGNE(INDIRECT(A1&":"&B1)))-SOMME((JOURSEM(LIGNE(INDIRECT(A1&":"&B1)))=5)*1+(JOURSEM(LIGNE(INDIRECT(A1&":"&B1)))=6)*1)

AV
Avatar
Daniel
Bonjour.
Plus clair, mais plus long. Sauf erreur, on peut écrire :
"AV" a écrit dans le message de news:

| de compter les jours entre deux dates, à l'exception du jeudi et du
| vendredi. J'aimerais que quelqu'un puisse me l'expliquer :
| ±-A1-SOMME(ENT((B1-{5;6})/7)-ENT((A1-{5;6}-1)/7))+1

Daniel Maher qui, si je ne m'abuse, en est l'auteur, ne devrait pas tarder
à
"sortir du bois"....

Autre matricielle moins absconse :
=NB(LIGNE(INDIRECT(A1&":"&B1)))-SOMME((JOURSEM(LIGNE(INDIRECT(A1&":"&B1)))=5)*1+(JOURSEM(LIGNE(INDIRECT(A1&":"&B1)))=6)*1)

AV




Avatar
Daniel
Bonjour et merci.
Plus claire, en effet. Et encore, on doit pouvoir éccrire :
±-A1+1-SOMME((JOURSEM(LIGNE(INDIRECT(A1&":"&B1)))=5)*1+(JOURSEM(LIGNE(INDIRECT(A1&":"&B1)))=6)*1)
Daniel
"AV" a écrit dans le message de news:

| de compter les jours entre deux dates, à l'exception du jeudi et du
| vendredi. J'aimerais que quelqu'un puisse me l'expliquer :
| ±-A1-SOMME(ENT((B1-{5;6})/7)-ENT((A1-{5;6}-1)/7))+1

Daniel Maher qui, si je ne m'abuse, en est l'auteur, ne devrait pas tarder
à
"sortir du bois"....

Autre matricielle moins absconse :
=NB(LIGNE(INDIRECT(A1&":"&B1)))-SOMME((JOURSEM(LIGNE(INDIRECT(A1&":"&B1)))=5)*1+(JOURSEM(LIGNE(INDIRECT(A1&":"&B1)))=6)*1)

AV




Avatar
AV
Ben tant qu'on y est :

=SOMME((JOURSEM(LIGNE(INDIRECT(A1&":"&B1)))<>6)*(JOURSEM(LIGNE(INDIRECT(A1&":"&B1)))<>5))

AV
Avatar
Daniel
Trop fort !
:o)))
Daniel
"AV" a écrit dans le message de news:
%
Ben tant qu'on y est :

=SOMME((JOURSEM(LIGNE(INDIRECT(A1&":"&B1)))<>6)*(JOURSEM(LIGNE(INDIRECT(A1&":"&B1)))<>5))

AV




Avatar
Daniel.M
Bonsoir Daniel,

1.
La formule suivante te donne le nombre de JDS (Lun =1, Mar =2, ..., Dim 7)entre A1 et B1 (inclus) :
=ENT((B1-JOURSEM(B1-JDS)-A1+8)/7)
Ici, l'expression JOURSEM(B1-JDS)+1 te trouve le JDS précédent (le Mardi
précédent si c'est -2).
On rajoute 7 (ce qui fait +8), puis on conserve le résultat entier de la
division par 7 et on trouve le nombre de JDS.

2.
Les expressions {5;6} sont des constantes MATRICIELLES.
Ainsi =SOMME(45-{3;4}) te donne =SOMME({42;41}) qui te donne = 83

Donc, si tu combines les deux idées précédentes, la formule plus efficace et
plus courte est la suivante ;-)

'Faire la somme des {Lun;Mar;Mer;Sam;Dim} entre 2 dates.
=SOMME(ENT((B1-JOURSEM(B1-{1;2;3;6;7})-A1+8)/7))

Je sais pas si c'est plus clair mais c'est assurément 'optimisé' ;-)

Salutations,

Daniel M.

"Daniel" wrote in message
news:OgEM9X%
Bonsoir.
Au hasard de mes lectures, je suis tombé sur une formule magique qui permet
de compter les jours entre deux dates, à l'exception du jeudi et du
vendredi. J'aimerais que quelqu'un puisse me l'expliquer :
±-A1-SOMME(ENT((B1-{5;6})/7)-ENT((A1-{5;6}-1)/7))+1
ou A1 est la date de début et B1 la date de fin
et particulièrement la partie : B1-{5;6}
Merci d'avance.
Daniel




Avatar
Daniel
Bonjour.
Merci pour tes explications. Je vais prendre un peu de temps pour essayer de
comprendre...
Cordialement.
Daniel
"Daniel.M" a écrit dans le message de
news:
Bonsoir Daniel,

1.
La formule suivante te donne le nombre de JDS (Lun =1, Mar =2, ..., Dim > 7)entre A1 et B1 (inclus) :
=ENT((B1-JOURSEM(B1-JDS)-A1+8)/7)
Ici, l'expression JOURSEM(B1-JDS)+1 te trouve le JDS précédent (le Mardi
précédent si c'est -2).
On rajoute 7 (ce qui fait +8), puis on conserve le résultat entier de la
division par 7 et on trouve le nombre de JDS.

2.
Les expressions {5;6} sont des constantes MATRICIELLES.
Ainsi =SOMME(45-{3;4}) te donne =SOMME({42;41}) qui te donne = 83

Donc, si tu combines les deux idées précédentes, la formule plus efficace
et
plus courte est la suivante ;-)

'Faire la somme des {Lun;Mar;Mer;Sam;Dim} entre 2 dates.
=SOMME(ENT((B1-JOURSEM(B1-{1;2;3;6;7})-A1+8)/7))

Je sais pas si c'est plus clair mais c'est assurément 'optimisé' ;-)

Salutations,

Daniel M.

"Daniel" wrote in message
news:OgEM9X%
Bonsoir.
Au hasard de mes lectures, je suis tombé sur une formule magique qui
permet
de compter les jours entre deux dates, à l'exception du jeudi et du
vendredi. J'aimerais que quelqu'un puisse me l'expliquer :
±-A1-SOMME(ENT((B1-{5;6})/7)-ENT((A1-{5;6}-1)/7))+1
ou A1 est la date de début et B1 la date de fin
et particulièrement la partie : B1-{5;6}
Merci d'avance.
Daniel