2013-02-13 84 views
4

在Google電子表格中,我想查詢其他工作表中的數據,但問題在於工作表的名稱存在於單元格中。那麼在QUERY函數中有一種方法可以動態提到表單名稱。基本上,我試圖做這樣的事情,但與動態表名:Google Spreashsheet查詢中的動態工作表名稱

=QUERY('2012'!A2:F;"select C, sum(F) where A='December' group by C order by sum(F) desc")

我試圖這樣做,但我得到解析錯誤:

=QUERY(INDIRECT("Overview!L5")!A2:F;"select C, sum(F) where A='December' group by C order by sum(F) desc") 

在其中概述L5是小區用表格名查詢。我也嘗試將間接引號連接起來,但那也沒用。

我認爲這是很明顯我試圖從查詢即由值其它細胞被編組單元獲取值的和做的。

回答

8

INDIRECT看起來是問題。 嘗試這樣的:

=query(INDIRECT(A1&"!A5:A10"),"select Col1") 

即如果單元格A1包含 「食」 上面是一樣的:

=query(food!A5:A10,"select A") 

與同爲:

=query(INDIRECT("food!A5:A10"),"select *") 

**注:間接使用「Col1」等,而不是「A」,因爲它不通過col字母。

也...在谷歌組論壇可能是尋找電子表格公式答案的好地方。 productforums.google.com/forum/#!categories/docs/spreadsheets

+0

感謝您的回覆!你的代碼存在一個問題,那就是在我的情況下,工作表的名字存在於一個單元格(L5)中,但你已經假定它是Food。基本上我使用INDIRECT(「Overview!L5」)獲取表單的名稱。 – Haris 2013-02-15 10:40:53

+0

試試這個:QUERY(INDIRECT(Overview!L5&「!A2:F」);「select C,sum(F)where A ='December'group by C order by sum(F)desc」)INDIRECT接受一個字符串並返回一個範圍。 – eddyparkinson 2013-02-17 10:40:59

+0

現在我得到這個錯誤:錯誤:無效的查詢:列[F]不存在於表中。 = INDIRECT(L5&「!A2:G」)僅在A2中返回值。 – Haris 2013-02-18 07:28:37