Excel для подсчета количества параллельных сеансов в зависимости от времени начала и окончания и имени ПК

Я знаю, что есть очень похожий поток для этого уже – Excel для подсчета количества одновременных сеансов в зависимости от времени начала и окончания, однако, насколько я стараюсь, я не могу реплицировать и манипулировать предложенным ответом для удовлетворения моих потребностей ,

Я также ищу, чтобы определить, когда идентификатор пользователя регистрируется в старой ERP-системе UNIX с нескольких компьютеров одновременно – возможно, они делят свои учетные данные с коллегой.

Примером данных является:

Record # Time In Time Out User PC Name 1 10:54 10:55 Al PC1 2 10:55 16:55 Dave PC42 3 09:11 09:29 Al PC1 4 11:02 18:03 Al PC1 5 16:19 17:38 George PC678 6 16:43 17:41 Al PC678 7 16:46 17:39 Dave PC42 8 17:25 17:49 Al PC42 

Значения «Время» и «Тайм-аут» на самом деле являются полной датой / временем, поэтому вам не нужно беспокоиться о сравнении событий, произошедших в разные дни. Я показываю только времена здесь, чтобы избежать предоставления слишком много информации . Вышеприведенные данные могут быть показаны графически как:

Гистограмма

К концу списка (и нижней части диаграммы) вы можете видеть, что пользователь Al одновременно получает доступ к системе с нескольких ПК, а также другие пользователи, которые также получают доступ к системе с одних и тех же ПК. Пользователь Al либо идет вокруг, либо входит в систему (маловероятно), либо другие пользователи могут войти в систему как Al для выполнения задач, которые их разрешения не позволяют им выполнять. В идеале я хотел бы иметь новый столбец, чтобы подчеркнуть, что в то время были параллельные сеансы из User ID Al на разных компьютерах. Запись № 4, 6 и 8 будет предупреждать – запись № 2 и 7 в порядке, когда тот же самый пользователь зарегистрировался на одном ПК.

One Solution collect form web for “Excel для подсчета количества параллельных сеансов в зависимости от времени начала и окончания и имени ПК”

Вы хотите идентифицировать любые строки, для которых имеется хотя бы одна строка с тем же идентификатором пользователя, для которого перекрываются диапазоны времени ввода / вывода. Это довольно просто (по крайней мере, как только вы знаете ответ). Первый шаг – выяснить, что интервал Start 1 / End 1 перекрывает интервал Start 2 / End 2 тогда и только тогда, когда Start 1 <End 2 и End 1 > Start 2 . (Это легко увидеть, если вы думаете об этом, проще, если вы его нарисуете.) Итак, для каждой строки мы хотим подсчитать строки в записи входа / выхода, для которой указано выше, и Идентификатор пользователя равен Идентификатор пользователя для этой строки. Это просто

 =COUNTIFS(A$2:A$9, "<"&B2, B$2:B$9, ">"&A2, C$2:C$9, "="&C2) 

Для вашего исходного макета данных (где Time In – столбец A , Time Out – столбец B , а пользователь – столбец C ). Это будет оцениваться как минимум 1, потому что каждая строка перекрывается. Вы хотите увидеть, какие строки перекрывают другие строки, поэтому мы делаем

 =IF(COUNTIFS(B$2:B$9, "<"&C2, C$2:C$9, ">"&B2, D$2:D$9, "="&D2) > 1, "Overlap", "") 

Как только я изменил Time In для записи № 7 (User Dave на ПК42) с 16:46 до 16:56, чтобы устранить перекрытие с записью №2 ( также User Dave на ПК42), которая, как я полагаю, была непреднамеренной, я получаю следующее Результаты:

таблица

Которые, я считаю, являются тем, что вы хотите.

Хорошо, если это возможно и допустимо для входа пользователя на один ПК для перекрытия периодов времени (как Дейв делает на ПК42 в записях 2 и 7), и вы не хотите, чтобы они считались перекрытиями, тогда нам нужно Изменить нашу формулу, чтобы считать только строки, где компьютер отличается:

 =IF(COUNTIFS(A$2:A$9, "<"&B2, B$2:B$9, ">"&A2, C$2:C$9, "="&C2, D$2:D$9, "<>"&D2) > 0, "Overlap", "") 

Обратите внимание, что нам нужно изменить тест с > 1 на > 0 потому что строки больше не перекрываются.

  • В Excel, как проверить, находится ли ячейка в списке значений (диапазон ячеек)
  • Вставка / отображение двухстраничного объекта Word в листе Excel
  • Excel VBA, чтобы превратить строку с переменным числом столбцов в строки фиксированной длины
  • Условное соответствие на основе даты и времени
  • Как вы поддерживаете Microsoft Excel на полной скорости, даже если у него нет фокуса окна?
  • Как найти и заменить имя листа в формуле?
  • Применить формулу VLOOKUP к нескольким листам
  • Excel vba: копировать строки, если данные соответствуют значениям в столбце на другом листе
  • Как вы снимаете защиту макросов VBA для книги с поддержкой макросов, если вы забыли пароль?
  • Как скопировать форматирование ячейки с помощью формулы?
  • DATEVALUE () дает разные значения для аналогичных данных
  • Давайте будем гением компьютера.