查找条件:
数据集:
这是我需要更新期间和年份的文件
另一个文件,其中包含策略开始和结束时间以及其所属年份的详细信息。不同的OEM的策略开始时间不同。根据损失的日期,我们需要找出损失的日期属于哪个时期。
尝试使用索引,匹配和查找功能。
=INDEX(PeriodLookup[[#All],[OEM]:[Policy Year]],MATCH([@[OEM Name** Updated]],PeriodLookup[[#All],[OEM]],0),MATCH(Attach_C[[#All],[Date of Loss]],PeriodLookup[[#All],[Effective]],1))
这是预期的结果:
答案 0 :(得分:0)
假设您具有以下命名范围:
OEM
表中的PeriodLookup
列; Effective
表中的PeriodLookup
列; Policy Period
表中的PeriodLookup
列。方法:1:在排序的数据中找到
Year
如果您的数据已按名称分组并按日期从小到大的顺序排列(这很重要),则可以使用 VLOOKUP 在已过滤中查找最接近的生效日期。使用 IF 函数,然后使用 YEAR 函数来确定有效日期的年份。这是要放入单元格D2
中以查找年份的公式:
{=IFERROR(YEAR(VLOOKUP(B2,IF(OEM=C2,Effective),1,1)),"NA")}
方法2 :在随机排序的数据中找到
Year
如果数据是随机排序的,则可以先使用 AGGREGATE 函数对已过滤的有效日期范围进行排序,然后再使用 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")}
知道年份后,您可以使用 INDEX + MATCH 返回另一个已过滤范围内的相应保单期。这是要放在单元格E2
中以查找期间的公式:
{=IFERROR(INDEX(Policy_Period,MATCH(D2,IF((OEM=C2),YEAR(Effective)),0)),"")}
提醒一下,所有使用的公式都是 Array Formula ,因此您需要按 输入公式后,在公式栏中输入 Ctrl + Shift + 输入,否则将不会返回正确的结果。然后,您可以将它们向下拖动以全面应用。
方法1
的屏幕截图方法2
的屏幕截图如果您有任何疑问,请告诉我。干杯:)