我试图创建一个电子表格,根据记录时间粘贴的时间,单元格将变为绿色,然后变为黄色比红色。我正在使用:
=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 :(得分:1)
我可以复制问题的唯一方法是D1包含日期/时间,而不仅仅是时间。
假设您在2016年11月17日上午6:50(以HH:MM AM/PM
格式显示为“06:50 AM”)的单元格中显示日期/时间,并说它现在是2016年11月17日上午7:59
您的计算将尝试计算HOUR为0.28472222(1900年1月0日上午6:50的数值)减去42691.33264(2016年11月17日上午7:59的数值)。 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
答案 1 :(得分:0)
将其分解成碎片以确保您的功能的每个部分都按预期运行。我不完全确定你的目标是什么,但我已经分解了你的每一个例子。使用此信息,您应该能够看到输出变得不正确并修复逻辑。让我知道它是否有帮助,但你不在那里。
你有什么:
fx: %macro methours;
%if hours lt 2 %then footnote 'does not meet requirement ';
%else
footnote ' is enough study hours ';
%mend methours;
输出:=NOW()
fx:11/16/2016 15:16
输出:=MOD(NOW(),1)
fx:1/0/1900 15:16
输出:=HOUR(MOD(NOW(),1))
fx:15
输出:=HOUR(MOD(NOW(),1)-D1)
(作为数字)
15 - HOUR(D1)
您希望在比较中使用的数字是多少?如果没有,你的逻辑就会出错。如果是,您的条件格式可能有错误。
杰克逊
编辑:
15 - HOUR(D1)