Comment calculer un Max entre 2 horaires sur plusieurs jours

Bonjour,

Je souhaiterais savoir comment calculer un max d'une colonne, entre 2 horaires sur plusieurs jours.

D'après l'exemple ci dessous, la colonne A affiche les dates et heures (sur plusieurs jours, 1 ligne par heure).

La colonne B contient les valeurs par heure.

En colonne C je cherche à calculer le max entre 6h d'une journée et 5h le lendemain et répéter ce calcul sur les jours d'après (22000 lignes)

Attention il n'y a des jours et des heures manquantes de manière aléatoire, je ne peux donc pas écrire un MAX(A2:A48) et étirer la formule.

Auriez vous des pistes ?

Date TimeValeurMax à calculer
2/1/19 6:001286,4max entre 2/1/19 6:00 et 3/1/19 5:00
2/1/19 7:001287,27
2/1/19 8:001286,38
2/1/19 9:001288,54
2/1/19 10:001288,65
2/1/19 11:001287,78
2/1/19 12:001287,55
2/1/19 13:001286,35
2/1/19 14:001287,25
2/1/19 15:001285,02
2/1/19 16:001286,95
2/1/19 17:001287,6
2/1/19 18:001286,43
2/1/19 19:001284
2/1/19 20:001281,47
2/1/19 21:001283,18
2/1/19 22:001284,82
2/1/19 23:001284,35
3/1/19 0:001290,19
3/1/19 1:001287,31
3/1/19 2:001288,48
3/1/19 3:001289,56
3/1/19 4:001288,78
3/1/19 5:001288,71
3/1/19 6:001290,17max entre 3/1/19 6:00 et 4/1/19 5:00
3/1/19 7:001292,18
3/1/19 9:001290,6
3/1/19 10:001289,63
3/1/19 11:001288,75
3/1/19 12:001288,19
3/1/19 13:001289,15
3/1/19 14:001290
3/1/19 15:001289,11
3/1/19 16:001291,23
3/1/19 17:001290,84
3/1/19 18:001290,8
3/1/19 19:001292,94
3/1/19 20:001293,38
3/1/19 21:001294,81
3/1/19 22:001294,81
3/1/19 23:001294,03
4/1/19 0:001295,14
4/1/19 1:001296,95
4/1/19 2:001298,42
4/1/19 3:001298
4/1/19 4:001296,81
4/1/19 5:001295,56
4/1/19 6:001296,21max entre 4/1/19 6:00 et 7/1/19 5:00
4/1/19 7:001295,7
4/1/19 8:001295,02
4/1/19 10:001292,48
4/1/19 11:001291,02
4/1/19 12:001292,01
4/1/19 13:001291,62
4/1/19 14:001291,63
4/1/19 15:001287,67
4/1/19 16:001284,57
4/1/19 17:001285,76
4/1/19 18:001286,12
4/1/19 19:001285,06
4/1/19 20:001284,43
4/1/19 21:001285,74
4/1/19 22:001285,19
6/1/19 23:001286,87
7/1/19 0:001285,95
7/1/19 1:001284,88
7/1/19 2:001289,68
7/1/19 3:001289,37
7/1/19 4:001289,54
7/1/19 5:001289,45

Bonjour le forum, Chriswhite,

A tester dans le fichier joint.

30chriswhite.xlsx (11.06 Ko)

Cordialement.

Bonjour à tous !

Et....

Une approche via Power Query :

Remarque : Il serait judicieux de préciser, dans votre profil, la nature de votre Excel (2003 ? 2007 ?.......365 ? 2021 ?)

Vous êtes des boss ! les 2 approches marchent parfaitement ! un grand merci à vous !

Bonsoir à tous !

Je vous remercie pour ce retour et...l'enthousiasme manifesté !

Ne pas omettre de passer le sujet en mode résolu.

Bonsoir mdo100,

Tout d'abord encore merci pour votre aide. La formule que vous avez proposée marche très bien.

Néanmoins auriez vous une solution pour qu'elle prenne que des plages complètes de 6:00 au prochain 6:00 trouvé (même s'il ne s'agit pas du lendemain car le 6:00 du lendemain peut être manquant).

Si on reprend notre exemple (ci dessous) :

La formule utilisée pour calculer le max était : =SI(MOD(A2;1)=6/24;AGREGAT(14;6;$B$2:$B$24/(($A$2:$A$24>=A2)*($A$2:$A$24<=A2+23/24));1);"")

