Moyenne entre plusieurs dates pour une référence donnée

Bonjour,

j'ai une base qui contient des données datés pour plusieurs références qui se répètent. (onglet Base)

J'ai besoin, en onglet 'Résultats', colonne D, pour chaque référence en A de calculer la moyenne entre chaque apparition de date

Fichier de démo pour mieux comprendre.

Merci par avance.

Tu veux la moyenne de quoi ?

Si tu as un exemple pour éclairer ma lanterne...

J'ai noté dans le fichier de démo :)

SI je prend la réf "1X1Y12345678"

elle remonte les

22/08/202228/12/202206/02/202301/03/2023

Ce que je cherche à obtenir en 1 seule formule c'est la moyenne en jour entre toutes ces dates, soit ici 63 jours.

mais actuellement pour le faire je procède de manière assez lourde pour des milliers de lignes.

j'ai le transpose query de tout à l'heure :

=transpose(query(Base!A2:D;"select A where D like '"&A2&"' "))
image

puis ensuite j'ai une série de :

=(G2-F2)
=(H2-G2)
=(I2-H2)
=MOYENNE(G3:I3)

qui me donne la durée entre toutes les dates, ici : 63

image

Mais c'est vraiment pas pratique

J'avais mal paramétré les accès au fichier test, désolé, c'est corrigé.

D'accord, j'ai compris ta requête...

Bonjour Seb,

Tu peux utiliser ça :

=MOYENNE(query(tocol(arrayformula(datedif(A2:ZZ2;B2:ZZ2;"d"));3;1);"select Col1 where Col1 <>0"))

https://docs.google.com/spreadsheets/d/1fl8sNmObPEgSYKzgDY_RpyNCUNSvbIkffsnCHyKji0Q/edit?usp=sharing

Tu peux éventuellement remplacer la plage " A2:ZZ2;B2:ZZ2 " par ta formule (adaptée) : query(Base!A2:D;"select A where D like '"&A2&"' ")

Bon week-end,

Fil.

Bonjour Filoche,

Merci pour ton aide.

çà fonctionne très bien :).

Bonjour,

Désolé de déterrer ma demande initiale mais en voulant l'exploiter sur plusieurs lignes, cela ne fonctionne pas, je ne comprend pas bien pourquoi

=MOYENNE(query(tocol(arrayformula(datedif(B2:AAA2;C2:AAA2;"d"));3;1);"select Col1 where Col1 <>0"))

fonctionne très bien, mais dès que je tente :

=MOYENNE(query(tocol(arrayformula(datedif(B3:AAA3;C3:AAA3;"d"));3;1);"select Col1 where Col1 <>0"))

il me renvoi un 'requête terminée Sans résultat"

Bon je viens déjà de comprendre un bug, que je ne sais pas comment corrigé mais c'est déjà çà,

La formule ne fonctionne pas car mes dates sont de la plus récente à la plus ancienne et proviennent de cette formule :

=MAP(A2:A20;lambda(a;transpose(query('Base'!A2:E;"select A where E like '"&a&"'  order by A desc limit 10"))))

si je remplace "desc" par "asc" déja j'ai plus de #N/A mais je n'ai pas non plus la bonne info puisqu'il me faut la moyenne des 10 dernières dates

Auriez-vous une solution ?

Merci

Salut Seb,

Peut-être comme ça (à adapter) :

=AVERAGE(query(tocol(arrayformula(datedif(transpose(query(tocol(I7:AAA7);"select * where Col1 is not null"));transpose(query(tocol(H7:AAA7);"select * where Col1 is not null"));"d"));3;1);"select Col1 where Col1 <>0"))

https://docs.google.com/spreadsheets/d/1Gq-Gm4VtKTzlk2fTFHuHxSzxF_5yQaYHdB_kRa59gJ0/edit?usp=sharing

Cordialement,

Fil.

Merci ca fonctionne parfaitement :)

J'essaie de comprendre ta formule, elle inverse la chronologie des dates provenant du Desc pour permettre à la moyenne de fonctionner ?

Rechercher des sujets similaires à "moyenne entre dates reference donnee"