我正在尝试将数据从 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")
您必须先计算
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")
这是您可以测试的一种可能的方法:
=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))})