如何在 Google 表格中的 QUERY 中使用 TEXT

How to use TEXT inside a QUERY in Google Sheets

我正在尝试创建一个记录在 google 表格中的简单日常时间。我创建了一个名为 "Time In Records" 的 Google 表单。每次用户使用该表单提交记录时,它都会记录他们的姓名和输入时间,以及自动时间戳。

在另一个名为 "DTR Summary" 的 Sheet 上,我正在从 "Time In Records" Sheet 的 "Time-In Column" 中提取数据。我使用这段代码来做到这一点:

=QUERY('TIME IN RECORDS'!$A:$E, "select C where E = '"&TEXT($C15,"dd/mm/yyyy")&"' and (B = '"&$A&"')")

基本上,我根据用户的姓名 (A2) 和日期 (C15) 获取用户的 "Time-In"。这工作正常,问题是每次新用户提交数据时,我都必须在 "Time-In Records" Sheet 上手动执行此代码。 (下面的代码是在"Time-In Records" Sheet的E列输入的)因为每次添加新数据时,E列都是空白所以我必须手动将第一个单元格拖到最后添加的单元格数据。

=TEXT($A2,"dd/mm/yyyy")

我想要的是自动将时间戳转换为日期,以便它与我的查询匹配。我想到了这样的事情:

=QUERY('TIME IN RECORDS'!$A:$E, "select C where text(A, "dd/mm/yyyy") = '"&TEXT($C15,"dd/mm/yyyy")&"' and (B = '"&$A&"')")

遗憾的是它不起作用。我将不胜感激任何帮助。谢谢!

对于所有有同样问题的人,我已经弄明白了。

在 "Time-In Records" Sheet 上,我已将此代码放入 E 列:

=ArrayFormula(IF(A2:A<>"",TEXT($A2:A,"dd/mm/yyyy"),""))

这会自动将时间戳列转换为日期,即当前和新添加的数据。

公式语法应为:

=QUERY('TIME IN RECORDS'!A2:E, 
 "select C 
  where E = date '"&TEXT(C15, "yyyy-mm-dd")&"' 
    and B = '"&A2&"'")