В твоей же таблице примерной прописал формулу:
=ЕСЛИ(filter('Специалисты'!D:D;'Специалисты'!A:A=B2)<>0;
filter('Специалисты'!B:B;
'Специалисты'!A:A=B2;
'Специалисты'!C:C<=A2;
'Специалисты'!D:D>=A2);
filter('Специалисты'!B:B;
'Специалисты'!A:A=B2;
'Специалисты'!C:C<=A2))
Формула работает в том порядке что ты описал. Надеюсь ты знаком с функцией фильтр. Не особо использую функцию впр, но возможно она была бы удобнее в том плане, что не нужно было бы вставлять формулу в каждую ячейку.
Опишу подробнее что делает формула:
ЕСЛИ(filter('Специалисты'!D:D;'Специалисты'!A:A=B2)<>0; //эта часть проверяет заполнена ли дата увольнения в диапазоне 'Специалисты'!D:D сверяя имя в диапазоне 'Специалисты'!A:A и имени нашего спеца в ячейке B2.
Если дата увольнения заполнена, значит сотрудник был уволен и нужно дополнительно сравнить дату сделки с датой увольнения, следующая часть сделает это:
filter('Специалисты'!B:B; //ищем имя ропа в диапазоне ('Специалисты'!B:B) исходя из условий ниже
'Специалисты'!A:A=B2; //находим строку в диапазоне фио ('Специалисты'!A:A) равную имени нашего спеца (B2)
'Специалисты'!C:C<=A2; //находим строку в диапазоне даты приёма ('Специалисты'!C:C) которая меньше даты нашей сделки (A2), соответственно если дата сделки будет меньше даты приёма, фильтр не выведет имя ропа.
'Специалисты'!D:D>=A2); //находим строку в диапазоне даты увольнения ('Специалисты'!d:d) которая больше даты нашей сделки (A2), соответственно если дата сделки будет больше даты увольнения, фильтр не выведет имя ропа.
Последняя часть формулы будет выполняться если дата увольнения по сотруднику не заполнена, раз дата увольнения у сотрудника не заполнена, значит он не уволен, и смысла нет проверять-сверять дату сделки и дату увольнения, поэтому повторяем прошлую часть формулы без проверки на дату увольнения:
filter('Специалисты'!B:B;
'Специалисты'!A:A=B2;
'Специалисты'!C:C<=A2))
По логике зачем нам нужна последняя частя формулы, но там возникает проблема без неё. Если не проверять заполнена дата увольнения или нет, то фильтр не сможет искать и сверять по дате увольнения, ведь в случае незаполненной даты увольнения, дата увольнения будет нулевой и соответственно меньше даты сделки, что логически быть не может.