我在 Excel 电子表格中有此信息.. 代表登录计算机所花费的时间。
logins time of day amount of time logged in (h:mm)
------ ----------- -------------------------------
login 03:21
logout 05:03 1:42
login 05:47
logout 06:26 0:39
我想把它变成这个..
time of day amount of time logged in (mins)
------------- -------------------------------
03:00 - 04:00 39
04:00 - 05:00 60
05:00 - 06:00 16
06:00 - 07:00 26
看起来很复杂,我被Excel公式困住了..如果有人知道一个公式那就太好了!
这是执行此操作的一种方法,不是很优雅,可能有人有更短的方法来执行此操作,也许这是我的尝试,仅适用于 MS365:
=LET(
_H2M, 1440,
_TFormat, "hh:mm",
_TSequence, DROP(REDUCE("",BYROW(WRAPROWS(B2:B5*_H2M,2),LAMBDA(_a,ARRAYTOTEXT(_a))),LAMBDA(_x,_y,
LET(_z,--TEXTSPLIT(_y,", "),_i,INDEX(_z,1),VSTACK(_x,SEQUENCE(INDEX(_z,2)-_i+1,,_i))))),1)/_H2M,
_Uniq, UNIQUE(HOUR(_TSequence))/24,
HSTACK(TEXT(_Uniq,_TFormat)&" - "&TEXT(_Uniq+1/24,_TFormat),
TOCOL(BYCOL(HOUR(LOOKUP(_TSequence,_Uniq))=TOROW(HOUR(_Uniq)),LAMBDA(_b,SUM(--_b))))))