0
查询功能在谷歌工作表我有这个疑问:通过区域对象作为参数,在谷歌工作表
= 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)
我想现在要做的是使查询函数的第一个参数的动态。为此,我写了这个小功能:
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(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函数的第一个参数,我非常感谢任何提示。
试着改变你选择子句: “选择Col1中,Col2中,COL3,COL4其中COL3 <=日期“” &TEXT(B1,“YYYY-MM- dd“)&”'AND Col3> = date'“&TEXT(B1,”yyyy-MM-dd“)&”'“ – JPV
谢谢!这个伎俩。 – Georg
我在上面添加了这个线程的未来访问者的答案。随时接受或upvote它。干杯,JP – JPV