查找包含范围之间的多个search条件的logging

我正在尝试使用多个search条件来查找logging。 我想将员工的angular色和年份和最大年份之间的年数匹配到下面的“标题”。 如果可能,我想坚持使用函数。

Title Role Min Year Max Year Senior Sales Sales 6 99 Middle Sales Sales 2 5 Junior Sales Sales 0 1 Sr. Counsel Counsel 0 99 Jr Counsel Counsel 0 99 Senior Staff Staff 6 99 Middle Staff Staff 2 5 Junior Staff Staff 0 1 Other Other 0 99 

例如,比尔销售一年,应该有标题初级销售。 乔,工作10年,应该是高级职员。

 ID Last Name Title Seniority Expected Result 1 Nye Bill Sales 1 Junior Sales 2 Smith Joe Staff 10 Senior Staff 

这个公式返回正确的结果,但只有当它是“高级”标题,而不是其他(#REF)。

 =INDEX($A$2:$A$10,MATCH($D20,$B$2:$B$10,0),MATCH($E20,$D$2:$D$10,-1)) 

以下是返回angular色第一个实例的公式:

 =INDEX(A2:A10,AND(MATCH(D20,B2:B10,0),SUMPRODUCT(--(E20<=D2:D10),--(E20>=C2:C10)))) 

它返回“高级销售”而不是“初级销售”。

谢谢。

这是一个非CSE数组公式:

 =INDEX($A$2:$A$10,MAX(INDEX(($B$2:$B$10=J2)*($C$2:$C$10<=K2)*($D$2:$D$10>=K2)*(ROW($A$2:$A$10)-ROW($A$2)+1),))) 

在这里输入图像说明

使用数组公式(按Ctrl + Shift + Enterinput ),你可以使用这个

 =INDEX($A$2:$A$10,MATCH(1,(E20>$C$2:$C$10)*(E20<=$D$2:$D$10)*($B$2:$B$10=D20),0)) 

比较语句返回一个0(假)和1(真)的数组。 当所有三个都为真时,它们一起乘以返回匹配函数中匹配的1。

只要你保持你的查找表安排像这样,这个代码为我工作:

 =INDEX($A$2:$A$10,MATCH($D20,$B$2:$B$10,0) + MATCH($E20,$D$2:$D$10,-1) - 1 )