excel - 如何在 Excel 中处理午夜的日期
问题描述
我有以下结构的数据:
日期 | 时间 |
---|---|
01-01-2021 | 0800-1600 |
01-01-2021 | 2000-0400 |
每条线都是一名员工和他们的工作时间。这意味着第一线员工 #1 遇到 0800 并在同一天于 1600 离开。然而,员工 #2 遇到 2000 并在第二天离开 0400。
我的问题是我正在工作显示没有。在特定时间在场的员工人数。第一个员工很容易做到,因为会议和离开是同一天。然而,第二个问题有点多,因为在我当前的设置中,员工在同一天工作。
数据会自动更新到 excel 中,所以我不想进行任何手动调整。为了正确显示它,从我的角度来看,我需要在第二天的小时数上加上一行。我可以用 VBA 做这个,但我不确定这是否是最简单和最好的方法。
那么关于如何处理这样的问题有什么想法吗?
谢谢!
解决方案
创建一个用户定义函数 (UDF) 以从 col A 和 B 中的值返回 cols C 和 D 中的日期时间。将 UDF 代码放入模块中。例如,公式 inC2
将是=date_time($A2,$B2,0)
和 inD2
=date_time($A2,$B2,1)
Option Explicit
' i=0 for start , i=1 for end
Function date_time(dt As Date, hrs As String, i As Integer) As Date
Dim ar
ar = Split(hrs, "-")
If ar(1) < ar(0) Then ar(1) = ar(1) + 2400 ' next day
' add minutes
date_time = DateAdd("n", Left(ar(i), 2) * 60 + Right(ar(i), 2), dt)
End Function
推荐阅读
- functional-programming - 如何将整数与方案中的函数相乘?
- php - 如何给我的 WordPress 菜单页面自定义链接
- python - 正则表达式删除特定模式内的所有内容,包括模式本身。去除乳胶
- java - 使用字符 % 格式化字符串
- python-3.x - 为什么这只是在运行一个函数后停止,为什么这个变量不上去?
- php - Laravel 雄辩:只检索关系有条目的条目(加入)
- node.js - Socket.io 可以从远程客户端连接,但不能从 localhost / 127.0.0.1
- python - 当 anaconda 存储库被阻止时,使用 Miniconda 安装 numpy
- python - 如何在 Plotly Dash 上获取动画滑块的当前值?
- linux - 获取管道 cmd 的输出