如何解决如何在excel中的一个单元格中显示开始和结束时间?
我有一个工作时间表,将员工轮班列为工期,即单个单元格内的 11-7、1030-6 等。如果这些是 6、1130 等单次,我可以轻松转换为时间格式,但是如何让这些单元格以时间格式显示班次开始和结束时间? 目标是让 excel 使用这些时间根据预定的班次对另一张工作表上的相应员工进行排序和过滤。有没有办法显示“hh:mm-hh:mm”来表示一个单元格的偏移?
解决方法
这可以使用公式实现,但您必须具体说明格式并测试条目。
要理解的公式的主要部分是如何分隔“-”两侧的时间“值”。 此解决方案假定单元格中始终存在破折号(“-”)。 对于班次条目“2-11”(假设这是在单元格 A2 中) ,您可以使用 FIND
、LEFT
和 RIGHT
的组合使用这些公式分隔“-”两侧的所有字符
Cell A2 contains "2-11"
LEFT(A2,FIND("-",A2)-1 returns "2"
RIGHT(A2,LEN(A2)-FIND("-",A2)) returns "11"
重要提示:这些公式现在变成了“时间值”,并将在更大的公式中重复。
从现在开始,通过在字符串中的适当位置添加冒号“:”以创建 Excel 时间值,将字符串重新格式化为时间格式字符串。
Helper 列用于干净地获取所有值,如下例所示:
B2 中的公式:=IF(LEN(LEFT(A2,A2)-1))<=2,TIMEVALUE(LEFT(A2,A2)-1)&":00"),A2)-3)&":"&RIGHT(LEFT(A2,A2)-1),2)))
C2 中的公式:
=TIMEVALUE(IF(LEN(RIGHT(A2,A2)))<=2,RIGHT(A2,A2))&":00",LEFT(RIGHT(A2,A2)),LEN(RIGHT(A2,A2)))-2)&":"&RIGHT(RIGHT(A2,2)))
D2 中的公式:=IF(C2>B2,C2,C2+TIME(12,0))
E2 中的公式:=(D2-B2)*24
F2 中的公式:=TEXT(B2,"hh:mm")&" - "&TEXT(D2,"hh:mm")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。