Calc Erreur sur calcul de Max(horodate)

Bonjour,
Je bute sur un résultat surprenant : le résultat de la fonction MAX() appliquée à une plage de tampons d’horodatage se trompe parfois et retourne la valeur du premier tampon de la plage ! Voir ci-joint
ErreurMaxSurHeure.ods (130,5 Ko)
Colonne A : tampon d’horodatage, au format JJ/MM/AA HH/mm.
Colonne B : qualification du tampon : Talon, milieu ou pic.
Colonne C : tampon des débuts de pic, pour les débuts des pics ou bien une chaîne vide pour les autres tampons.
Colonne D : tampon des fins de pic, pour les fins des pics ou bien une chaîne vide pour les autres tampons.
Colonne E : durée du dernier pic, comme étant la différence entre le tampon de fin de pic et celui du début dernier pic. La mise au format [HH]:MM met en évidence les erreurs de calcul.
Colonne G : extrait du calcul avec la fonction MAX sur la plage depuis le début des tampons, $C$4, jusqu’au tampon de la fin du pic.
Colonne H : évaluation manuelle de la justesse du précédent calcul (colonne G) et du résultat de l’écart.
Le plus choquant c’est le côté apparemment aléatoire de l’erreur.
Serait-ce la présence des chaînes vides qui perturbe la fonction MAX() ? L’aide en ligne précise que MAX() ignore les textes.
Merci d’avance pour toutes vos suggestions ?

Version: 7.4.7.2 (x64) / LibreOffice Community
Build ID: 723314e595e8007d3cf785c16538505a1c878ca5
CPU threads: 4; OS: Windows 10.0 Build 19045; UI render: Skia/Raster; VCL: win
Locale: fr-FR (fr_FR); UI: fr-FR
Calc: CL

Bonjour mgl, le forum

en colonne E de l’onglet 10min du second fichier mis à notre disposition,
vous utilisez la fonction MAX() sous cette forme :
MAX($C$4;C20)

Dans cette configuration, la recherche de la valeur maximale ne se fait que dans les deux cellules citées.
Pour élargir la recherche à zone remplacez le “;” par “:”
MAX($C$4:C20)

De même en colonne G, essayez avec :
=SI(ET(B5<>B4;B4="pic");MAX($C$4:C4);"")
:wink:

Bonjour @njhub

Evidemment ! Et pourtant je sais que je dois ouvrir les yeux !
Merci beaucoup
Belle journée
Michel

J’ai trouvé un moyen de contourner le problème en utilisant la fonction PETITE.VALEUR().
Elle “filtre” les seuls tampons d’horodatage intéressants, sur une même ligne, ce qui facilite le calcul de la différence.
Voir ci-joint :
ContournementErreurMaxSurHeure.ods (135,2 Ko)
Colonne I : tampons des seuls débuts de pic
Colonne J : tampons des seules fins de pics
Colonne K : vérification pour vérifier l’absence de chevauchement de pics ou d’incohérence entre début et fin de pic.
Colonne L : calcul exact de la durée des pics.

Mais je reste à l’écoute des causes et corrections de l’erreur initiale.
Cordialement
Michel