2017-10-09 62 views
0

/否則在查詢中,有一羣我有這些DATAS:如果功能

+-----------+-----------+--------+-------------+--------+ 
| Date | Data NP | Type | Desc  | Amount | 
+-----------+-----------+--------+-------------+--------+ 
| 10/1/2017 | 1/1/1970 | Income | invoice 812 | 600000 | 
| 10/1/2017 | 1/1/1970 | Income | invoice 813 | 60000 | 
| 10/1/2017 | 1/1/1970 | Income | invoice 813 | 50000 | 
| 10/1/2017 | 1/1/1970 | Income | invoice 813 | 20000 | 
| 10/1/2017 | 1/1/1970 | Income | invoice 815 | 23000 | 
| 10/1/2017 | 1/1/1970 | Income | invoice 815 | 28000 | 
| 10/1/2017 | 10/6/2017 | Income | invoice 816 | 70000 | 
| 10/1/2017 | 10/6/2017 | Income | invoice 816 | 50000 | 
| 10/1/2017 | 1/1/1970 | Income | invoice 817 | 140000 | 
+-----------+-----------+--------+-------------+--------+ 

我想獲得一個新的表,其中只有一個日期,如果>的填充日期NP 1/1/1970否則日期。新表必須按照Desc進行分組,以便獲得每張發票的總金額。

目前,這是我的公式:

SELECT Col1, Col3, Col4, SUM(Col5) WHERE Col5>0 AND Col1>= date '"&text($A$1,"yyyy-mm-dd")&"' GROUP BY Col4

,但我堅持爲谷歌電子表格拋出一個錯誤,因爲我混聚集結果,SUM(COL5)與其他正常的結果。

回答

1

爲了解決這個錯誤,你應該包括所有沒有被歸納在GROUP BY子句中的列:

嘗試

SELECT Col1, Col3, Col4, SUM(Col5) WHERE Col5>0 AND Col1>= date '"&text($A$1,"yyyy-mm-dd")&"' GROUP BY Col1, Col3, Col4

關於「如果」,谷歌查詢沒有按」 t包含if子句,因此您可以在應用QUERY函數之前或之後,通過使用電子表格函數來應用IF。

+0

它的工作原理,謝謝,但如何有條件地選擇一個日期(Col2如果Col2> '01/01/1970其他Col1)? – poisons

+0

@poisons:我更新了我的答案。 –