On constate qu'elle prend effectivement bien le max jusqu'au lendemain mais, ci dessous, le lendemain n'a pas de 6:00 donc il faut continuer jusqu'au prochain 6:00 trouvé et remonter le max entre toutes les valeurs dans cette plage ( entre 04/01/2019 06:00 et le prochain 6h00 trouvé non inclus)

L' exemple ci dessous devrait renvoyer 1300 au lieu de 1296,21

Date TimeValeurMax à calculer
04/01/2019 06:001296,211296,21
04/01/2019 07:001295,7
04/01/2019 08:001295,02
04/01/2019 10:001292,48
04/01/2019 11:001291,02
04/01/2019 12:001292,01
04/01/2019 13:001291,62
04/01/2019 14:001291,63
04/01/2019 15:001287,67
04/01/2019 16:001284,57
04/01/2019 17:001285,76
04/01/2019 18:001286,12
04/01/2019 19:001285,06
04/01/2019 20:001284,43
04/01/2019 21:001285,74
04/01/2019 22:001285,19
06/01/2019 23:001286,87
07/01/2019 00:001285,95
07/01/2019 01:001284,88
07/01/2019 02:001289,68
07/01/2019 03:001289,37
07/01/2019 04:001300
07/01/2019 05:001289,45
07/01/2019 06:001400

Encore un grand merci !

Bonjour à tous !

Une mise à jour tenant compte de la nouvelle contrainte :

Merci JFL, c'est exactement ça, mais j'avoue ne pas réussir à exploiter la solution Power Query dans mon outil existant qui est déjà plein de formules.

Y aurait il une formule Excel qui pourrait donner le même résultat ?

Bonjour à tous

... j'avoue ne pas réussir à exploiter la solution Power Query dans mon outil existant

dont on ne connait toujours pas la version...

Bonjour à tous de nouveau !

.... mais j'avoue ne pas réussir à exploiter la solution Power Query dans mon outil existant qui est déjà plein de formules.

Pourquoi donc vous obstinez-vous à ne pas joindre un classeur (pas un tableau copier/coller) représentatif de votre environnement de travail ?

Bonjour le forum,

@Chriswhite, une nouvelle proposition en formule.

7chriswhite-v2.xlsx (11.93 Ko)

Cordialement.

7fichier-test.xlsx (11.10 Ko)

Bonjour merci pour votre retour ma version d'Excel est 365

J'ai mis en PJ avec un fichier détaillant l'exemple. je ne peux pas mettre mon fichier d'origine trop volumineux.

Encore merci pour votre aide précieuse

Bonjour Mdo100, c'est parfait c'est exactement ca ! un grand merci ! c'est top !

Bonjour à tous de nouveau !

Autre approche avec la fonction FILTRE :

EDIT : La nature de votre Excel est à préciser dans votre profil !

Bonjour à tous de nouveau !

Et pour le plaisir, un tableau synthétique via une formule unique et dynamique avec Excel 365 (Insider ?) :

=LET(
t_Tcons;t_Cons2;

m_DT;CHOISIRCOLS(t_Tcons;1);
m_Va;CHOISIRCOLS(t_Tcons;2);

m_Date;ENT(FILTRE(m_DT;HEURE(m_DT)=6));

m_VM;MAP(m_DT;m_Va;LAMBDA(DT;VA;SIERREUR(SI(HEURE(DT)=6;MAX(FILTRE(m_Va;(m_DT>=DT)*(m_DT<MIN(FILTRE(m_DT;(HEURE(m_DT)=6)*(ENT(m_DT)>ENT(DT)))))));"");VA)));
m_VMF;FILTRE(m_VM;m_VM<>"");

ASSEMB.V({"Date"\"Val max"};ASSEMB.H(m_Date;m_VMF))
)

Note : La formule opère à partir du tableau structuré nommé "t_Cons2".

"Pour le plaisir" , j'adore !

j'ai appris pleins de choses avec vos différentes approches qui fonctionnent parfaitement.

Je suis admiratif ! merci à vous pour votre réactivité et pour ce généreux partage!

@Chriswhite,

Merci pour les retours.

Bon week-end.

Bonjour à tous de nouveau !

Parfait !

Et....merci pour ce retour.

Rechercher des sujets similaires à "comment calculer max entre horaires jours"