我有一个带有时间戳的 Excel 文件,我想找出每天的第一次和最后一次,我的电子表格有数千行,但这里是一个摘录:
启动时间 | 关机时间 |
---|---|
2020年10月29日 15:59 | 2020年10月29日 16:04 |
2020年10月29日 16:05 | 2020年10月29日 16:08 |
2020年10月29日 16:10 | 2020年10月29日 16:11 |
2020年10月29日 16:38 | 2020年10月29日 16:45 |
2020年10月29日 16:45 | 2020年10月29日 16:54 |
2020年10月29日 16:54 | 2020年10月29日 17:30 |
2020年11月4日 08:34 | 2020年11月4日 11:26 |
2020.11.11 11:37 | 2020年11月11日 15:09 |
2020年11月19日 07:49 | 2020年11月19日 15:08 |
2021年03月17日 10:26 | 2021年03月17日 10:27 |
2021年03月17日 07:28 | 2021年03月17日 08:31 |
2021年03月17日 17:53 | 2021年03月17日 20:09 |
它必须以这种方式显示:
日期 | 启动时间 | 关机时间 |
---|---|---|
2020 年 10 月 29 日 | 15:59 | 17:30 |
2020 年 11 月 4 日 | 08:34 | 11:26 |
2020 年 11 月 11 日 | 11:37 | 15:09 |
2020 年 11 月 19 日 | 07:49 | 15:08 |
2021 年 3 月 17 日 | 07:28 | 20:09 |
谢谢你的帮助!
答案1
假设没有版本限制(如您的标签所示),
编辑:并假设启动-关闭时间不跨越午夜
您可以使用以下内容:
- 我
Name
有数据表Times
。
在某些单细胞中:
=LET(
t, TOCOL(Times),
dt, INT(t),
u, SORT(UNIQUE(dt)),
ma, BYROW(u, LAMBDA(arr, MAX(FILTER(t, arr = dt)))),
mi, BYROW(u, LAMBDA(arr, MIN(FILTER(t, arr = dt)))),
VSTACK(
{"Date", "Startup Time", "Shutdown Time"},
HSTACK(u, mi, ma)
)
)
并且结果将溢出到相邻的行/列。
TOCOL
将两列反转为一列。dt
仅返回日期,不返回时间。u
返回不同日期的排序列表ma
返回某个日期的最大时间(关机)。mi
返回日期的最短时间(启动)。- 由于 Excel 将日期/时间存储为数字,因此您需要适当地格式化输出列。
笔记:如果您的时间跨越午夜,您希望如何显示?