两个选项卡的查询子集仅返回#N / A

时间:2019-06-25 11:17:36

标签: google-sheets google-sheets-query

我正在尝试结合两个数据标签来计划日常工作。一个选项卡用于循环任务,一个选项卡用于临时任务。 选项卡上的数据大部分相似,除了Sheet1 Col4是星期几,而Sheet2 Col4是日期

我想要选择星期几,并让查询返回该天的所有重复任务,以及该特定日期的所有临时任务

我可以分别返回两组数据,但是无法获得将两个子集一起返回的查询

Sheet1 Data
ID,TASK NAME,LOCATION,TASK DAY
REC1,Task 1,Office,Monday
REC2,Task 2,Office,Tuesday
REC3,Task 3,Field,Wednesday
REC4,Task 4,Office,Thursday
REC5,Task 5,Field,Friday
REC6,Task 6,Field,Monday
REC7,Task 7,Field,Tuesday

Sheet2 Data
ID,TASK NAME,LOCATION,TASK DATE
ADH1,AdHoc 1,Office,25/Jun/2019
ADH2,AdHoc 2,Office,26/Jun/2019
ADH3,AdHoc 3,Field,27/Jun/2019
ADH4,AdHoc 4,Office,28/Jun/2019
ADH5,AdHoc 5,Field,29/Jun/2019
ADH6,AdHoc 6,Field,30/Jun/2019
ADH7,AdHoc 7,Field,1/Jul/2019

这会根据单元格J1中的星期几从工作表1中提取数据

=query({Sheet1!A:D}, "select Col1,Col2,Col3,Col4 where Col4 = """&J1&""" ",0)

这将基于today()从表2中提取数据

=query({Sheet2!A:D}, "select Col1,Col2,Col3,Col4 where Col4 = date '" & text(today(),"yyyy-mm-dd") & "' ",0)

这会起作用,但只会返回一个空集

=query({Sheet2!A:D;Sheet1!A:D}, "select Col1,Col2,Col3,Col4 where Col4 = date '" & text(today(),"yyyy-mm-dd") & "' OR Col4="""&J1&""" and Col1<>'' ",0)

当J1 = Tuesday并且日期= 25/Jun/2019时,我应该得到

ID,TASK NAME,LOCATION,TASK DAY
ADH1,AdHoc 1,Office,25/Jun/2019
REC2,Task 2,Office,Tuesday
REC7,Task 7,Field,Tuesday

但是,仅获得#N/A

2 个答案:

答案 0 :(得分:1)

您几乎拥有了。
而不是将数组放入查询中;将查询放入数组中。


={QUERY(Sheet1!A:D, "SELECT A, B, C, D WHERE D = """&J1&""" ");
  QUERY(Sheet2!A2:D, "SELECT A, B, C, D WHERE D = date '" & text(today(),"yyyy-mm-dd") & "'")}

信用-Stacking multiple query output in one sheet

答案 1 :(得分:1)

可能为时已晚,但在将日期转换为文本查询后,它也出现在日期列中:

 =query({Sheet2!A:D; Sheet1!A:D}, "select Col2,Col1,Col3,Col4 where (Col4='"&Sheet1!J1&"' OR Col4 = '" & to_text(today()) & "')",0)