我正在尝试在30分钟内完成一次时间减去,并且我遇到了减速带。因此,我的表格如下。
Table "Schedule"
Column 1 is day of the week (Mon-Sun) (formated as general, as this is plain text)
Column 2 is start time of the shift (formated as h:mm AM/PM)
Column 3 is end time of the shift (formated as h:mm AM/PM)
Column 4 is duration of the shift (start to end) (formated by formula (TEXT(col3-col2,"h:mm")) )
Column 5 is paid hours (if the total hours is over 6.5 then subtract 0.5 hours for an unpaid lunch) (formula IF(col5>"6:30",col5-"0:30",D5) )
问题是任何时候超过10个小时的分配开始到结束(第4列,持续时间达到10个小时),根本就不减去午餐。
所以... 开始时间9:00 AM,结束时间6:59 PM,总时数9:59,已付费时数9:29
但是... 开始时间9:00 AM,结束时间7:00 PM,总计小时10:00,已付费小时10:00
那显然不应该发生。我在Google上找不到任何内容,因此我认为这里的excel专家可能会提供一些建议。
谢谢!
答案 0 :(得分:1)
如果您的时间列是使用excel专用时间格式存储的,那么这应该很简单。混合数据类型可能是您遇到的问题。
首先,请确保您使用时间函数(即
)设置了时间列(第2列和第3列)=时间(小时,分钟,秒)
然后,您应该能够轻松地进行加减。
第4列:=第3列-第2列
...然后还使用time()函数减去30分钟:
第5列:= if(第4列>时间(6,30,0),第4列-time(0,30,0),第4列)
答案 1 :(得分:0)
Excel存储从0到1的时间值。因此24小时= 1、12小时= .5等。这意味着6.5小时= 0.270833333和.5小时= 0.020833333。结果,您只可以执行简单的if语句。
def resolve(result: Any): Unit = result match {
case Some(res) if res.isInstanceOf[List[_]] && res.asInstanceOf[List[_]].isEmpty => println("Empty List.") //Some(List())
case Some(res) if res.isInstanceOf[List[_]] && !res.asInstanceOf[List[_]].exists(p => p.isInstanceOf[Map[_, _]] && p.asInstanceOf[Map[_, _]].nonEmpty) => println("List is not empty but each item of List is empty Map.") //Some(List(Map(), Map()))
case Some(res) if res.isInstanceOf[List[_]] && res.asInstanceOf[List[_]].filter(p => p.isInstanceOf[Map[_, _]] && p.asInstanceOf[Map[_, _]].nonEmpty).map(_.asInstanceOf[Map[_,_]]).exists(p => {p.head match {case e if e._1.isInstanceOf[String] && e._2.isInstanceOf[Any] => true; case _ => false}}) => println("Correct data.") // Some(List(Map("key1"-> 1), Map("key2" -> 2)))
case None => println("none")
case other => println("other")
}
val a: Option[Any] = Some(List())
val b: Option[Any] = Some(List(Map(), Map()))
val c: Option[Any] = Some(List(Map("key1"-> 1), Map("key2" -> 2)))
val d: Option[Any] = None
val e: Option[Any] = Some("apple")
resolve(a) // match first case
resolve(b) // match second case
resolve(c) // match third case
resolve(d) // match fourth case
resolve(e) // match fifth case
要将其转换为时间格式,就是使用excel的时间格式选项。