Судя по вашему скриншоту, кажется, что ваши метки времени на самом деле являются текстовыми значениями. Текст по умолчанию обычно выровнен по левому краю, где числа выровнены по правому краю. Похоже, у вас есть пробел в конце вашей отметки времени, указывающий на то, что он, вероятно, выровнен по левому краю и, следовательно, текст. Вы можете проверить его с помощью следующей формулы, которая вернет TRUE, если его текст.
=ISTEXT(P2)
, где P2 - одна из ваших меток времени.
CONVERT TIMESTAMPS TO TIME
Есть множество способов сделать это. Некоторые будут зависеть от настроек системы. Посмотрите на следующие функции, поскольку каждая из них может быть полезна в зависимости от вашей системы. Первые два являются гарантией, последние два в большей степени зависят от настроек системы.
- ДАТА
- ВРЕМЯ
- ДАТА ЗНАЧЕНИЯ
- ВРЕМЯ
Здесь важно помнить, что в Excel даты являются целыми числами, считающими дни с 1900/01/01 года, когда эта дата равна 1. Время сохраняется в виде десятичной дроби и представляет собой дробь / процент от дня. 24:00:00 не является допустимым временем в Excel, хотя некоторые функции могут работать с ним.
Поэтому, чтобы преобразовать вашу метку времени в P2, я использовал следующую формулу для извлечения даты:
=DATE(LEFT(P2,4),MID(P2,FIND("-",P2)+1,2),MID(P2,FIND(" ",P2)-2,2))
По сути, он входит в текст и удаляет отдельные номера для года, месяца и дня.
Чтобы вывести время, я мог бы сделать ту же процедуру, но решил продемонстрировать TIMEVALUE метод, который немного более надежен, чем DATEVALUE, и не слишком сильно зависит от настроек системы. С помощью следующей формулы я удалил весь временной код (МИНУС "UT C"):
=TIMEVALUE(TRIM(MID(P2,FIND(" ",P2)+1,FIND("UTC",P2)-FIND(" ",P2)-1)))
Я также предположил, что вы не смешиваете UT C и не сопоставляете его с другими часовыми поясами. что означает, что это может быть проигнорировано. Теперь, чтобы получить DATE и TIME в одной ячейке, вам нужно просто сложить вместе две формулы:
=DATE(LEFT(P2,4),MID(P2,FIND("-",P2)+1,2),MID(P2,FIND(" ",P2)-2,2))+TIMEVALUE(TRIM(MID(P2,FIND(" ",P2)+1,FIND("UTC",P2)-FIND(" ",P2)-1)))
В конце примера я поместил эту формулу в Q2 и скопировал
DELTA TIME
Поскольку вы хотите разбить свои группы на основе разницы во времени между отдельными записями, я использовал вспомогательный столбец для хранения разницы во времени. В моем примере в конце я сохранил эту разницу в столбце S. Первая запись пуста, так как до нее нет времени. Я использовал следующую формулу в S3 и скопировал ее вниз.
=Q3-Q2
Я применил к ячейке пользовательское форматирование [h]: mm: ss, чтобы отобразить его, как показано.
FIND GROUP BREAK POINTS
В моем примере я использую вспомогательный столбец T для хранения флагов точек останова. Как минимум, у вас будет две точки останова. Ваша первая запись и ваша последняя запись. Для простоты я просто жестко закодировал свой первый флаг точки останова в T2 как 1. Заявив в T3, нужно сделать три проверки. Если какой-либо из них равен TRUE, необходимо добавить следующий флаг, увеличив значение на единицу. три проверки:
- Это последняя запись
- В следующий раз дельта больше 5 минут (означает конец группы)
- Это время дельта больше 5 минут (означает начало группы)
На основании этих трех проверок я поместил следующую формулу в T3 и скопировал ее вниз:
=IF(OR(S4="",S4>TIME(0,5,0),S3>TIME(0,5,0)),MAX($T$2:T2)+1,"")
Обратите внимание на $ на первая часть диапазона для функции MAX. Это заблокирует начало диапазона, в то время как формула копируется, а конец диапазона соответственно увеличивается.
Кроме того, строка после последнего ввода времени должна быть пустой. Если он не пустой и содержит заданное значение, замените S4 = "" на S4 = "заданное значение".
GENERATE TABLE
Существует несколько способов ссылки на флаги и потяните соответствующее время. Вот несколько формул, на которые вы можете посмотреть:
В этом примере я решил использовать LOOKUP, хотя считаю, что INDEX и МАТЧ более подходящие и надежные. Для начала мы хотим создать список номеров ODD и ДАЖЕ номеров. Они представляют начало и конец групп и соответствуют флагам, установленным в столбце T. Один из способов генерировать числа ODD и EVEN при копировании:
=ROW(A1)*2-1 (ODD)
=ROW(A1)*2 (EVEN)
Следующим шагом является поиск сгенерированных число в столбце T, а затем вытянуть соответствующую временную метку в столбце Q. Я сделал это с помощью следующей формулы в V2 и скопировал вниз.
=LOOKUP(ROW(A1)*2-1,T:T,Q:Q)
И в W2
=LOOKUP(ROW(A1)*2,T:T,Q:Q)