Excel - 将登录时间划分为整齐的时间

问题描述 投票:0回答:1

我在 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公式困住了..如果有人知道一个公式那就太好了!

excel excel-formula
1个回答
0
投票

这是执行此操作的一种方法,不是很优雅,可能有人有更短的方法来执行此操作,也许这是我的尝试,仅适用于 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))))))
© www.soinside.com 2019 - 2024. All rights reserved.