2017-03-10 6 views
1

私は、テーブルに次のビッグデータを持っている:Googleスプレッドシートで月と期間をフィルタリングするにはどうすればよいですか?

A  B   C   D   E 
project ticketID date  startTime endTime 
MME  1   20-01-2017 12:00  13:00 
MME  2   23-01-2017 12:00  14:00 
VAN  1   24-01-2017 09:00  11:00 
MME  1   24-01-2017 12:00  14:00 
MME  3   02-02-2017 10:00  12:00 
XMR  1   18-02-2017 11:00  12:00 
MME  2   01-03-2017 13:00  14:00 

私は合計でどのチケットに費やされたどのくらいの時間、月ごとに知っていただきたいと思います。

有利な結果:

ticket month year total 
MME-1 1  2017 3:00 
MME-2 1  2017 2:00 
VAN-1 1  2017 2:00 
MME-3 2  2017 2:00 
XMR-1 2  2017 1:00 
MME-2 3  2017 1:00 

答えて

1

あなたはこのような結果を得るために2つのquerysを使用することがあります。

A  B C  D  E 
ticket id year month total 
MME  1 2017  1  3 
MME  2 2017  1  2 
MME  2 2017  3  1 
MME  3 2017  2  2 
VAN  1 2017  1  2 
XMR  1 2017  2  1 

式は次のとおりです。

=QUERY( QUERY({A1:E8}, "select Col1, Col2, year(Col3), month(Col3)+1, hour(Col5)-hour(Col4)"), "select Col1, Col2, Col3, Col4, sum(Col5) group by Col1, Col2, Col3, Col4 label Col1 'ticket', Col2 'id', Col3 'year', Col4 'month', sum(Col5) 'total'")

マーク:

カンマでエラーが発生したため、式を書き直す必要がありました。セミコロンを使用する必要がありました。また、あなたの数式を強化して、私が望んでいた結果を得ました。

=QUERY(QUERY({A:E\ARRAYFORMULA(IF(ISBLANK(A:A);"";A:A&"-"&B:B))};"SELECT Col1, Col2, Col6, YEAR(Col3), MONTH(Col3)+1, HOUR(Col5)-HOUR(Col4)");"SELECT Col3, Col5, Col4, sum(Col6) GROUP BY Col3, Col1, Col2, Col4, Col5 ORDER BY Col5 LABEL Col3 'ticket', Col5 'month', Col4 'year', sum(Col6) 'total'") 

書式設定:

=QUERY(
    QUERY(
     {A:E\ARRAYFORMULA(IF(ISBLANK(A:A);"";A:A&"-"&B:B))}; 
     "SELECT Col1, Col2, Col6, YEAR(Col3), MONTH(Col3)+1, HOUR(Col5)-HOUR(Col4)" 
    ); 
    "SELECT Col3, Col5, Col4, sum(Col6) GROUP BY Col3, Col1, Col2, Col4, Col5 ORDER BY Col5 LABEL Col3 'ticket', Col5 'month', Col4 'year', sum(Col6) 'total'" 
) 

出力:

A  B  C  D 
ticket month year total   
MME-1 1  2017 3 
MME-2 1  2017 2 
VAN-1 1  2017 2 
MME-3 2  2017 2 
XMR-1 2  2017 1 
MME-2 3  2017 1 
関連する問題