我如何将 google 电子表格中的时间戳与自定义函数或脚本进行比较?

How do i compare timestamps in google spreadsheets with a custom function or script?

我在 google 电子表格中有以下内容,但我无法弄清楚如何计算某些值并将它们添加到图表中。 (这只是一个样本,完整的数据集很长!):

4:27:52 DraconicPiggy   Connected
5:01:01 Myshiro         Connected
5:03:08 deathweek       Connected
5:06:08 deathweek       Disconnected
5:09:05 mallacke        Connected
5:11:29 deathweek       Connected
5:11:37 deathweek       Disconnected
5:19:20 MobBosss        Connected
5:23:13 MobBosss        Disconnected

理想情况下,我想做的是比较时间戳。但我不知道从哪里开始。它会有点像这样:当有 04:00:00 的时间戳,然后 06:00:00 的时间戳时,我希望将值 02:00:00 或 2 小时存储在某个地方,可能在另一个地方列,将两者进行比较。我不希望它在播放器离线时增加时间,因此忽略断开连接的时间戳的方法是理想的。如果可能的话,这也是一种分离玩家并为每个玩家创造新价值的方法。我不知道这是否可能,所以请原谅我。

尝试:

=ARRAYFORMULA(FILTER({B1:B, IFNA(VLOOKUP(
 B1:B&COUNTIFS(B1:B, B1:B, ROW(B1:B), "<="&ROW(B1:B), C1:C, "Connected"), FILTER({
 B1:B&COUNTIFS(B1:B, B1:B, ROW(B1:B), "<="&ROW(B1:B), C1:C, "Connected"), A1:A}, 
 C1:C="Disconnected"), 2, 0))-A1:A}, C1:C="Connected"))


如果您想要每个唯一玩家的总和,请使用:

=ARRAYFORMULA(QUERY(FILTER({B1:B, TIMEVALUE(IFNA(VLOOKUP(
 B1:B&COUNTIFS(B1:B, B1:B, ROW(B1:B), "<="&ROW(B1:B), C1:C, "Connected"), FILTER({
 B1:B&COUNTIFS(B1:B, B1:B, ROW(B1:B), "<="&ROW(B1:B), C1:C, "Connected"), A1:A}, 
 C1:C="Disconnected"), 2, 0))-A1:A)}, C1:C="Connected"), 
 "select Col1,sum(Col2) group by Col1 label sum(Col2)'' format sum(Col2)'[hh]:mm:ss'", 0))