【问题标题】:How to compare two dates and time in Query如何在查询中比较两个日期和时间
【发布时间】:2020-01-14 02:45:42
【问题描述】:

我为课堂上的实时出勤创建了一张表,其中包含两个选项卡(表 1 和表 2), 在 sheet1 中,我有两列日期和时间。在 sheet2 中,我有一列数字(C 列)、一行日期和两行时间(打开和关闭时间)。

我需要编写一个公式来查询 sheet1 并选择列 D if :

  1. 日期是第一列,等于 sheet2(row1) 中的日期
  2. sheet1(第 2 列)中的时间大于 sheet2(row2)中的 opentime
  3. 时间是 sheet1(column2) 低于 sheet2(row3) 中的 closetime 最后;
  4. Sheet1(D 列)中的数字等于 sheet2(C 列)中的数字

这是我尝试过的:

=iferror(if(QUERY(sheet1!$A:$D, 
"select D 
where A = datevalue '"&TEXT(D$1, "MM-dd-yyyy")&"' 
and B >= timevalue '"&TEXT(D$2, "HH:mm:ss")&"' 
and B <= timevalue '"&TEXT(D$2, "HH:mm:ss")&"' 
and C = "&$C5, 0)=$C5,"✅", "❌"),"❌")

我不确定出了什么问题。它不工作。这是一个共享的谷歌表: https://docs.google.com/spreadsheets/d/1zPZQgFlbz19ULu19I8-z-8m9E1vdfYMKRaFW9IycCtg/edit?usp=sharing

【问题讨论】:

  • 不确定您希望如何填充它...

标签: google-sheets filter google-sheets-formula array-formulas gs-vlookup


【解决方案1】:

如果 sheet1 是这样的:

然后你可以这样做(并将其拖到右侧):

=ARRAYFORMULA(IFERROR(VLOOKUP($C$5:$C, 
 FILTER({sheet1!$D$3:$D, sheet1!$C$3:$C}, 
 sheet1!$A$3:$A=D1, sheet1!$B$3:$B>D2, sheet1!$B$3:$B<D3), 2, 0)))

【讨论】:

    猜你喜欢
    • 2012-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多