Maxi dans une plage horaire


#1

Bonjour à tous, bonjour Dr Excel !

Je dois être bien fatigué ou peu performant mais je coince littéralement sur une formule que j’essaie de mettre en place, et qui semble pourtant facile :slight_smile:

Je cherche les valeurs maxi de chaque heure comme dans l’exemple ci-dessous :

Date

Quelqu’un peut-il m’aider ?
Merci par avance


#2

Bonjour @Cyrdug,

Si nous considérons que les dates sont dans la colonne “A” et que les conditions sont en “B”.

Alors mettre en “C2” la date & heure recherché et en “D2” la formule ci-dessous.

Formule matricielle a valider avec ctrl + maj + entrée

=MAX(SI($A$2:$A$15=$C2;B2:B15;""))

Cordialement.


#3

Merci pour votre réponse mdo100. Malheureusement cette formule marche pour une série de valeurs sur une heure donnée, mais pas dans un tableau regroupant 13 jours x 24 heures x 12 données par heure, soit 3744 données pour lesquelles je souhaite garder la valeur maxi par heure, soit 312 données maxi au final.

Ou alors je me trompe dans la syntaxe…

Il y a, peut-être et je cherche actuellement, une autre solution sachant que j’ai systématiquement 12 valeurs par heure ? il doit suffire de prendre, dans mon exemple = max(B2:B10) puis =max(B11:B22) puis =max(B23:B34) etc. Mais je n’arrive pas à incrémenter la formule au pas de 12 lignes !

Merci pour vos retours


#4

Re @Cyrdug,

Je me doutais bien que c’était trop facile :wink:

Pourrais-tu nous fournir un petit bout de fichier, ce qui nous éviterait d’en reconstituer un.
Autre chose, peut-on séparer les dates et heures dans 2 colonnes ? Car j’avais commencé à travailler le sujet au cas ou la solution que j’avais proposé sur le vif, ne conviendrait pas.

Je pense que c’est une bonne piste, sur laquelle je pourrais t’aider.

@+


#5

Bien sûr ! Et merci pour les recherches !

En fait, j’ai trouvé une astuce pour le maxi entre 12 valeurs dans une heure, en faisant simplement un filtre sur un horaire bien précis (exemple xx:02) et cela a fonctionné…

Je me suis attaqué à plus dur car dans le fichier ci-joint, le nombre de valeurs enregistrées par heure est variable ! Un coup 75 valeurs dans une heure, un coup 160… Et là mes filtres ne fonctionnent plus bien sûr, ni la moindre formule. Le résultat doit être assez complexe, et bien entendu, vous pouvez insérer autant de colonnes et de séparations que nécessaires pour y arriver.
(le fichier contient déjà des filtres actifs que vous pouvez également supprimé…)Test Maxi Cond 1 heure.xlsx (1,1 Mo)

Encore merci et bon courage


#6

Re @Cyrdug,

Ok, je regarde ça.
C’est quoi la colonne “D” ?

@+


#7

Re @Cyrdug,

Voici ce que je te propose:

Colonne “F” date unique à chaque changement de celle-ci en colonne “A”.

=SI(ET(A5<>"";A5<>A4);A5;"")

En colonne “G” recherche de la valeur max pour la date concernée en colonne “F”.

Formule matricielle a valider avec ctrl + maj + entrée

=SI($F5<>"";MAX(SI($A$5:$A$29721=$F5;$C$5:$C$29721;""));"")

Enfin en colonne “H” recherche de l’heure.

=SIERREUR(INDEX($B$5:$B$29721;EQUIV($G5;$C$5:$C$29721;0));"")

Ton fichier en retour ICI==> Cyrdug V2.xlsx (2,2 Mo)

Cordialement.


#8

Re @Cyrdug,

Une autre proposition, pour éviter de parcourir tout le fichier.

En “F1” mettre une date de début.
En “G1” mettre une date de fin, qui peut être la même que la date de début.

En “F2” résultat de la recherche de la colonne “C”.

Formule matricielle a valider avec ctrl + maj + entrée

=MAX(SI(($A$5:$A$29721>=$F$1)*($A$5:$A$29721<=$G$1);$C$5:$C$29721))

En “G2” recherche de l’heure de la valeur de “F2”.

=SIERREUR(INDEX($B$5:$B$29721;EQUIV($F$2;$C$5:$C$29721;0));"")

Fichier ICI==> Cyrdug V3.xlsx (2,2 Mo)

Cordialement.


#9

Magnifique ! Merci mdo100 pour ces résultats et ces recherches !

Je préfère cependant le 1er fichier qui devrait, avec quelques retouches, et je l’espère, me permettre d’obtenir mon résultat ! Car tes formules donnent bien le maxi, et l’heure associée, pour 1 journée, mais il me faut les 24 maxi de la journée pour chaque heure, soit entre 10h00 et 11h00, puis entre 11h00 et 12h00 puis etc.
ce qui complexifie bien la donne une fois de plus.

J’espère que je me fais bien comprendre, ce n’est pas évident de le retranscrire par écrit comme ça.

En tout cas merci à nouveau pour tes recherches !


#10

Re @Cyrdug,

Je regarderai ce que je peux faire ce soir où demain dans la journée au vu de ses nouveaux éléments.

Toutefois, je pense qu’il serait dans ce cas préférable de mettre les résultats dans une autre feuille, qu’en penses-tu ?

Peux-tu me répondre sur ce point, avant que je m’engage dans ce travail.

@+


#11

Oui je suis d’accord et cela n’a guère d’importance pour le rendu final. J’essaierai aussi de mon coté grâce à tes formules.

