Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Compter différemment les valeurs consécutives (critère: <61 ou >60)

  • Initiateur de la discussion Initiateur de la discussion Aloha
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Aloha

XLDnaute Accro
Bonjour,

Comment construire une formule qui compte les valeurs d'un groupe consécutif en entier jusqu'à 60 et à moitié au-dessus de 60?

Voir l'exemple joint qui est, je le pense, assez éloquent.

Merci pour toute aide.

Aloha
 

Pièces jointes

Dernière édition:
Re : Compter différemment les valeurs consécutives (critère: <61 ou >60)

Bonjour Aloha,

le probléme rencontré est le suivant:
les groupes sont-ils toujours de taille identique.......... ce qui m'étonnerait

au cas où ........... avec la formule suivante: =60+(SOMME(B3:B6)-60)/2

à+
Phiippe
.
 
Re : Compter différemment les valeurs consécutives (critère: <61 ou >60)

Aloha Aloha 🙂,
Désolé de te décevoir, mais ton exemple n'est pas du tout éloquent :
3 en janvier, c'est 1, 2 et 3 janvier ou 29, 30 et 31 janvier (voir 1, 15 et 31...) ?
Sans cette information capitale, aucun moyen de savoir si les jours sont consécutifs. De même, 28 en février, 2010 ou 2012 ? Si c'est 2012, il en manque 1 😛...
Tout cela pour dire qu'une formule éventuelle, ne tiendrait pas compte des bonnes données, et donc, indiquerait un résultat très aléatoire...
Retravaille la base de la saisie des informations, pour que celles-ci soient représentatives, et là, on pourra t'aider 😉.
Bonne soirée 😎
Ajout : Salut PhLaurent
 
Dernière édition:
Re : Compter différemment les valeurs consécutives (critère: <61 ou >60)

Bonjour,

Pas évident de bien comprendre.

Dans ton exemple, on a 2 "groupes" de valeurs.

Combien peut-il y en avoir maxi ?

Si on se limite à 2, on peut parvenir à isoler les 2 groupes "assez" facilement. Si plus, ça risque de devenir plus ardu.

A te (re)lire

@+
 
Re : Compter différemment les valeurs consécutives (critère: <61 ou >60)

Bonsoir,

Merci à vous pour vos réponses.

Désolé, je le pensais éloquent!

Quelques précisions:

Les dates n'importent pas (de toute façon il n'y a pas de dates dans les données); il faut juste considérer les nombres de jours du mois respectif (la seule donnée "donnée").
Le nombre de mois consécutifs peut varier, ainsi que le nombre de groupes.

L'année est toujours la même.

Espérant que le problème est plus compréhensible à présent...

A+

Aloha
 
Re : Compter différemment les valeurs consécutives (critère: <61 ou >60)

Bonjour, salut phlaurent55, JNP et Tibo,

Une fois n'est pas coutume, je crois avoir compris !

La formule en C15 était déjà suffisamment longue, et elle le sera encore plus s'il y a plus de deux groupes (facile à étendre), j'ai retenu l'option d'une colonne intermédiaire pour séparer les groupes.

Dis-nous si je n'ai pas été trop optimiste en disant avoir compris !
 

Pièces jointes

Re : Compter différemment les valeurs consécutives (critère: <61 ou >60)

Bonsoir "hoerwind",

Cela marche mais j'ai du mal à comprendre la formule; voilä pourquoi je ne comprends pas non plus comment l'étendre s'il y a un 3e groupe.

En réfléchissant bien, j'ai compris qu'un seul chiffre ne suffit en réalité pas (mes excuses): ce serait mieux que, à l'intérieur d'un groupe, les jours des mois situés au-dessus de la limite de 60 soit directement comptés correctement pour le mois respectif, d'après le critère, donc à moitié à partir du 61e jour.

A cette intention j'ai ajouté une colonne dans l'exemple


A+ Aloha
 

Pièces jointes

Re : Compter différemment les valeurs consécutives (critère: <61 ou >60)

Re,

La formule dit ceci :

