Excel 中的索引和匹配多个条件

Index and Match Multiple Criteria in Excel

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

`Treatment  Species TimeofDay   Temp    Light   X
     M        B       AM         25      25     2
     M        B       PM         26      50     3
     M        B       PM         27      150    4
     M        C       AM         25      25     5
     M        C       AM         26      150    6
     M        C       PM         27      500    7
     M        C       PM         28      800    9
     A        B       AM         25       25    2
     A        B       PM         26       50    3
     A        B       PM         27       150   4
     A        C       AM         25       25    5
     A        C       AM         26      150    6
     A        C       PM         27      500    7
     A        C       PM         28      800    9

在第二个 table 中,我想用第一个 table 中的值填充 "X" 列,以便在给定的行 A) 中,所有分类值都完全匹配来自 table 的那些 AND B) 温度和光照值最接近(但不完全)匹配 table 1.

中的值

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

Treatment  Species  TimeofDay  Temp  Light  X
    M         B        PM       30    200

我希望函数在 X 列中给出 4。 我熟悉在给定另一列中的匹配项的情况下为一列中的值编制索引,以及在一列中找到最接近的匹配值,但我无法将所有这些条件放在一起:

=INDEX(Table1!F:F,
MATCH(Table2!A,Table1!A:A,0))
MATCH(Table2!B,Table1!B:B,0))
MATCH(Table2!C,Table1!C:C,0))
MATCH(MIN(ABS(Table1!D:D-Table2!D)),ABS(Table1!D:D-Table2!D), 0))
MATCH(MIN(ABS(Table1!E:E-Table2!E)),ABS(Table1!E:E-Table2!E),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确认。然后抄下来。

关于你的其他评论,如果差异相同,则优先。