代码之家  ›  专栏  ›  技术社区  ›  Richard de Ree

在googlesheet中,如何获取包括日期在内的多个where

  •  1
  • Richard de Ree  · 技术社区  · 6 年前

    我有一个数据表(命名为datasheet),其中包含预订/预订。我想创建一个搜索单元,在其中我可以给搜索输入这个搜索输入可以是日期,邮政编码或名称的一部分。 查找我使用的日期:

    select (  where K = date '"&TEXT(S2;"yyyy-MM-dd")&"' OR B = ' " &S2& " ' )
    

    K列包含预订日期 单元格S2是搜索输入单元格

    我试着让一个依赖于ISDATE的单元格创建一个符合给定输入的单元格。但是,由于“引号”,这似乎不可能(我尝试使用char(34)。

    cell X1 =>    =if(isdate(date query);non date query)
    =QUERY(datasheet!A1:R1500; '&X1&')
    

    我的问题是。 `

    1 回复  |  直到 6 年前
        1
  •  1
  •   Grzegorz Mogilewski    6 年前

    不同类型的数据在查询中需要不同的“字符串结构”。因此,如果您需要为您的目的输入一个数据,您需要首先检查输入的是哪种类型的数据。

    1检查数据类型

    我假设您只有字符串、数字和日期(如果您需要更多,例如布尔-您必须基于此方法展开):

    enter image description here

    =iF(ISTEXT(E2)=TRUE;"txt";IF(AND(ISNUMBER(E2)=TRUE;ISDATE(E2)=TRUE);"date";"num"))
    

    enter image description here

    =if(E3="txt";"'"&E2&"'";IF(E3="num";E2;" date '"&TEXT(E2;"yyyy-MM-dd")&"'"))
    

    三。正在生成最终查询

    enter image description here

    =QUERY(A:C;"select * where (A="&G2&" or B = "&G2&" or C="&G2&")";0)
    

    Link to sheet

    这能满足你的需要吗?