我有2个Google表格,用于跟踪我们两个主要站点的班级出勤情况,并且表格上的每个标签都是不同的班级/课程。每张纸都有一个“数据”标签,可提取所有课程/课程数据。我正在尝试从这两张纸上提取数据表,并将它们放在第三张纸上,并通过程序(GED,CDP,ESL)整理类数据。我没有从一张工作表中提取数据的问题,但是当我尝试堆叠Query
和Importrange
公式时,我一直收到 ARRAY LITERAL错误,表明缺少行。
我原来的公式是
={QUERY(IMPORTRANGE("1avE5TJIDVNL7_wqjDLPgocZuecr5Aoz7aI3cI5yIe34", "Data!A3:Ak1000"), "SELECT Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col26, Col27, Col28, Col29 WHERE Col3 CONTAINS 'ESL' AND Col7>0");QUERY(IMPORTRANGE("10q7kBUJVTw62p1cCZjUIR1CsFSev9Ik6q4K-X-RK40Y", "Data!A3:Ak1000"), "SELECT Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col26, Col27, Col28, Col29 WHERE Col3 CONTAINS 'ESL' AND Col7>0")}
,它发出VALUE
错误消息,提示ARRAY LITERAL
缺少行。
根据其他站点的其他建议,我尝试了公式(如下所示),但是收到了公式解析错误消息,并尝试将大括号移动到ImportRange公式周围,但是继续收到公式解析错误消息>
=QUERY{(IMPORTRANGE("1avE5TJIDVNL7_wqjDLPgocZuecr5Aoz7aI3cI5yIe34", "Data!A3:Ak1000");IMPORTRANGE("10q7kBUJVTw62p1cCZjUIR1CsFSev9Ik6q4K-X-RK40Y", "Data!A3:Ak1000")},"SELECT Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col26, Col27, Col28, Col29 WHERE Col3 CONTAINS 'ESL' AND Col7>0")
我希望输出将列出Col3中包含“ ESL”的所有类以及两个表中的相应列。
答案 0 :(得分:0)
如果两个查询都输出某些内容,那么一切都很好:
但是,如果其中一个查询没有任何要输出的内容,它将输出#N/A
,但问题是#N/A
仅在第一个单元格中:
但是数组期望两侧的矩阵都相同(两个查询都有4列):
因此,我们将每个查询包装到IFERROR
中,并在发生错误的情况下输出带有4个伪列的伪行- {"","","",""}
-这将欺骗数组以将其输出:
因此请尝试这样:
=IFERROR(QUERY({IFERROR(QUERY(IMPORTRANGE(
"1avE5TJIDVNL7_wqjDLPgocZuecr5Aoz7aI3cI5yIe34", "Data!A3:AK1000"),
"select Col1,Col2,Col3,Col4,Col5,Col6,Col7,Col26,Col27,Col28,Col29
where Col3 contains 'ESL'
and Col7>0", 0), {"","","","","","","","","","",""});
IFERROR(QUERY(IMPORTRANGE(
"10q7kBUJVTw62p1cCZjUIR1CsFSev9Ik6q4K-X-RK40Y", "Data!A3:AK1000"),
"select Col1,Col2,Col3,Col4,Col5,Col6,Col7,Col26,Col27,Col28,Col29
where Col3 contains 'ESL'
and Col7>0", 0), {"","","","","","","","","","",""})},
"where Col1 is not null", 0))