【问题标题】:Excel Convert Now() to a Number to compare against another NumberExcel 将 Now() 转换为数字以与另一个数字进行比较
【发布时间】:2014-09-15 07:07:44
【问题描述】:

我正在尝试在没有任何宏的电子表格中使用一些逻辑。

首先,我有一个提供日期和时间的单元格。然后我使用该单元格上的自定义格式来显示“h”。所以只有小时数 1 到 24 出现在这个单元格中。 (例如,下午 3 点 20 分,我在牢房里得到 15 个)。 (单元格#A:1)

=now()

其次,我有一个单独的单列,有 24 行,编号为 1-24(单元格 # 的 B1:B24)

我有第三列的逻辑,即数字 23 和 0-6 为“夜班”;数字 7-14 为“白班”;数字 15-22 为“中班”)(单元格 #的 C1:C24)

=if($A$1=B1,"Night Shift","")

但是,第三列都显示为空白,即使是硬的也应该出现。我尝试使用 text(A1,"#") 更改 A1,但我得到了序列号。是否有一种简单的方法可以动态地在 C 列中显示值,以显示单元格 A1 中基于一天中的时间的变化。 D 列只是连接所有 24 个单元格,因为永远只有一个数字。 (单元格# D1)。谢谢你的帮助。

【问题讨论】:

    标签: excel excel-formula excel-2007 excel-2010


    【解决方案1】:

    您可以使用 LOOKUP 公式根据 A1 中的时间/日期值返回班次,例如

    =LOOKUP(HOUR(A1),{0,7,15,23;"Night","Day","Mid","Night"})&" Shift"

    【讨论】:

      【解决方案2】:

      更改包含日期和时间的单元格的格式不会影响单元格的实际内容。它仍将包含一个值,例如 43706.75(自 1900 年 1 月 1 日以来的天数和天数)。

      如果您想要确定 A1 中日期/时间的班次,您可以使用如下公式:

      =IF(AND(HOUR(A1)>=7,HOUR(A1)<15),"Day Shift",IF(AND(HOUR(A1)>=15,HOUR(A1)<23),"Mid Shift","Night Shift"))
      

      如果你需要为薪水应用不同的乘数,类似的逻辑。

      如果您需要其他内容,请更具体。

      【讨论】:

        【解决方案3】:

        通过在没有任何格式的情况下执行=now(),您可以获得日期和时间。然后在单元格 A2 中做

        =(A1-INT(A1))*24
        

        然后在单元格A3中做

        =INT(A2)
        

        这为您提供了从日期格式中提取的小时数,因此可以将 C 列中的数字与 B 列中的数字进行比较。谢谢。

        【讨论】:

          猜你喜欢
          • 2014-10-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-11-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多