我遇到了一个问题,我希望根据匹配的多个条件从另一个表中获取返回值。但是匹配的记录可能超过1,所以在这种情况下我只想得到第一个匹配的记录;(例如,第一个记录位于A6,第二个记录位于A15,所以我需要A6);这是样本数据:
我想根据以下标准从table2获取区域:
表1!Date.Truck =表2!日期+卡车
(表1!实际时间>表2!开始时间) (表1!实际时间<表2!结束时间)
但是例如我有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)}
答案 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的数组。