2016-08-01 43 views
1

在Google表格中,我每天都有多個正數和負數數據條目。我想創建一個使用查詢函數的表格,以便我有以下幾行:日期,負面,肯定,總計。Google表格查詢:可以通過未選擇進行分組/排序?

Date  Value 
28/07/2016 10 
28/07/2016 -0.9 
28/07/2016 -20 
29/07/2016 -30 
29/07/2016 -12 
29/07/2016 18 
29/07/2016 -3 
30/07/2016 7 
30/07/2016 7 
30/07/2016 15 
30/07/2016 -1 
30/07/2016 7 

它看起來像我可以做三個公式與查詢功能:

=query(A2:B13,"select A, sum(B) where B < 0 group by A order by A label A 'Date', sum(B) 'Negative'", -1) 
=query(A2:B13,"select A, sum(B) where B > 0 group by A order by A label A 'Date', sum(B) 'Positive'", -1) 
=query(A2:B13,"select A, sum(B) group by A order by A label A 'Date', sum(B) 'Total'", -1) 

但問題是,我必須選擇日期每到能夠組和秩序由它的時間。如果我不選擇A,則該函數返回#VALUE !.所以結果是這樣的:

Date  Negative Date  Positive Date  Total 
28/07/2016 -20.9  28/07/2016 10   28/07/2016 -10.9 
29/07/2016 -45   29/07/2016 18   29/07/2016 -27 
30/07/2016 -1   30/07/2016 36   30/07/2016 35 

我可以以某種方式避免選擇日期爲積極和總? 我知道我可以簡單地隱藏這些列,但有其他方法嗎?

回答

1

嘗試結合單式利用的double queryarrays {}

={query(A2:B13,"select A, sum(B) where B < 0 group by A order by A label A 'Date', sum(B) 'Negative'", -1), query(query(A2:B13,"select A, sum(B) where B > 0 group by A order by A label A 'Date', sum(B) 'Positive'", -1),"select Col2"), query(query(A2:B13,"select A, sum(B) group by A order by A label A 'Date', sum(B) 'Total'", -1),"select Col2")}


這種結構: query(query(...),"select Col2")將僅選擇數據的第二列中。

{data1, data2, data3}使得data2data3被置於新列中的右側。

+0

您好,先生,是一位天才!我還沒有意識到嵌套查詢甚至可以使用Sheets。 – Asu

1

我不知道它是否更容易,但是您可以創建一個列C = if(B2> 0,B2,「」)和一個列D = if(B2 < 0,B2,「 「)然後填寫它們。然後使用:

=query(A2:D13,"select A, sum(D),sum(C),sum(B) where A is not null group by A order by A label A 'Date', sum(D) 'Negative',sum(C)'Positive',sum(B) 'Total'", -1) 
+0

我其實也是這樣做的,但不滿意不得不維護它。 – Asu