我不明白当我尝试在 Google 表格中使用 QUERY() 函数时显示的错误消息

问题描述 投票:0回答:2

我正在尝试将数据从 Google 表格中的一张工作表复制到另一张工作表,并且我目前正在尝试在第二张工作表中使用此查询:

=QUERY(FORM!A3:P1090; "SELECT A, C, D, E, F, G, H, I, J, IF(ISBLANK(K), 'TBA', K), L, M, N, O, P ORDER BY D DESC, E DESC")

第一个表是 Google 表单响应表,查询第二个表,以便我可以应用条件格式、排序等...

但是在使用查询时,它给我一个错误,如下:

错误 无法解析函数 QUERY 参数 2 的查询字符串:PARSE_ERROR:在第 1 行第 37 列遇到“ "(" "( ""。期望以下之一: "where" ... "group" ... "pivot" 。 ..“顺序”...“跳过”...“限制”...“偏移”...“标签”...“格式”...“选项”...“,”... “”...“+”...“-”...“/”...“%”...“”...“/”...“%”...“+ “……”——“……

我无法理解这个错误的含义;我的意图是,如果原始 K 列中的数据为空白(日期),它将自动在第二张表的相应列中显示“TBA”。

这是原始查询,没有 K 空白检查,但有效。

=QUERY(FORM!A3:P1090; "SELECT A, C, D, E, F, G, H, I, J, K, L, M, N, O, P ORDER BY D DESC, E DESC")
google-sheets google-sheets-formula
2个回答
0
投票

您必须先计算

K
列,然后与其他列堆叠,然后应用
QUERY()
函数。尝试-

=QUERY({Sheet1!A3:J1090,INDEX(IF(ISBLANK(Sheet1!K3:K1090), "TBA", Sheet1!K3:K1090)),Sheet1!L3:P1090}, 
"SELECT Col1,Col3,Col4,Col5,Col6,Col7,Col8,Col9,Col10,Col11,Col12,Col13,Col14,Col15,Col16 ORDER BY Col4 DESC, Col5 DESC")

看来你忽略了

B Column
。这就是单独选择其他列的原因。如果您想要所有列,那么可以尝试
*
喜欢-

=QUERY({Sheet1!A3:J1090,INDEX(IF(ISBLANK(Sheet1!K3:K1090), "TBA", Sheet1!K3:K1090)),Sheet1!L3:P1090}, 
"SELECT * ORDER BY Col4 DESC, Col5 DESC")

0
投票

这是您可以测试的一种可能的方法:

=let(Σ,QUERY(FORM!A3:P10, "SELECT A, C, D, E, F, G, H, I, J, K, L, M, N, O, P ORDER BY D DESC, E DESC"),
 Λ,lambda(x,choosecols(Σ,x)),{Λ(sequence(9)),switch(Λ(10),,"TBA",Λ(10)),Λ(sequence(5,1,11))})
© www.soinside.com 2019 - 2024. All rights reserved.