Mais pas de prise de tête, c’est déjà beaucoup de temps passé dessus !

Bonne soirée


#12

Re re @Cyrdug,

Je viens de finir une nouvelle proposition V4.

Voir aussi dans le “Gestionnaire de noms”.

Dans la feuille “Résultats” Colonne “A” les dates sans doublons.

=SIERREUR(PETITE.VALEUR(SI(NB.SI(A$1:A1;Dates)=0;Dates);1);"")

Dans la ligne “B1 à Z1” les heures de 00:00 à 23:59.
Dans le tableau de “B2 à Z20” les recherches par heures en fonction du jour.

=SI(MAX(SI((Date=$A2)*(Heure>=B$1)*(Heure<=C$1);Valeurs))=0;"";MAX(SI((Date=$A2)*(Heure>=B$1)*(Heure<=C$1);Valeurs)))

J’ai laissé les formules dans la feuille “STEP COND”, mais si le tableau de la feuille “Résultats” te convient, je te conseils de les virer, car toutes ses formules matricielles sont gourmandes en ressources.

Fichier ICI==> Cyrdug V4.xlsx (2,2 Mo)

Merci de le constater, mais je le fais par plaisir. :wink:

Fait moi un retour si cela te convient.

Et n’oublie pas de marquer le sujet comme résolu en cochant le petit :white_check_mark: sous la solution.

Cordialement.


#13

Que dire… C’est MONSTRUEUX ! IMMENSE ! FORMIDABLE !

C’est un jeune étudiant qui m’a dit d’aller fouiner et essayer de trouver sur les forums spécialisés, lui qui me voyait en train de galérer avec mes 153 000 données de départ. Et voilà, grâce à cette immense solidarité des internautes et des spécialistes, véritable meltingpot de compétences, connaissances et gentillesse. C’est aussi pour ça qu’internet avait été mis au point au départ…

Un immense merci, immense, car oui, la solution et le résultat est là !

Donc je coche avec un plaisir non dissimulé le fameux

Et promets de revenir régulièrement essayer d’aider à mon petit niveau…

Excellente soirée mdo100 et encore un grand merci pour tout ce temps passé sur le sujet, qui finalement, et ça me rassure quelque peu, n’était pas si évident que cela apparemment !

Cyrdug


#14

Re @Cyrdug,

Je te demandais un simple retour pour me dire si cela te convenait, je n’en demandais pas tant. :yum:

Mais ça me touche la reconnaissance que tu constate du travail effectué sur ton fichier. :clipboard:

Merci à toi également pour ce beau retour. :+1:

Merci également à @DocteurExcel, qui a créé ce forum, nous permettant à tous de nous entraider avec cordialité autant que possible.

Au plaisir de te revoir ici. :eyes:

Bonne soirée.


#15

Bonjour Mdo100,

Me voilà de retour avec un nouveau fichier ! Cette fois-ci, ce sont les valeurs complètes du mois de mai…
Seulement voilà, malgré une transposition de la feuille de calcul matriciel, et une mise à jour via le gestionnaire de noms, je me retrouve avec un tableau de calcul vide !?!
Je dois avoir un bug à un endroit, mais je ne le trouve pas…
Pourriez-vous avoir l’amabilité de m’aider à nouveau ?
En vous remerciant par avance

Cyril
PS : fichier en PJconducmai2017.xlsx (3,0 Mo)


#16

Je commence d’ailleurs par une bêtise puisque je n’ai pas besoin de toutes les valeurs maxi horaires, mais seulement celles comprises entre le 1er mai et le 10 mai… Cela soulagera la taille du fichier final


#17

Bonjour @Cyrdug,

Attention au “Gestionnaire de noms”, voir images ci-dessous.




D’autre par on ne peut pas choisir qu’un seul morceau de plage, il y a quand même certaines règles a respecter pour faire fonctionner Excel, et en un sens, heureusement.

Mais puisque tu veux les dates qu’entre le 1er mai et le 10 mai, il suffit alors de réduire le nombre de recherche dans la feuille 2.

Je te propose une autre présentation dans le fichier joint ci-dessous, dont voici un aperçu image, fait moi savoir si cela te convient, perso, moi je préfère, car plus lisible.

Comme ton fichier est trop volumineux, je suis passé par un site d’ébergement, clique sur le lien et suis la procédure pour la récupération du fichier.

Ton fichier ICI==> https://xls.lu/6Gf6

Cordialement.


#18

Bonjour @mdo100 !

Un grand merci pour ton aide, le résultat est probant et efficace une fois encore, et effectivement, la nouvelle mise en page plus compréhensible.

Par contre, et j’ai beau débrancher et rebrancher mes neurones ce matin, je ne comprends pas tes corrections (les images ci-dessus) par rapport à ma tentative d’hier !? Et ne comprends pas tes messages “attention à la hauteur des lignes” et “début de ligne” ?

Tout me semblait pourtant correct dans mon fichier initial, mais je dois avoir 1 ou 2 neurones mal connectés !!! Un café et je regarde de plus près…

En tout cas, encore un grand merci !


#19

Bonjour @Cyrdug,

Regarde :eyes: ce que tu avais sur le fichier que tu as joins hier dans le “Gestionnaire de noms” et tu comprendras.




Après ton café, mets tes lunettes :eyeglasses: :wink:.

Bonne journée.
Cordialement.


#20

Je les avais pourtant sur le nez :eyeglasses: ! Mais je viens de comprendre que le gestionnaire de noms affiche le 1er fichier ouvert et ne varie pas lorsqu’on en ouvre plusieurs. Je bats donc ma coulpe et te remercie encore vivement !