1

Я работаю над проектом и хочу вычислить в Excel, будет ли диапазон дат конфликтовать для конкретного пользователя.

Например, у "employee" Bill Smith (ячейка B2) есть проект с 10/17/2018 (ячейка C2) до 10/24/2018 (ячейка D2). Если я введу новый проект для пользователя с 10/18/2018 (ячейка C3) до 10/22/2018 (ячейка D3), я хочу, чтобы он пометил конфликт.

Как это можно сделать, чтобы сопоставить имя из столбца B, чтобы показать конфликт, выделенный в столбце E?

2 ответа2

1

Вы можете найти более простую формулу, но вот она. Сначала отсортируйте строки по сотруднику и дате начала. Затем используйте формулу, чтобы проверить, меньше ли дата начала, чем дата окончания в строках выше (для того же сотрудника).

Если n - это число строк выше (для одного и того же сотрудника), тогда формула будет =IF(n=0, False, C6<MAX(OFFSET(D6, -n, 0, n, 1))) . Способом вычисления n является COUNTIF(OFFSET(B6, -ROW(B6)+1, 0, ROW(B6)-1, 1), B6) .

Вся формула в ячейке E6 имеет вид =IF(COUNTIF(OFFSET(B6, -ROW(B6)+1, 0, ROW(B6)-1, 1), B6)=0, FALSE, C6<MAX(OFFSET(D6, -COUNTIF(OFFSET(B6, -ROW(B6)+1, 0, ROW(B6)-1, 1), B6), 0, COUNTIF(OFFSET(B6, -ROW(B6)+1, 0, ROW(B6)-1, 1), B6), 1)))

0

Мое решение имеет другой подход. Формула проверяет конфликт в датах, если имена сотрудников дублируются.

Конфликты формул проверяются в датах для Adam в строке 38 & 39 но не для Adam & Sam в строке 39 & 40 , а также для Sam & Harry .

Как это устроено:

Запишите эту формулу в ячейку D39 и заполните.

=IF(AND(A39=A38),IF(OR(B39>=B38,C39<=C38),"Yes","No"),"Diff. Name")
  • Первая часть формулы проверяет, являются ли имена похожими или нет, если да, то проверяет конфликт в датах.
  • Для новых имен формула возвращает заголовок Diff. Name & игнорирует проверку конфликта даты.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .