excel - 从日志文件计算时间跟踪
问题描述
我有一个日志文件,用于存储用户会话的登录和注销。我的用户在一天内多次登录和注销。现在我想计算我的用户每天或每周在线的时间。
这是我的日志文件的示例:
DATE & Time Status
1/25/2021 22:45 LOGIN
1/25/2021 7:49 LOGOUT
1/25/2021 4:16 LOGIN
1/25/2021 3:16 LOGOUT
1/24/2021 21:33 LOGIN
1/24/2021 7:38 LOGOUT
1/24/2021 5:37 LOGIN
1/24/2021 4:47 LOGOUT
1/24/2021 1:28 LOGIN
1/24/2021 1:23 LOGIN
1/23/2021 21:58 LOGIN
1/23/2021 13:09 LOGOUT
1/23/2021 11:41 LOGIN
1/23/2021 8:54 LOGOUT
1/23/2021 8:48 LOGIN
1/23/2021 5:54 LOGOUT
1/23/2021 1:06 LOGIN
1/22/2021 21:54 LOGIN
1/22/2021 21:53 LOGOUT
1/22/2021 21:46 LOGIN
可以用excel计算在线时间吗?
最好的祝福。
我附上了我的示例文件(我将其转换为 xlsx)
解决方案
如果数据满足某些先决条件,您可以使用以下公式:
- 登录/注销必须成对
- 在时间方面登录必须在注销之前
- 登录/注销必须在一天内
我编辑了您的示例数据以获得正确的结果。
要获取日期列表,请使用数组公式:
=IFERROR(INDEX(INT($A$2:$A$21),MATCH(1,--(COUNTIF($D$1:D1,INT($A$2:$A$21))=0),0)),"")
按ctrl
+ shift
+确认编辑后的数组公式enter
计算小时数使用:
=SUMPRODUCT($A$2:$A$21*(D2=INT($A$2:$A$21))*("logout"=$B$2:$B$21)-$A$2:$A$21*(D2=INT($A$2:$A$21))*("login"=$B$2:$B$21))
推荐阅读
- automated-tests - 如何在 Cucumber 报告中添加时间戳
- smartcard - ASN.1 数据对象中变量前面方括号内的内容是什么意思?
- soap - 如何在肥皂头中发送 NTLM 身份验证?
- reactjs - 如何在 React 中禁用 no-extend-native 警告?
- python - 找不到 wxPython 模块
- html - CSS - 选择标签的子标签,直到下一个相同类型的标签
- c# - C# Windows 窗体:不支持 SqlConnection 关键字,连接超时
- actions-on-google - “如何在谷歌助手操作中通过用户 ID 获取用户名?”
- css - 无法在css中居中图像
- python - 关于Python递归函数课程的问题