Analizuj częstotliwości zakresów dat

9

Mam Arkusze kalkulacyjne Google, w których chciałbym obliczyć wystąpienia zakresów dat. Mam kolumnę, date_utc+1która zawiera prawie losowe dane o dacie.

To, co chciałbym zrobić, to umieścić wartości daty w pojemnikach po sześć godzin każdy, tj. 12/5/2012 23:57:04Dopóki 12/6/2012 0:03:17nie będzie w pierwszym pojemniku, 12/6/2012 11:20:5312/6/2012 17:17:07do drugiego pojemnika i tak dalej. Następnie chciałbym policzyć występowanie tych pojemników, takich jak:

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
...                 ...                   ...

Częściowe wskazówki są również mile widziane, ponieważ jestem całkiem nowy w arkuszach kalkulacyjnych.

wnstnsmth
źródło
1
Spróbuj przeczytać to pytanie i odpowiedzi: superuser.com/q/518632/179112
Jacob Jan Tuinstra,
@JacobJanTuinstra - Czy to działa w przypadku Arkuszy kalkulacyjnych Google?
@JacobJanTuinstra to faktycznie rozwiązuje moje pytanie superuser.com/questions/519286/... , możesz odpowiedzieć na nie poprzez link do swojej odpowiedzi w innym pytaniu lub oznaczyć je jako duplikat.
wnstnsmth
@DaveRook; zobacz przykładowy plik, który załączyłem.
Jacob Jan Tuinstra,
W przyszłości zadawaj tutaj pytania dotyczące Arkuszy kalkulacyjnych Google, a nie superużytkowników. Dzięki!
slhck 18.12.12

Odpowiedzi:

6

Myślę, że mam dla ciebie rozwiązanie. Nie odbywa się to automatycznie, ale spowoduje to twoją propozycję:

  • W twoim pliku data jest zapisana jako MM-DD-YYYY. Przyjąłem założenie, że zakres dat obejmuje grudzień, a NIE losowe daty w ciągu roku. Dlatego musiałem zmienić format daty na DD-MM-YYYY.
  • Jako wskazówkę wykorzystałem następującą formułę, aby uzyskać unikalny zakres dat: =UNIQUE(ARRAYFORMULA(DATEVALUE(I2:I)))
  • W arkuszu CZĘSTOTLIWOŚCI użyłem tej formuły do ​​obliczenia pierwszego przedziału:
    ='Original Data'!J2+TIME(18;0;0)
    Musisz mądrze wybrać przedziały.
  • Skopiuj tę formułę, aż żądany przedział czasu zostanie zakończony:
    =A3+TIME(6;0;0)
  • Użyj wzoru FREQUENCY, aby obliczyć wynik:
    =FREQUENCY('Original Data'!I2:I;A3:A)

Zobacz przykładowy plik, który przygotowałem: Częstotliwości

Jacob Jan Tuinstra
źródło
Ma sens, dziękuję! Ostatnie pytanie: jak łatwo przekonwertowałeś daty z MM-DD-RRRR na DD-MM-RRRR (nie widzę żadnej formuły).
wnstnsmth
Dodam go do pliku OK, jako bonus !! Dzięki i powodzenia.
Jacob Jan Tuinstra
@wnstnsmth: patrz arkusz DATA
Jacob Jan Tuinstra
sprawiedliwie .. myślałem, że jest gładszy sposób :-)
wnstnsmth
-1

Używanie języka zapytań i grupowania według klauzuli powinno załatwić sprawę.

Coś w stylu: =QUERY(A1:A509, "select count(B) group by year(A)") postaram się dzisiaj utworzyć działające zapytanie.

EDYTOWAĆ:

Włożenia nowej kolumny lewo kolumny A. Kolumna ta ma następujący wzór: =year(A2) & "-" & minute(A2). To tylko szybki test, aby utworzyć niektóre zakresy, ta kolumna powinna odzwierciedlać logikę pojemników.

Wzór =Query(A:E;"select B, count(A) group by B")obliczy częstotliwości.

- zrzeczenie się odpowiedzialności, to tylko przykład, konieczne jest wprowadzenie kilku poprawek, aby obliczyć dokładną funkcjonalność wymienioną w pytaniu -

Jasper Duizendstra
źródło
Aby select count(B)do pracy, trzeba przygotować szereg odpowiednio: A:B. Po drugie, w Szwajcarii najprawdopodobniej średnik jest używany zamiast przecinka.
Jacob Jan Tuinstra,
@wnstnsmth i Jasper: Dodałem wynik do pliku, który utworzyłem w arkuszu QUERY.
Jacob Jan Tuinstra,
@Jacob, ukończyłem również moje rozwiązanie w arkuszu (kolumny K, L, M). Wszelkie uwagi na temat tego rozwiązania? Ponieważ moja odpowiedź została odrzucona, chciałbym wiedzieć, czy coś mi tu brakuje.
Jasper Duizendstra