2016-11-16 95 views
0

我试图创建一个电子表格,其中一个单元格将根据从记录时间粘贴的时间变成绿色,然后是黄色而不是红色。我用的是:时间条件格式

=HOUR(MOD(NOW(),1)-C2)<2 as Green 

=HOUR(MOD(NOW(),1)-D1)<4 as Yellow 

=HOUR(MOD(NOW(),1)-D1)>=4 as Red 

但是每一件事情会红,我使用条件格式和单元格的格式为HH:MM AM/PM

+0

为什么你有MOD ()?小时返回一个数字,不知道C2或D1是什么,所以很难说出什么错误 – Andreas

+0

D1是单元格,我改变了表单中的另外两个单元以便在这里改变它,但所有都在看D1 “开始时间”并且需要根据经过的时间量来改变颜色,如红色为“4小时已过” –

+0

D1是否包含时间?或者是否包含格式化日期/时间以仅显示时间部分?而且,如果它包含日期/时间,如果它是27个小时,你想使用什么颜色? (或者D1是否包含看起来像时间的文本字符串) – YowE3K

回答

0

把它分解成块,以确保您的函数的每个部分充当预期。我不完全确定你的目标是什么,但是我已经分解了你的每一个例子。使用这些信息,你应该能够看到输出不正确的地方并修正逻辑。让我知道它是否有帮助,但你不在那里。

你有什么:

FX:=NOW()

输出:11/16/2016 15:16

FX:=MOD(NOW(),1)

输出:1/0/1900 15:16

FX:=HOUR(MOD(NOW(),1))

输出:15

FX:=HOUR(MOD(NOW(),1)-D1)

输出:15 - HOUR(D1)(如数字)

15 - HOUR(D1)你想使用你的比较是多少?如果不是的话,你的逻辑就会出错。如果是这样,你的条件格式可能有错误。

HTH,让我们知道你想出什么。

杰克逊

编辑:

  • 在第二个公式线修正=MOD(NOW(),1)
+0

OP正在使用'MOD(NOW(),1)',而不是'MOD(NOW())'。 'MOD(NOW(),1)'将忽略日期/时间的日期部分,只留下时间部分。 – YowE3K

+0

这是一个错字,我已经纠正它说'= MOD(NOW(),1)'。这就是说,我不熟悉在日期中使用MOD功能。为什么不使用'= HOUR(NOW() - D1)'而不是'= HOUR(MOD(NOW(),1)-D1)'?何时(MOD(NOW(),1)'不等于'HOUR(NOW())'?) – Jackson

+1

我几乎在我离开我的评论的同时注意到您的编辑 - 但我留下了评论指出'MOD(NOW(),1)'只是剥离NOW()的日期部分,主要是因为你的评论它会返回一个无意义的值。 )',但有些人更喜欢明确地将其转换为时间,因为这就是他们的想法。我也不喜欢在时间范围内使用'HOUR'(我只是使用时间跨度* 24),但如果您想要排除经过的时间段(即节省MOD 24) – YowE3K

1

我可以复制你的问题的唯一方法是,如果D1包含日期/时间,而不只是一个时间。

假设您在该单元格中有一个日期/时间2016年11月17日6:50 AM(以HH:MM AM/PM格式显示为“06:50 AM”)并且现在说它现在是2016年11月17日7:59 AM。

您的计算将尝试计算0.28472222(1900年1月0日上午6:50的数值)减去42691.33264(2016年11月17日上午7:59的数值)的HOUR。 HOUR(-42691.04792)发出#NUM!错误(因为负值对于日期/时间计算无效),并会在条件格式中给您带来问题。

如果在细胞D1(即使它被格式化,只是显示时间部分),然后如果你想27小时经过的时间,你可以用下面的公式的日期/时间显示为红色:

=(NOW()-D1)*24<2 as Green 
=(NOW()-D1)*24<4 as Yellow 
=(NOW()-D1)*24>=4 as Red 

,或者如果你想27小时经过的时间要处理相同的3小时格式化为黄色使用下列公式:

=HOUR(NOW()-D1)<2 as Green 
=HOUR(NOW()-D1)<4 as Yellow 
=HOUR(NOW()-D1)>=4 as Red 
+0

谢谢你明白了。部门希望该表可以反映出即使24小时过去。 –