【问题标题】:Categorizing Time in different time intervals以不同的时间间隔对时间进行分类
【发布时间】:2019-11-07 23:00:17
【问题描述】:

我有时间在 12:15:00 AM 格式的 Excel 列中。我已经编写了一个公式来按不同的时间间隔对这个时间进行分类(例如 12:00 AM - 2:00 AM)。

下面的公式工作得很好,它给了我返回值

=IF(AND(L3122>=TIMEVALUE("00:00:00"))*(L3122<=TIMEVALUE("02:00:59")),"12:00 AM - 2:00 AM","PROBLEM IN FORMULA")

但是,当我将 TimeValue 从“00:00:00”更改为“23:00:00”时,它不会返回正确的值

=IF(AND(L3122>=TIMEVALUE("23:00:01"))*(L3122<=TIMEVALUE("01:00:59")),"11:00 PM - 1:00 AM","PROBLEM IN FORMULA")

谁能帮忙

【问题讨论】:

  • 确实是的,但是这个例子中的实际时间是 12:15:00 AM,第二个公式也应该给我输出“11:00 PM - 1:00 AM”。我想我需要知道如何在公式中回到 23:00 小时,因为以 00:00 小时开始的公式似乎有效
  • 12:15am 是 00:15。 12:15:00 是下午 12:15
  • 顺便说一句,您并没有正确使用 AND 函数。它应该是 AND(arg1, arg2,...,argN) 如果所有 arg# 都是 TRUE 则 AND 返回 TRUE。现在你的 AND 只评估 *.您应该将公式修改为以下=IF(AND(L3122&gt;=TIMEVALUE("00:00:00"),L3122&lt;=TIMEVALUE("02:00:59")),"12:00 AM - 2:00 AM","PROBLEM IN FORMULA")

标签: excel excel-formula


【解决方案1】:

您遇到的问题是 12:15:00 AM 小于 23:00:01。我不确定您在这里的最终目标是什么,但是关于如何在 Excel 中存储日期和时间的小边栏可能会对您有所帮助。

日期和时间分别存储为整数和小数。该整数表示自 1900/01/01 以来的天数,该日期计为 1。这就是为什么当您在单元格中键入日期然后将格式设置为一般时,您会得到一个整数显示和一个相当大的整数最近的日期。当您将格式设置为显示日期格式时,整数仍然存在,但 excel 中的后台任务将其更改为显示为人们可以轻松识别的内容。

Excel 中的时间以小数形式存储,表示一天的分数或百分比。所以 24:00:00(不是官方的 excel 时间)真的是 1。中午 12 点实际上是 0.5。当包含 excel 时间的单元格的格式更改为一般格式时,您可以再次看到这一点。它会得出一些十进制值。

重要提示。如果将单元格格式设置为 GENERAL 时时间或日期没有更改,则表示日期或时间实际上是文本/字符串值。为了使用 Excel 内置的日期和时间函数,您需要将其转换为 Excel 日期和时间值。

当您查看超出午夜的时间范围时,有时将日期添加到时间可能会有所帮助。如果没有实际日期,但您有天数,则可以简单地将日期作为整数添加到时间中。即将第二天的中午记录为 1+0.5 = 1.5 或第二天早上 15 分钟为 1+timevalue("00:15:00")。这可能并不总是您想要采取的路线,实际上取决于您通过时间框架公式尝试实现的目标。

替代

您想检查时间是否大于 23:00:01 小于 01:00:00。您可以按如下方式修改公式:

=IF(OR(L3122>=TIMEVALUE("23:00:01"),L3122<=TIMEVALUE("01:00:59")),"11:00 PM - 1:00 AM","PROBLEM IN FORMULA")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-07
    • 1970-01-01
    • 2016-04-02
    • 1970-01-01
    • 2021-07-07
    • 2019-05-15
    相关资源
    最近更新 更多