Предположим, у вас есть следующие именованные диапазоны :
- OEM , являющийся столбцом
OEM
в таблице PeriodLookup
; - Действительный - столбец
Effective
в таблице PeriodLookup
; - Policy_Period - столбец
Policy Period
в таблице PeriodLookup
.
Подход 1: Найти Year
в отсортированных данных
Если ваши данные были сгруппированы по имени и отсортированы по дате от наименьшего доНаибольший (что важно), вы можете использовать VLOOKUP , чтобы найти ближайшую дату вступления в силу в диапазоне отфильтрованный , используя функцию IF , а затем использовать YEARФункция для определения года вступления в силу.Вот формула, которую нужно поместить в ячейку D2
, чтобы найти Год :
{=IFERROR(YEAR(VLOOKUP(B2,IF(OEM=C2,Effective),1,1)),"NA")}
Подход 2 : Найти Year
в случайном порядкеdata
Если ваши данные упорядочены случайным образом, вы можете использовать функцию AGGREGATE , чтобы сначала отсортировать отфильтрованный диапазон дат Effective , а затем использовать INDEX+ MATCH чтобы вернуть ближайшее совпадение из диапазона.Следующая формула массива вернет NA
, если совпадений нет.
{=IFERROR(YEAR(INDEX(AGGREGATE(15,6,IF(OEM=C2,Effective),ROW($A$1:INDEX($A:$A,ROWS(OEM)))),MATCH(B2,AGGREGATE(15,6,IF(OEM=C2,Effective),ROW($A$1:INDEX($A:$A,ROWS(OEM)))),1))),"NA")}
Как только Year известен, вы можете использовать INDEX + MATCH для возвратасоответствующий период политики в другом фильтрованном диапазоне.Вот формула, которую нужно поместить в ячейку E2
, чтобы найти Период :
{=IFERROR(INDEX(Policy_Period,MATCH(D2,IF((OEM=C2),YEAR(Effective)),0)),"")}
Просто напоминание, все используемые формулы Формула массива поэтому вам нужно нажать Ctrl + Shift + Введите в строке формулы после ввода формулы, в противном случае она не вернет правильный результат.Затем вы можете перетащить их вниз, чтобы применить к доске.
Снимок экрана для Подход 1
Скриншот для Подход 2
Дайте мне знать, если у вас есть какие-либо вопросы.Ура:)