Fonction heure() dans une somme conditionnel

Fermé
Gustave - 2 juin 2019 à 20:00
 Gus - 5 juin 2019 à 22:08
Bonjour,
je désire calculer la production moyenne de mes panneaux photovoltaïques mais je butte sur l'utilisation des fonctions heure() et minute().
J'ai des données par tranches de 5 min par jour et je voudrais calculer le profil moyen par tranche de 5 minutes.
Colonne B : heure
colonne C : production
G4 : 1er du jour; H4 = 1er jour du mois suivant
Colonne F : index des heures (00:00; 00:05; 00:10, ...)
moyenne sur un mois : =MOYENNE.SI.ENS($C$6:$C$500;$B$6:$B$500;">=" & G$4;$B$6:$B$500;"<"&H$4)
moyenne sur une tranche horaire de 5 min sur un mois : =MOYENNE.SI.ENS($C$6:$C$500;$B$6:$B$500;">=" & G$4;$B$6:$B$500;"<"&H$4; heure($B$6:$B$500);"=" & heure($f6))
Est ce que les fonction heures et minutes ne peuvent pas traiter des zones ?
Merci pour vos conseils et idées
Gus

4 réponses

DjiDji59430 Messages postés 4028 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 18 avril 2024 644
2 juin 2019 à 21:28
Bonjour,

Un fichier (test) mis sur https://www.cjoint.com/ permettrait de répondre plus précisément à ta question

Crdmt
0
Bonjour,
merci pour votre excellente suggestion et pour votre réponse rapide

https://www.cjoint.com/c/IFdqPFU21XD

salutations
Gus
0
DjiDji59430 Messages postés 4028 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 18 avril 2024 644
4 juin 2019 à 11:21
Bonjour à tous,

pour répondre a ta question, c'est non avec la formule employée. Mais ..... on peut la traduire en formule matricielle, ce qui donne :

{=MOYENNE(SI((B$6:B$500>G$4)*($B$6:$B$500<H$4)*(TRONQUE($B$6:$B$500-ENT($B$6:$B$500);8)=TRONQUE($F5;8));$C$6:$C$500))}
Les tronque(), c'est qu'a chaque fois qu'on travaille sur des temps qui sont des résultats de formule, on est embêté

A vérifier !!

https://www.cjoint.com/c/IFejva1rXeB


Crdlmt
0
Bonjour,
merci pour votre réponse.
La solution matricielle proposée fonctionne bien.
Il semble donc que les fonctions heure et minute ne soient pas capable de traiter des zones de manière implicite.
Mais en utilisant la formulation matricielle on peut éviter les tronque() et utiliser les heures et minutes.
{=MOYENNE(SI((B$6:B$500>G$4)*($B$6:$B$500<H$4)*(HEURE($B$6:$B$500)=HEURE($F9))*(MINUTE($B$6:$B$500)=MINUTE($F9));$C$6:$C$500))}

Merci beaucoup
Salutations
0