Valeur qui correspond à l’heure la plus recente avant une heure donnée

re

dans la formule (en vert en bas dans le classeur joint) j'ai imbriqué AGREGAT qui a renvoyé l'heure dans MOYENNE.SI.ENS qui calcule la moyenne sur la colonne D suivant les critères; Et le critère mis pour la colonne C est cette formule AGREGAT; elle me donne bien la valeur voulue 102°

est ce qu'il y a une façon de n'utiliser que AGREGAT sans faire appel à MOYENNESI.ENS ???

crdl

12agregat-mysiens.zip (273.71 Ko)

re

Dans le classeur joint j’ai imbriqué la fonction AGREGAT dans la fonction MOYENNE.SI.ENS :

MOYENNE.SI.ENS calcule la moyenne sur la colonne D (temperature) repondant aux critères sur les colonne A, b et C : pour le critère mis pour C j’ai collé la formule AGREGAT donnant l’unique heure la plus recente (VALEUR la plus grande des heures calculée par AGREGATsuivant les critères sur les colonne A, B, C) comme vous remarquez ça ne m’a pas épargné l’obligation de mettre les et répéter les mêmes critères des colonnes A, B, pour la formule Moyenne.si.ens

Voir la formule en bas dans la feuille, en vert

Elle me donne bien 102°

La question qui rste posée :

Y a-t-il un moyen d’eviter MOYENNE.SI.ENS et de n’utiliser que des AGREGAT par exemple. ????

crdl

17agregat-mysiens.zip (273.71 Ko)

re,

le truc est de volontairement faire des erreurs pour ces lignes qui ne sont pas okay. Donc 2ième variable est 6 (ignore erreurs) et on divise par 0, résultat = erreur !!!

Moi, je préfère J17:J18 (quand les données sont triées ascendant, date+heure)

=AGREGAT(14;6;LIGNE($D$2:$D$59)/(($A$2:$A$59=$A$2)*($B$2:$B$59=J_2)*(h_1<=$C$2:$C$59)*($C$2:$C$59<=h_2));1)

le nominateur = lignes des témperatures (mais une autre colonne est aussi okay)

le dénominateur = produit qui résulte à 1 quand toutes les conditions sont okay et 0 si cela n'est pas le cas.

Résultat est ligne 16, puis avec un simple index, vous avez votre 102°.

Donc le truc est de (presque) tout mettre dans le dénominateur, ce que vous avez utilisé dans "MOYENNE.SI.ENS"

21agregat-mysiens.zip (254.89 Ko)

bonjour,

16agregat-mysiens.zip (268.83 Ko)

Pour ce qui est en colonne J Oui, mais ça reste toujours le problème de tri dont on doit faire attention et ça pose problème à la fonction index , cette fonction que je voulais éviter à cause de ça.

Ce qui en colonne I : je vois que tu as essayé d’éviter ce pb de tri et dans AGREGAT tu as concaténé la colonne B et C pour renvoyer la plus grande valeur sur une matrice qui contient une unique valeur mais en jour et heure seulement, je me demande pourquoi tu n’es pas allé jusqu’à concaténer avec eux la colonne A aussi pour avoir une matrice à valeur unique en type température, jour et heure au même temps . je comprends que AGREGAT risque de se tromper en évaluant la plus grande valeur sur un contenue concaténé qui contient du text « Tin » « Tex » et je comprends que tu l’a fait dans la deuxième étape dans la formule d’en dessous en écrivant =INDEX($D$2:$D$59;EQUIV($A$2&I18;$A$2:$A$59&($B$2:$B$59+$C$2:$C$59);0))

Mais est-il possible de n’avoir qu’une seule formule dans une seule case ?

est-ce possible de remplacer I18 dans cette formule avec sa formule qui l’a généré? J’ai essayé et apparemment ça marche ( J20 en bleu)

Quant à la division pour avoir des erreurs c une bonne astuce mais je pense qu’elle n’est pas nécessaire dans notre exemple, elle est utile dans des cas par exemple lorsque on demande une plus petite valeur et un 0 est renvoyé à cause des critères qui ne sont pas vérifié et qu’elle va considérer ce 0 comme un minimum.

merci

re,

en cas d'erreur, vous n'avez pas 0, mais erreur et ceux sont ignorés, donc pas de problème.

Pour une formule avec plusieurs résultats, une fonction personnalisé "Kamel", qui donne date+heure, valeur & temp du plus recent.

Formule matricielle (donc avec des {} autour en 2010 et ...).

@Bart

En vba hhh ?!

J’ai commencé à pratiqué vba -sur Access- il y a 20 ans mais pour une très courte durée, j réalisé quelques trucs simples et j abandonné et j tout oublié.

C’est un grand plaisir pour moi cet échange avec vous, plus que bénéfique.

Cordialement

merci !

Et maintenant, vraiment en une formule (non-matricielle) et 5 plages nommées.

Rechercher des sujets similaires à "valeur qui correspond heure recente donnee"