Как вернуть первую найденную запись на основе нескольких критериев в Excel - PullRequest
0 голосов
/ 05 июня 2018

Я столкнулся с проблемой, что я хочу получить возвращаемое значение из другой таблицы на основе соответствия нескольким критериям.Однако сопоставленных записей может быть больше 1, поэтому в этой ситуации я просто хочу получить первую сопоставленную запись (например, первая запись, расположенная на A6, вторая сопоставленная запись, расположенная на A15, поэтому мне нужна A6);Вот пример данных:

enter image description here

Я хочу получить регион из таблицы 2, основываясь на следующих критериях:

  1. Таблица 1! Date.Truck = Таблица 2! Дата + Грузовик

  2. (Таблица 1! Фактическое время> Таблица 2! Время запуска) и (Таблица 1! Фактическое время <Таблица2! Время окончания) </p>

Но, например, у меня есть 3 строки, соответствующие вышеуказанным критериям, но в этой ситуации я просто хочу первое совпадение, вот (1), поэтому я получил НовыйДжерси.

Я пытаюсь написать формулу Array с функцией Small, но она не работает:

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

1 Ответ

0 голосов
/ 05 июня 2018

{=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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...