【问题标题】:Unable to parse query string for Function QUERY parameter无法解析函数 QUERY 参数的查询字符串
【发布时间】:2020-06-26 19:30:50
【问题描述】:

尝试运行此查询:

=query(IMPORTRANGE("XXXXXXX","'XX'!A:H"), "where Col3 = '666' and select Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8 and order by Col5 desc",1)

并且不断出现类似这样的奇怪错误

无法解析函数 QUERY 参数 2 的查询字符串:PARSE_ERROR:在第 1 行第 24 列遇到“选择”“选择”。期待以下之一:“真”...“假”...“不”...“日期”...“timeofday”...“datetime”...“timestamp”...“min”...“max”...“avg”...“count” ...“总和”...“no_values”...“no_format”...“is”...“null”...“year”...“month”...“day”... . “小时” ... “分钟” ... “秒” ... “毫秒” ... “with” ... “包含” ... “开始” ... “结束” ... “匹配”...“喜欢”...“现在”...“dateDiff”...“季度”...“下”...“上”...“dayOfWeek”...“toDate” ... ... ... ... ... ... "(" ... "-" ...

不知道为什么错误是指我显然没有要求的第 24 列 :)

有什么想法吗?

【问题讨论】:

  • Column24= 字符 24。第一个字符是 w 来自 where。选择不能在 where 之后。

标签: google-sheets google-sheets-formula google-query-language importrange


【解决方案1】:

应该是:

=QUERY(IMPORTRANGE("XXXXXXX", "'XX'!A:H"), 
 "select Col1,Col2,Col3,Col4,Col5,Col6,Col7,Col8 
  where Col3 = '666'
  order by Col5 desc", 1)

【讨论】:

  • 谢谢,这确实有效!一个快速调整:确实是一个固定值('666')我希望查询返回基于另一个单元格中的值的值,在查询所在的同一张表上。我试图用'C1替换'666' '。好处是它没有返回错误:) 坏处是它只返回了“IMPORTRANGE”指向的工作表中的标题行。有什么想法吗?
  • 是的,如果 C1 是数值使用:=QUERY(IMPORTRANGE("XXXXXXX", "'XX'!A:H"), "select Col1,Col2,Col3,Col4,Col5,Col6,Col7,Col8 where Col3 = "&C1&" order by Col5 desc", 1)
  • 如果 C1 是文本字符串使用:=QUERY(IMPORTRANGE("XXXXXXX", "'XX'!A:H"), "select Col1,Col2,Col3,Col4,Col5,Col6,Col7,Col8 where Col3 = '"&C1&"' order by Col5 desc", 1)
  • 我在这个帖子工作了几周后回来看这篇文章,但突然出现了一些问题。问题是没有显示某些列。我确实看到了他们的标题,但某些标题下方的单元格中没有数据。不确定这是否相关,但这些列包含数字和文本数据。单元格 C1 是字符串,实际功能仍然有效,它按预期提取数据,除了某些列中的缺失数据。
  • 试试:=ARRAYFORMULA(QUERY(TO_TEXT(IMPORTRANGE("XXXXXXX", "'XX'!A:H"), "select Col1,Col2,Col3,Col4,Col5,Col6,Col7,Col8 where Col3 = '666' order by Col5 desc", 1)))
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多