Analyser les fréquences des plages de dates

9

J'ai une feuille de calcul Google où je voudrais calculer les occurrences de plages de dates. J'ai une colonne date_utc+1qui contient des données de date presque aléatoires.

Ce que je voudrais faire, c'est mettre les valeurs de date dans des bacs de six heures chacun, c'est-à-dire 12/5/2012 23:57:04jusqu'à 12/6/2012 0:03:17ce que ce soit dans le premier bac, 12/6/2012 11:20:53jusqu'au 12/6/2012 17:17:07deuxième bac, etc. Ensuite, je voudrais compter l'occurrence de ces bacs, tels que:

bin_from            bin_to                freq
-----------------------------------------------
12/5/2012 23:57:04  12/6/2012 0:03:17     2
12/6/2012 11:20:53  12/6/2012 17:17:07    19
...                 ...                   ...

Les astuces partielles sont également les bienvenues car je suis assez nouveau dans le tableur.

wnstnsmth
la source
1
Essayez de lire cette question et réponses: superuser.com/q/518632/179112
Jacob Jan Tuinstra
@JacobJanTuinstra - Cela fonctionne-t-il pour les feuilles de calcul Google?
@JacobJanTuinstra, cela résout exactement ma question superuser.com/questions/519286/… , vous pouvez y répondre avec un lien vers votre réponse dans l'autre question ou la marquer comme doublon.
wnstnsmth
@DaveRook; voir l'exemple de fichier que j'ai inclus.
Jacob Jan Tuinstra
À l'avenir, veuillez poser des questions sur les feuilles de calcul Google ici, et non sur les super utilisateurs. Merci!
slhck

Réponses:

6

Je pense que j'ai la solution pour vous. Ce n'est pas fait automatiquement, mais cela se traduira par votre proposition:

  • Dans votre dossier, la date est écrite comme MM-DD-YYYY. J'ai fait l'hypothèse que la plage de dates couvre les dates de décembre et NON aléatoires tout au long de l'année. J'ai donc dû réorganiser le format de la date pour DD-MM-YYYY.
  • À titre indicatif, j'ai utilisé la formule suivante pour obtenir la plage de dates unique: =UNIQUE(ARRAYFORMULA(DATEVALUE(I2:I)))
  • Dans la feuille FREQUENCY, j'ai utilisé cette formule pour calculer le premier intervalle:
    ='Original Data'!J2+TIME(18;0;0)
    vous devez choisir les intervalles judicieusement.
  • Copiez cette formule jusqu'à ce que la plage d'intervalles souhaitée soit terminée:
    =A3+TIME(6;0;0)
  • Utilisez la formule FREQUENCE pour calculer votre résultat:
    =FREQUENCY('Original Data'!I2:I;A3:A)

Voir l'exemple de fichier que j'ai préparé: Fréquences

Jacob Jan Tuinstra
la source
C'est parfaitement logique, merci! Dernière question: Comment avez-vous facilement converti les dates de MM-JJ-AAAA en JJ-MM-AAAA (je ne vois aucune formule).
wnstnsmth
Je vais l'ajouter au fichier OK, en bonus !! Merci et bonne chance.
Jacob Jan Tuinstra
@wnstnsmth: voir fiche DATE
Jacob Jan Tuinstra
assez bien .. pensé qu'il y avait un moyen plus fluide :-)
wnstnsmth
-1

L'utilisation du langage de requête et d'une clause group by devrait faire l'affaire.

Quelque chose comme: =QUERY(A1:A509, "select count(B) group by year(A)") je vais essayer de créer une requête de travail plus tard dans la journée.

ÉDITER:

J'ai inséré une nouvelle colonne de gauche de la colonne A. Cette colonne a la formule: =year(A2) & "-" & minute(A2). Ceci est juste un test rapide pour créer des plages, cette colonne doit refléter la logique des bacs.

La formule =Query(A:E;"select B, count(A) group by B")calculera les fréquences.

- avis de non-responsabilité, ceci n'est qu'un exemple, quelques ajustements sont nécessaires pour lui faire calculer la fonctionnalité exacte mentionnée dans la question -

Jasper Duizendstra
la source
Pour select count(B)travailler, vous devez préparer la gamme en conséquence: A:B. Deuxièmement, en Suisse, le point-virgule est probablement utilisé à la place de la virgule.
Jacob Jan Tuinstra
@wnstnsmth et Jasper: j'ai ajouté le résultat dans le fichier que j'ai créé sous la feuille QUERY.
Jacob Jan Tuinstra
@Jacob, j'ai également complété ma solution dans la fiche (Colonnes K, L, M). Des commentaires sur cette solution? Comme ma réponse a été rejetée, je voudrais savoir si je manque quelque chose ici.
Jasper Duizendstra