【问题标题】:INDIRECT inside SELECT QUERYSELECT QUERY 中的 INDIRECT
【发布时间】:2021-02-13 19:57:31
【问题描述】:

我正在为我的学生制作一张表格,我需要根据他们的答案过滤不同的列,这些答案由谷歌表单发送。我将在这里简化这些行:

=QUERY({RESP!A2:LU1000} ;"SELECT Col1, Col2, Col3,'"&INDIRECT("A10")&"' WHERE Col2 = '"& $A$1 &"' and Col3 = '"& $A$2 &"' and Col1 >= date '"&TEXT(DATE.VALUE(A5);"yyyy-mm-dd")&"' and Col1 <= date '"&TEXTO(DATE.VALUE(A7);"yyyy-mm-dd")&"' ")

根据学生班级的类型,我需要选择不同的列。所以我在不同的单元格中记录了它们,如下所示:

A10= Col20, COl21, Col22
A11=  Col23, Col24, Col25
A12= Col26, Col27, Col28

在第一个代码行中,INDIRECT 在哪里,根据答案的类型,我会选择不同的单元格 (A10.A11,A12)。我已经尝试过,但它对我不起作用。我不知道解决这个问题的其他方法,如果可能的话,我需要帮助。我的最终想法是使用 IFS 函数来组合它们。感谢关注。

这是为显示此问题而构建的模型。正如我所描述的,我已经从“select”中提取了“INDIRECT”,没有出现错误。

Sheet query test

【问题讨论】:

  • 分享您的工作表副本
  • 好的,我编辑了答案并添加了图纸模型。

标签: sql google-sheets spreadsheet


【解决方案1】:

尝试:

=QUERY({FORMINPUT!A1:O50}; 
 "select Col1,Col2,Col3,"&INDIRECT("A21")&" 
  where Col2 = '"&A1&"' 
    and Col3 = '"&A2&"' 
    and Col1 >= date '"&TEXT(DATEVALUE(A5); "yyyy-mm-dd")&"' 
    and Col1 <= date '"&TEXT(DATEVALUE(A7); "yyyy-mm-dd")&"'"; 0)

【讨论】:

  • 非常感谢。这正是我所需要的。
猜你喜欢
  • 2020-03-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-28
  • 2017-02-18
  • 2015-03-10
  • 1970-01-01
  • 2016-01-11
  • 1970-01-01
相关资源
最近更新 更多