如何根据谷歌表格中的单元格进行查询?

时间:2021-04-21 20:23:01

标签: google-sheets google-sheets-formula

我正在尝试构建一个股票财务分析电子表格,例如 sheet。我有一个财务选项卡,我可以在其中通过 csv 导入资产负债表、损益表和现金流量表。在另一个选项卡中,我编写了查询,这些查询将根据我放入单元格的任何代码填充财务报表

params.value

在示例表中,我在放置这些查询函数的位置放置了一个蓝色边框。我遇到的问题是我一直收到所有 3 个解析错误。

2 个答案:

答案 0 :(得分:1)

试试这个:

=QUERY({Financials!B4:M}, "SELECT * WHERE Col1 = '"&B2&"'")
=QUERY({Financials!Q4:AB}, "SELECT * WHERE Col1 = '"&B2&"'")
=QUERY({Financials!AF4:AR}, "SELECT * WHERE Col1 = '"&B2&"'")

输出:

enter image description here

enter image description here

enter image description here

参考:

答案 1 :(得分:1)

根据我的经验,我经常使用单引号和双引号将字符串连接起来。我建议你把公式分解一下。因此,在另一个单元格中,使 SELECT 子句字符串起作用,然后添加回 QUERY() 函数。

="SELECT * WHERE Col1 = '"&B2&"'"

这有时被称为洋葱方法。如果您在字符串公式上遇到错误,您可以进一步分解它,直到您确定问题出在哪里。在这种情况下,它是您引用单元格的地方。

另一种方法是从硬编码公式开始,然后替换单元格引用:

=QUERY(Financials!B4:M, "SELECT * WHERE B = """&B2&""", ")

变成:

=QUERY(Financials!B4:M, "SELECT * WHERE B = 'AAPL', 1)

然后使用连接运算符 (&) 和单引号将 'AAPL' 替换为单元格引用(因为整个字符串都使用双引号。

=QUERY(Financials!B4:M, "SELECT * WHERE B = '"&B2&"'", 1)

还有一个 CONCATENATE() 函数,我有时也会使用它

=QUERY(Financials!B4:M, CONCATENATE("SELECT * WHERE B = '",B2,"'"), 1)

有些人认为没有所有与号运算符更容易理解