当前使用计算出的SharePoint列(使用相同的Excel公式)
我有一个“登录”列,显示人员登录的日期/时间。我还有另一列“ Late Flag”,它们将显示是否晚。有时一天中会有多次签入/签出,因此我需要公式仅将它们标记为在特定时间段(上午9:35:00至上午10:15:00)之间。我尝试了几种不同的公式-但是它们不断产生意想不到的结果(就像它们都显示得很晚一样,如果不是这样的话)。
例如:
=IF(AND([SignIn]>"9:35:00 AM",[SignIn]<"10:15:00 AM"]),"Late","")
我有一个用于登录的日期/时间列,一个文本行用于后期标记
答案 0 :(得分:1)
您的数据很可能会转换为时间值,并显示为“ 9:36:00 AM”,但是当选择时,真正的单元格值将为“ 09:36:00”,这是因为excel已将其识别为时间并将其转换为一个。但是,在您的公式“ 9:35:00 AM”中将是一个字符串(文本值),该字符串永远不会与时间值匹配。为了解决这个问题,您可以在公式中使用TIMEVALUE(
来转换它,就像这样的时间:
=IF(AND(A1>TIMEVALUE("9:35:00"),A1<TIMEVALUE("10:15:00 AM")),"Late","Not")
此外,单元格中的时间实际上可能是文本,不能与任何开始的时间值进行比较。这使事情复杂化,但并没有太多,只需在其周围加上TIMEVALUE(
:
=IF(AND(TIMEVALUE(A1)>TIMEVALUE("9:35:00"),TIMEVALUE(A1)<TIMEVALUE("10:15:00 AM")),"Late","Not")
答案 1 :(得分:0)
使用下面的公式来实现。
=IF(AND(TIME(HOUR([SignIn]),MINUTE([SignIn]),SECOND([SignIn])) > TIME(9,35,0),TIME(HOUR([SignIn]),MINUTE([SignIn]),SECOND([SignIn]))<TIME(10,15,0)), "Late", "")
更多信息:TIME function