在Excel中索引并匹配多个条件

我有两个相同列的数据表。 第一个是填充实验数据:

`Treatment Species TimeofDay Temp Light X MB AM 25 25 2 MB PM 26 50 3 MB PM 27 150 4 MC AM 25 25 5 MC AM 26 150 6 MC PM 27 500 7 MC PM 28 800 9 AB AM 25 25 2 AB PM 26 50 3 AB PM 27 150 4 AC AM 25 25 5 AC AM 26 150 6 AC PM 27 500 7 AC PM 28 800 9 

在第二个表中,我想用第一个表中的值填充“X”列,以便在给定的行A)中所有的分类值完全匹配表1中的那些AND B)Temp和Light值是最接近的(但是将不准确)到表1中的匹配值。

例如,如果在表2中我有:

 Treatment Species TimeofDay Temp Light X MB PM 30 200 

我想要的function给我4在X列。 我很熟悉索引一列中的值,如果在另一列中find匹配的值,并且在列中find最接近的匹配值,但我无法将所有这些条件放在一起:

 =INDEX(Table1!F$2:F$20, MATCH(Table2!A$2,Table1!A$2:A$20,0)) MATCH(Table2!B$2,Table1!B$2:B$20,0)) MATCH(Table2!C$2,Table1!C$2:C$20,0)) MATCH(MIN(ABS(Table1!D$2:D$20-Table2!D$2)),ABS(Table1!D$2:D$20-Table2!D$2), 0)) MATCH(MIN(ABS(Table1!E$2:E$20-Table2!E$2)),ABS(Table1!E$2:E$20-Table2!E$2),0)) 

预先感谢您的帮助。

这个公式正在工作,放在F2:

 =INDEX(Table1!F:F,MATCH(MIN(IF(A2=Table1!A:A,IF(B2 = Table1!B:B,IF(C2 = Table1!C:C,ABS((Table1!D:D+Table1!E:E)-(D2+E2)))))),IF(A2=Table1!A:A,IF(B2 = Table1!B:B,IF(C2 = Table1!C:C,ABS((Table1!D:D+Table1!E:E)-(D2+E2))))),0)) 

这是一个数组公式,在退出编辑模式时必须用Ctrl-Shift-Enter确认。 然后复制下来。

至于你的其他评论的优先级,如果差异是一样的将是第一个。