在Google表格中,我有这样的疑问:
= QUERY( Data!A1:M300, "select A,B,C,D where C <= date '" & TEXT(B1, "yyyy-MM-dd") & "' AND D >= date '" & TEXT(B1, "yyyy-MM-dd") & "'", 0)
我现在要做的是使QUERY函数的第一个参数动态化。为此我写了这个小函数:
function getDataRange(sheetName) {
if (sheetName == "") {
sheetName = SpreadsheetApp.getActiveSheet().getName()
}
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName)
if (sheet != null) {
output = sheet.getDataRange().getValues();
} else {
output = SpreadsheetApp.getActiveSpreadsheet().getDataRange().getValues();
}
return output
}
现在,如果我将此函数作为第一个参数传递给QUERY,就像这样
= QUERY( getDataRange("Data"), "select A,B,C,D where C <= date '" & TEXT(B1, "yyyy-MM-dd") & "' AND D >= date '" & TEXT(B1, "yyyy-MM-dd") & "'", 0)
我收到此错误
"Unable to parse query string for Function QUERY parameter 2: NO_COLUMN: A"
我还没有找到将动态范围作为QUERY函数的第一个参数传递的方法,我非常感谢任何提示。
答案 0 :(得分:0)
尝试将您的select子句更改为:
"select Col1, Col2, Col3, Col4 where Col3 <= date '" & TEXT(B1, "yyyy-MM-dd") & "' AND Col3 >= date '" & TEXT(B1, "yyyy-MM-dd") & "'"