Было бы полезно, если бы вы предоставили некоторые образцы данных. Я сделал предположение и изготовил некоторые данные, которые могут напоминать ваши, и, надеюсь, объяснение того, как работают формулы, позволит вам адаптировать их к вашей структуре данных.
Основная идея вашего вопроса - как найти времена в одном столбце, которые происходят в течение 15 минут, в другом столбце. Столбцы меток времени в приведенной ниже таблице фактически являются полными датами и временем, но отформатированы так, чтобы показывать только часы и минуты.
Формула массива в E3:
=IFERROR(INDEX(D$3:D$52,MATCH(1,(1*(24*60*ABS(B3-D$3:D$52)<=$H$3)),0)),"")
Это должно быть введено с CTRLShiftEnterи затем заполнено.
Вот как это работает: внутреннее выражение 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. Это означает, что в столбце B было 2 или более раз в течение 15 минут после времени. Функция MATCH () будет только найти первый, который не может быть правильным. Обходной путь заключается в том, чтобы уменьшить значение в H3, пока «Да» не исчезнет из данной строки. В этот момент время в столбце E - это самое близкое время к столбцу B.
Я надеюсь, что вы нашли это полезным.
Заметки:
Я сгенерировал случайное время для столбцов B и D, поэтому в столбце B есть несколько моментов, у которых нет времени совпадения (+/- 15 минут) в столбце D. Если у ваших данных нет несоответствий, вы можете удалить оболочки IFERROR.
Предположительно ваша база данных растет, поэтому вы можете использовать в формулах ссылки на целые столбцы (например, D: D).