Excel 按不同时间间隔对时间进行分类

Excel 按不同时间间隔对时间进行分类,excel,excel-formula,Excel,Excel Formula,我在excel列中有时间,格式为上午12:15:00。我已经编写了一个公式,以不同的时间间隔对这段时间进行分类(例如,上午12:00-凌晨2:00) 下面的公式工作得非常好,它给出了返回值 =IF(AND(L3122>=TIMEVALUE("00:00:00"))*(L3122<=TIMEVALUE("02:00:59")),"12:00 AM - 2:00 AM","PROBLEM IN FORMULA") =IF(和(L3122>=TIMEVALUE(“00:00:00”)*(

我在excel列中有时间,格式为上午12:15:00。我已经编写了一个公式,以不同的时间间隔对这段时间进行分类(例如,上午12:00-凌晨2:00)

下面的公式工作得非常好,它给出了返回值

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

=IF(和(L3122>=TIMEVALUE(“00:00:00”)*(L3122=TIMEVALUE(“23:00:01”))*(L3122您遇到的问题是,上午12:15:00小于23:00:01。我不确定您的最终目标是什么,但一个关于日期和时间如何存储在Excel中的小边栏可能会帮助您解决这个问题

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

excel中的时间存储为十进制,表示分数或一天的百分比。因此24:00:00(不是excel的正式时间)实际上是1。中午12点实际上是0.5。当包含excel时间的单元格的格式更改为“常规”时,同样可以看到这一点。它将显示为一些十进制值

重要提示。如果将单元格格式设置为“常规”时,时间或日期没有更改,则表示日期或时间实际上是一个文本/字符串值。为了使用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")

=IF(或(L3122>=TIMEVALUE(“23:00:01”),l31222确实是,但本例中的实际时间是12:15:00 AM,第二个公式还应给出输出“11:00 PM-1:00 AM”。我想我需要知道如何在公式中返回到23:00小时,因为以00:00小时开始的公式似乎在运行12:15am是00:15。12:15:00是12:15pmBTW,您没有正确使用AND函数。它应该是AND(arg1,arg2,…,argN)如果所有arg#均为TRUE,则返回TRUE。此时,您的AND仅计算*.之前的部分。您应将公式修改为以下
=if(AND(L3122>=TIMEVALUE(“00:00:00”),L3122
=IF(OR(L3122>=TIMEVALUE("23:00:01"),L3122<=TIMEVALUE("01:00:59")),"11:00 PM - 1:00 AM","PROBLEM IN FORMULA")