Как сопоставить дату с диапазоном дат в Excel?

0

У меня есть 2 листа в Excel.

Одно поле имеет поля даты.

например A-1 Date1

2-й лист у меня есть диапазоны дат с идентификаторами.

A-1 StartDate A2-EndDate A3-идентификатор диапазона дат

Мне нужно создать новое поле на первом листе, который будет содержать Range ID даты1.

Например, на втором листе у меня есть диапазон A1-1 мая 2017 года A2-May 30 2017 года A3-7

На первом листе A1-3 мая 2017 года. Поэтому я хочу, чтобы на моем первом листе была новая колонка со значением 7.

Как я могу сделать это в Excel?

Илья Бибик
источник
Существует ли вероятность того, что Дата в столбце А в первом Листе 1 действительно появляется или попадает в несколько строк / диапазонов в Листе 2 и, таким образом, имеет несколько идентификаторов диапазонов в Листе 2? Если да, то какое значение оно должно вернуть?
Патким
1
Это зависит от того, как настроен Sheet2. Если диапазоны дат включают в себя все даты на Листе 1, и перекрытия отсутствуют, а диапазоны дат расположены в порядке возрастания, тогда =VLOOKUP(A1,Sheet2!$A$1:$C$nnn,3)будет работать простое .
Рон Розенфельд

Ответы:

2

Как уже было сказано @Ron Rosenfeld, если диапазон в Sheet2 включает все даты в Sheet1 и нет совпадений, простой VLOOKUP должен работать. Однако, если ваш Date RAnge в Sheet2 не обязательно в порядке возрастания и с промежутками между ними и, возможно, перекрываются. Попробуйте это решение. Ограничение состоит в том, что он должен возвращать первый идентификатор диапазона для диапазона дат, в котором данные из листа 1 находятся в пределах диапазона.

В этом примере Sheet1 имеет даты в столбце A1: A10. Лист 2 имеет начальную дату в A1: A7 конечную дату в B1: B7 и идентификатор диапазона в C1: C7.

В ячейку B1 Sheet1 поместите следующую формулу массива.

=IF(ISERROR(INDEX(Sheet2!$C$1:$C$7,MATCH(1,IF(A1>=Sheet2!$A$1:$A$7,IF(A1<=Sheet2!$B$1:$B$7,1,0)),0))),"Not Found",INDEX(Sheet2!$C$1:$C$7,MATCH(1,IF(A1>=Sheet2!$A$1:$A$7,IF(A1<=Sheet2!$B$1:$B$7,1,0)),0)))

После этого нажмите CTRL + SHIFT + ENTER, чтобы сделать формулу массива. Теперь вы увидите формулу в фигурных скобках в адресной строке. Теперь перетащите его до нужных строк. Теперь столбец B должен извлечь соответствующие идентификаторы диапазона из листа 2, где дата в столбце A попадает в диапазон.

Формула основана на проверке вложенных IF для возврата массива TRUE, FALSE на основе диапазона сопоставления и использования внешнего INDEX-MATCH для извлечения первой позиции совпадения 1 и возврата значения в этой позиции из столбца Range ID.

введите описание изображения здесь

введите описание изображения здесь

patkim
источник