Excel立即转换()到一个数字与另一个数字进行比较

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

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

=now() 

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

我有第三列逻辑,其中23号和0-6号为“夜class”,7-14号为“白class”,15-22号为“Mid Shift”)(小区号C1 :C24)

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

然而,第三列都显得空白,即使是强硬的人也应该出现。 我试着改变A1使用文本(A1,“#”),但我得到的序列号。 有没有一种简单的方法来dynamic地在C列中显示一个值,显示单元格A1中一天中的哪个小时。 D列简单连接所有24个单元,因为只有一个数字。 (小区#D1)。 谢谢你的帮助。

您可以使用LOOKUP公式来返回基于A1中的时间/date值的class次,例如

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

更改包含date和时间的单元格的格式对单元格的实际内容没有任何影响。 它将仍然包含一个值,例如43706.75(从1/1/1900起的天数和小数部分)。

如果你想要做的是确定在A1的date/时间的转变,你可以使用一个公式,如:

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

而类似的逻辑,如果你需要应用不同的乘数工资。

如果你需要别的东西,更具体。

通过做=now()没有任何格式,你得到date和时间。 然后在单元格A2中

 =(A1-INT(A1))*24 

然后在A3单元格中执行

 =INT(A2) 

这给你从一个date格式提取的小时数,所以可以在列C与列B中的数字进行比较。谢谢。