Pour le 1er groupe (1 en colonne A) :
Additionner le minimum (MIN) de la somme du groupe (SOMME.SI) et de 60 à la moitié du maximum (MAX) du solde de ce groupe (SOMME.SI - 60) et de 0 (afin d'éviter les valeurs négatives).

Pour le 2ème groupe (2 en colonne A) :
Idem que pour le 1er groupe, mais avec un condition préliminaire qui vérifie si le nombre 2 existe en colonne A.

pour le 3ème groupe (3 en colonne A) :
Idem que pour le 2ème groupe, mais en modifiant les 2 par des 3 (trois fois)

La formule répond à ta demande et renvoie le bon résultat.
 
Re : Compter différemment les valeurs consécutives (critère: <61 ou >60)

Bonsoir à tous
Une proposition de fonction personnalisée :
Code:
[COLOR="DarkSlateGray"][B]Function ValSeuil(plg As Range, seuil As Double) As Double
Dim i As Long, s As Double
   Application.Volatile
   i = 1
   Do While i <= plg.Rows.Count
      s = 0
      Do While IsEmpty(plg.Cells(i, 1)) And i <= plg.Rows.Count
         i = i + 1
      Loop
      Do While Not IsEmpty(plg.Cells(i, 1)) And i <= plg.Rows.Count
         If IsNumeric(plg.Cells(i, 1)) Then
            s = s + plg.Cells(i, 1).Value
            i = i + 1
         Else
            i = i + 1
            Exit Do
         End If
      Loop
      ValSeuil = ValSeuil + WorksheetFunction.Min(s, seuil) - (s > seuil) * (s - seuil) / 2
   Loop
End Function[/B][/COLOR]
Le premier argument est une plage unicolonne de cellules, le deuxième argument est le seuil.

Dans l'exemple du classeur, on écrira en C15 :
Code:
[COLOR="DarkSlateGray"][B]=ValSeuil(C3:C14;60)[/B][/COLOR]
pour obtenir 107.5.​
ROGER2327
#2642
 
Re : Compter différemment les valeurs consécutives (critère: <61 ou >60)

Bonjour "Roger2327",

Merci beaucoup pour la peine que tu t'es donnée.

Cependant, je suis finalement à la recherche de formules pour les différentes cellules de la colonne D pour qu'elles produisent les résultats que j'y ai entrés manuellement.

Bonne après-midi

Aloha
 
Re : Compter différemment les valeurs consécutives (critère: <61 ou >60)

Re...
Je ne me suis pas donné beaucoup de peine, rassurez-vous.
J'ai fait cette proposition parce que je ne vois pas de formule relativement simple pour résoudre votre problème. Si vous en avez trouvé une, merci de satisfaire ma curiosité en la publiant.
Bon courage.
ROGER2327
#2650
 
Re : Compter différemment les valeurs consécutives (critère: <61 ou >60)

Bonsoir,

Voici une formule qui marche:
en D3 dans le fichier exemple:
=SI(OU(A3="";A3<>A2);C3;MIN(60;SOMME.SI(A$3:A3;A3;$C$3:C3))+MAX(0;(SOMME.SI($A$3:A3;A3;$C$3:C3 )-60)/2)-SOMME.SI($A$2:A2;A3;$D$2: D2))

Bonne soirée

Aloha
 
Dernière édition:
Re : Compter différemment les valeurs consécutives (critère: <61 ou >60)

Re...
Merci.
En fait, je n'avais pas compris le problème : j'ai cru qu'il fallait trouver une formule pour calculer le résultat en C15 (c'est-à-dire trouver directement 107,5).​
ROGER2327
#2655
 
Re : Compter différemment les valeurs consécutives (critère: <61 ou >60)

Bonjour,

Mon petit problème s'est compliqué.

Admettons qu'une personne est absente du 1. au 7.1., du 13. au 16.1., puis du 20.1. au 30.3.

Avec la solution que j'ai jusqu'ici toutes les absences en janvier sont additionnées pour atteindre les 60 jours (puisque je n'ai qu'un seul chiffre pour janvier), alors que seules la dernière absence compte, le critère étant 60 jours de suite.
Quelqu'un a-t-il une petite idée pour résoudre ce problème?

J'ai joint un exemple et là le problème se résume à:

comment additionner les différents groupes d'absences séparément, mois par mois?

Merci pour toute aide

Aloha
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
306
Affichages
34 K
E
Réponses
5
Affichages
2 K
Excel80
E
C
Réponses
3
Affichages
2 K
claivier_58
C
C
Réponses
1
Affichages
2 K
claivier_58
C
N
Réponses
43
Affichages
6 K
N
A
Réponses
5
Affichages
2 K
A
F
Réponses
2
Affichages
18 K
Kimadi
K
P
Réponses
2
Affichages
7 K
P
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…