【问题标题】:Return a specific value 'Open' where days are between Monday - Friday and time is >=8:00 & <19:00 all other days and times should return 'OOH'返回一个特定值 \'Open\',其中天数介于周一至周五之间,时间 >=8:00 & <19:00 所有其他天数和时间应返回 \'OOH\'
【发布时间】:2022-10-14 05:00:43
【问题描述】:

返回特定值“开放”,其中日期介于周一至周五之间,时间 >=8:00 和 <19:00,所有其他日期和时间应返回“OOH”

开放 = >=8:00 & <19:00 & 周一至周五(含) OOH = >=19:01 & <7:59 & 周一至周五 & 周六或周日的任何时间

https://docs.google.com/spreadsheets/d/1tVhwBPBtT7a3RhjhVIi9UAqeCAIgBLYJKj5PchNdlyA/edit?usp=sharing

我目前独立尝试了这些公式,但我想要一个公式来完成这项工作:

=INDEX(counta(IF((HOUR(A2:A)>=8)*(HOUR(A2:A)<19), "OPEN", "OOH")))

以上返回我需要的所有数据,仅考虑时间,这显示在 Sheet1!B2:B

=query(countif(filter(text(Sheet1!A:A,"dddd"),len(Sheet1!A:A)),"Sunday"))

上面返回的星期日数可以与星期六一起从数据中删除,但是如果我这样做,数据会出现偏差,因为时间正在考虑目前所有的日子。

Sheet1!C2:C 应该为每个日期/时间显示 Open 或 OOH

【问题讨论】:

  • 请添加输入表和预期输出表为文本表(不是图像)问题。 Click here 轻松创建表格。添加这样的表格会大大增加您获得优雅答案的机会,因为复制/粘贴更容易.如果您共享电子表格,您的问题可能会关闭,因为此处的问题必须是 self containedYour email address can also be accessed by the public,如果您共享 Google 文件。
  • 更新了问题、公式和测试表,使其更有意义
  • 你甚至读过之前的评论吗?它特别说不要共享一张纸。

标签: if-statement google-sheets lambda google-sheets-formula nested-if


【解决方案1】:

尝试:

=INDEX(LAMBDA(x, IF(NOT(REGEXMATCH(TEXT(x, "ddd"), "Sat|Sun"))*
 (TIMEVALUE(x)>=("8:00"*1))*(TIMEVALUE(x)<("19:00"*1)), "Open", "OOH"))(A2:A))

【讨论】:

    猜你喜欢
    • 2021-05-03
    • 1970-01-01
    • 2020-08-31
    • 2021-11-09
    • 2018-06-03
    • 2017-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多