1

目标:根据查询从数据表中返回特定值(有点像 VLOOKUP 提供了多个条件的选项)。

问题:源表中的数据是一个值,我无法更改数据源的格式。当我运行我的 QUERY 函数时,我得到#N/A. 我知道这是由于源表数据的数据类型,因为当我将格式更新为“纯文本”时,该值有效。

这是我的查询:

=QUERY(SessionsData,"select D where B='"&TEXT(Date(YEAR(TODAY()),4,$A143),"yyyy-MM-dd")&"' limit 1",0)

我知道逻辑有效,请观看此视频以获取简短演示

我怎样才能得到这个比较来返回结果?

4

1 回答 1

2

改编自这个答案

查询语言有两个函数可以帮助进行日期比较。

  • todate()量函数会将电子表格日期(如您的 column B)转换为查询日期值。如果该值以日期时间开始,则它仅返回日期部分。
  • date修饰符将特别格式化的字符串视为查询日期值。

像这样使用它们:

=QUERY(SessionsData,"select D where todate(B)=date '"&TEXT(Date(YEAR(TODAY()),4,$A143),"yyyy-MM-dd")&"' limit 1",0)
                                    ^^^^^^^^^ ^^^^
于 2016-06-23T02:29:19.113 回答