具有或功能的Excel索引匹配

时间:2018-06-26 07:10:51

标签: excel excel-formula

我正在尝试创建一个包含三个条件的INDEX MATCH公式,而第三个条件是一个OR语句。这是用于薪资单应用程序的,我希望员工信息来自对员工静态数据的查找。

Screenshot of table

我目前有以下三个标准(为了便于阅读,我删除了INDEX部分)

={MATCH(1,($M$2= EMPLOYEES[NAME])*($N$2>=EMPLOYEES[Date])*(($N$2<=EMPLOYEES[EndDate])),0)}

如果前两个条件返回TRUE,但日期为空,则它将返回#N/A。理想情况下,我希望第三个条件是OR语句,以便日期

如图所示,当我将最后一个条件更改为OR语句时,它返回错误的结果。它使用OR语句忽略了第二个条件和第三个条件,因此有效地返回了与EMPLOYEES[NAME]相匹配的第一位员工的职位。

={MATCH(1,($M$2=EMPLOYEES[NAME])*($N$2>=EMPLOYEES[Date])*(OR(($N$2<=EMPLOYEES[EndDate]),(EMPLOYEES[EndDate]=0),0)))}

我在这里使用错误的语法吗?还是OR语句与MATCH函数不兼容?

任何帮助将不胜感激。

更新示例 Updated sheet example

由于输入日期大于C7中的日期,我希望P5返回£40.00的值。还是我误会了??

再次感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

要从下图中的样本表中获取“信息”列,请在P2中使用它,然后填写。

=INDEX(employees[info], AGGREGATE(15, 7, (ROW(employees[info])-ROW(employees[#Headers]))/((employees[name]=M2)*(employees[date]<=N2)*SIGN((employees[enddate]=TEXT(,))+(employees[enddate]>=N2))), 1))

(结构化表格引用总是有些罗word)

enter image description here