Было бы полезно, если бы вы предоставили некоторые образцы данных. Я сделал предположение и изготовил некоторые данные, которые могут напоминать ваши, и, надеюсь, объяснение того, как работают формулы, позволит вам адаптировать их к вашей структуре данных.
Основная идея вашего вопроса - как найти времена в одном столбце, которые происходят в течение 15 минут, в другом столбце. Столбцы меток времени в приведенной ниже таблице фактически являются полными датами и временем, но отформатированы так, чтобы показывать только часы и минуты.
Формула массива в E3:
=IFERROR(INDEX(D$3:D$52,MATCH(1,(1*(24*60*ABS(B3-D$3:D$52)<=$H$3)),0)),"")
Он должен быть введен с помощью CTRL Shift Enter и затем заполнен.
Вот как это работает: Внутреннее выражение ABS(B3-D$3:D$52)
создает массив абсолютных разностей между временем в B3 и временем в столбце D. Результатом является число, в котором десятичная часть представляет дробное число дней между двумя датами. Умножение на 24 * 60 преобразует это в минуты, и неравенство проверяет, являются ли эти значения <= количество минут в H3 (первоначально 15, но об этом позже).
На этом этапе выражение (24*60*ABS(B3-D$3:D$52)<=$H$3)
создает массив значений True/False, соответствующих тому, находится ли B3 в течение 15 минут от времени в столбце D. Умножение на 1 преобразует значения True/False в 1 и 0.
Теперь MATCH() находит позицию первой 1 в массиве, а INDEX() выдает соответствующее время из столбца D. Наконец, IFERROR() выдает пробел (вместо # N/A), если не найдено подходящего времени в течение +/- 15 минут.
Эта формула в F3: =IFERROR(INDEX(C$3:C$50,MATCH(E3,D$3:D$50,0)),"")
просто ищет время столбца E в столбце D и возвращает соответствующую скорость из столбца C.
Наконец, эта формула в G3: =IF(SUMPRODUCT(1*(24*60*ABS(B3-D$3:D$52)<=$H$3))>1,"Yes","")
проверяет наличие ошибок. Он суммирует массив из 1 и 0 во внутреннем выражении и выдает "Да", если ответ> 1. Это означает, что в колонке В было 15 или более раз за 15 минут. Функция MATCH() найдет только первую, что может быть неверно. Обходной путь заключается в том, чтобы уменьшить значение в H3, пока "Да" не исчезнет из данной строки. В этот момент время в столбце E - это самое близкое время к столбцу B.
Я надеюсь, что вы нашли это полезным.
Заметки:
Я сгенерировал случайное время для столбцов B и D, поэтому в столбце B есть несколько моментов, у которых нет соответствующего времени (+/- 15 минут) в столбце D. Если в ваших данных нет несоответствий, вы можете удалить оболочки IFERROR.
Предположительно ваша база данных растет, поэтому вы можете использовать в формулах ссылки на целые столбцы (например, D:D).