У меня есть 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?
microsoft-excel
Илья Бибик
источник
источник
=VLOOKUP(A1,Sheet2!$A$1:$C$nnn,3)
будет работать простое .Ответы:
Как уже было сказано @Ron Rosenfeld, если диапазон в Sheet2 включает все даты в Sheet1 и нет совпадений, простой VLOOKUP должен работать. Однако, если ваш Date RAnge в Sheet2 не обязательно в порядке возрастания и с промежутками между ними и, возможно, перекрываются. Попробуйте это решение. Ограничение состоит в том, что он должен возвращать первый идентификатор диапазона для диапазона дат, в котором данные из листа 1 находятся в пределах диапазона.
В этом примере Sheet1 имеет даты в столбце A1: A10. Лист 2 имеет начальную дату в A1: A7 конечную дату в B1: B7 и идентификатор диапазона в C1: C7.
В ячейку B1 Sheet1 поместите следующую формулу массива.
После этого нажмите CTRL + SHIFT + ENTER, чтобы сделать формулу массива. Теперь вы увидите формулу в фигурных скобках в адресной строке. Теперь перетащите его до нужных строк. Теперь столбец B должен извлечь соответствующие идентификаторы диапазона из листа 2, где дата в столбце A попадает в диапазон.
Формула основана на проверке вложенных IF для возврата массива TRUE, FALSE на основе диапазона сопоставления и использования внешнего INDEX-MATCH для извлечения первой позиции совпадения 1 и возврата значения в этой позиции из столбца Range ID.
источник