Как сравнить отметки времени в таблицах Google с пользовательской функцией или скриптом? - PullRequest
1 голос
/ 04 августа 2020

У меня есть следующие таблицы в таблицах 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

В идеале я бы хотел сравнить временные метки. Но я понятия не имею, с чего начать. Это будет go примерно так: когда есть отметка времени для 04:00:00, затем отметка времени для 06:00:00, я хочу, чтобы значение 02:00:00 или 2 часа где-то сохранялись, возможно в другом столбце, сравнивая 2 вместе. Я не хочу, чтобы он добавлял время, когда плеер отключен, поэтому способ игнорировать временные метки при отключении был бы идеальным. Также способ разделить игроков и создать новые значения для каждого игрока, если это возможно. Я не знаю, возможно ли это, так что простите меня, если это не так.

1 Ответ

1 голос
/ 05 августа 2020

попробуйте:

=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"))

enter image description here


if you want sum per unique player use:

=ARRAYFORMULA(QUERY(FILTER({B1:B, TIMEVALUE(IFNA(VLOOKUP(
 B1:B&COUNTIFS(B1:B, B1:B, ROW(B1:B), "

введите описание изображения здесь

...