Формула Excel, чтобы сказать, если диапазон дат доступен / недоступен из списка диапазонов дат? - PullRequest
0 голосов
/ 26 декабря 2018

Я создаю систему бронирования в Excel, и мне нужна формула, чтобы сообщить мне, доступен ли данный диапазон дат / недоступен из списка диапазонов дат (бронирований).

Есть отличная статья о Chandoo.org здесь о тестировании, чтобы увидеть, перекрываются ли два диапазона дат.Однако приведенная формула работает только при сравнении одного набора диапазонов дат с другим отдельным диапазоном дат.Принимая во внимание, что я требую это для работы / поиска во множестве диапазонов дат.

image

=IF(OR(y<a,b<x),"Do not overlap","Overlap")

Возьмите, например, бронирование ниже:

*Bookings*
Start Date  End Date
25/01/2019  26/01/2019
29/01/2019  31/01/2019
01/02/2019  03/02/2019

Исходя из вышеизложенного, доступны следующие даты:

21/01/2019  24/01/2019
27/01/2019  28/01/2019

Если бы я кормил формулу одним из этих двух наборов дат, я ожидал бы, что результат будет читать "Доступно".

Впоследствии следующие даты будут недоступны:

23/01/2019  26/01/2019
30/01/2019  02/02/2019

... и формула должна выглядеть как "Недоступно".

Насколько я знаю, логикавокруг формулы из Chandoo.org не работает при преобразовании в массив критериев поиска / сравнения.

Мне показалось, что я подошел ближе, используя массив из двух отдельных операторов =COUNTIF() для каждого сравнения y<a илиb<x, однако результаты не всегда были правильными.

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

Любая помощь или руководство высоко ценится.Спасибо, мистер Дж.

1 Ответ

0 голосов
/ 26 декабря 2018

Я надеюсь, что это решение поможет:

Предполагая, что ваши фактические бронирования присутствуют в столбцах A и B (я скопировал ваши даты в ячейки A3: B5), а ваши четыре потенциальных заказа находятся в столбцах D & E (ячейки D1:E4), вы можете вставить следующую формулу для первой строки:

= IF (COUNTIFS ($ A $ 3: $ A $ 5, "<=" & E1, $ B $ 3: $ B $ 5, "> =)"& E1) + COUNTIFS ($ A $ 3: $ A $ 5," <= "& D1, $ B $ 3: $ B $ 5,"> = "& D1)," Наложение "," Не перекрывать ")

Перетащите и скопируйте его в оставшиеся 3 строки.Вы должны увидеть «Не перекрывать» для первых двух дат и «Перекрыть» для оставшихся двух бронирований.Дайте мне знать, если это то, что вы искали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...