jas*_*son 2 sql google-sheets google-apps-script
好吧……不确定这些是否可以完成。
我在谷歌电子表格中,单元格 A1 = 时间.. 范围是 A1:C4。
我有一个简单的表如下:
time sit stand
1 bob mike
2 fred pat
3 chris mike
Run Code Online (Sandbox Code Playgroud)
这是我的查询:
=query($A$1:$C$4,"select A,B,C where C='mike'",0)
Run Code Online (Sandbox Code Playgroud)
......非常直接。但是,我希望列引用是动态的。所以我需要能够使用标题进行查询。我该怎么做?我已经尝试过以下方法:
=query($A$1:$C$4,"select 'sit ', 'stand' where 'stand' = 'mike' ",0)
=query($A$1:$C$4,"select sit, stand where stand = 'mike' ",0)
Run Code Online (Sandbox Code Playgroud)
并根据此页面的建议: Google 电子表格查询错误 - 列不存在
我还尝试了以下方法:
=query($A$1:$C$4,"select Col2, Col3 where Col3 = 'mike' ",0)
=query($A$1:$C$4,"select Col2, Col3 where (Col3) = 'mike' ",0)
=query($A$1:$C$4,"select (Col2), (Col3) where (Col3) = 'mike' ",0)
=query($A$1:$C$4,"select 'Col2', 'Col3' where 'Col3' = 'mike' ",0)
Run Code Online (Sandbox Code Playgroud)
他们都没有工作......有没有人知道如何去做或知道它是否可能?
https://developers.google.com/chart/interactive/docs/querylanguage
此处的示例似乎您可以做到,但这仅适用于应用程序脚本吗?而不是在电子表格功能中?
不幸的是,在 QUERY 电子表格函数选择子句中没有通过标题引用列的本机方式。
如果 QUERY 的第一个参数不是显式引用的范围,则可以使用 Colx 表示法。实现此目的的一种方法是将范围括在括号中,并调用 ArrayFormula:
=ArrayFormula(QUERY(($A$1:$C$4),"select Col2, Col3 where Col3 = 'mike'",0))
它相当丑陋,但您可以使用 MATCH 函数来栓入标题引用:
=ArrayFormula(QUERY(($A$1:$C$4),"select Col"&MATCH("sit";$A$1:$C$1;0)&", Col"&MATCH("stand";$A$1:$C$1;0)&" where Col"&MATCH("stand";$A$1:$C$1;0)&" = 'mike'",1))
| 归档时间: |
|
| 查看次数: |
12673 次 |
| 最近记录: |