如何根据Excel

时间:2018-06-05 18:42:29

标签: excel excel-formula

我遇到了一个问题,我希望根据匹配的多个条件从另一个表中获取返回值。但是匹配的记录可能超过1,所以在这种情况下我只想得到第一个匹配的记录;(例如,第一个记录位于A6,第二个记录位于A15,所以我需要A6);这是样本数据:

enter image description here

我想根据以下标准从table2获取区域:

  1. 表1!Date.Truck =表2!日期+卡车

  2. (表1!实际时间>表2!开始时间) (表1!实际时间<表2!结束时间)

  3. 但是例如我有3行符合上述标准,但在这种情况下,我只想要第一场比赛,这里是(1),所以我得到新泽西。

    我正在尝试使用Small函数编写一个Array公式,但它不起作用:

    ={SMALL(IF((A2='Table 2'!$A:$A)--(D2>'Table 2'!$C:$C)--(D2<'Table 2'!$D:$D),'Table 2'!$B:$B),1)}
    

1 个答案:

答案 0 :(得分:1)

{=INDEX('Table 2'!$B:$B, MIN(IF(('Table 2'!$A:$A=A2)*('Table 2'!$C:$C<=C2)*('Table 2'!$D:$D>=C2)=1, ROW('Table 2'!$B:$B))), 1)}

我们的想法是MIN(IF(('Table 2'!$A:$A=A2)*('Table 2'!$C:$C<=C2)*('Table 2'!$D:$D>=C2)=1, ROW('Table 2'!$B:$B)))为您提供符合条件的最小行。

('Table 2'!$A:$A=A2)*('Table 2'!$C:$C<=C2)*('Table 2'!$D:$D>=C2)为您提供0和1的数组。