Я припускаю, що на екрані екрана є ваша таблиця даних, а дві спадні програми для визначення критеріїв - деінде.
Ця формула, заповнена B17 на відео нижче, перераховує Системи, що відповідають критеріям:
=IFERROR(INDEX(A$2:A$13,AGGREGATE(15,6,ROW(A$1:A$12)/(INDEX(B$2:H$13,,MATCH(C$18,B$1:H$1))=C$17),ROW()-16)),"")
Це формула масиву, і її потрібно вводити за допомогою CTRLShiftEnter.

Я сподіваюся, що це допомагає, і удачі.
______________________________________________________________________________
Як це працює: Внутрішній INDEX()повертає цілий стовпчик таблиці даних, вибраний із спадним меню "Док" C$18. Тоді рівність =C$17повертає масив TRUE/FALSEзначень з TRUEу кожній позиції, де комірка містить вибір у C$17спадному меню.
ROW(A$1:A$12)дає масив послідовних чисел {1;2;3;...12}, і це ділиться на TRUE/FALSEмасив.
В арифметичних операціях з участю логічних значень, TRUEі FALSEперетворюються в 1 і 0. Таким чином, поділ надає масив #DIV/0!помилок для кожного FALSE, впереміш із номерами рядків кожного виникнення значення зі спадного меню.
Цей масив подається до AGGREGATE()функції, яка робить те саме, що SMALL()і (function = 15), за винятком того, що він має можливість ігнорувати помилки (option = 6). Таким чином, AGGREGATE()ігнорує #DIV/0!помилки та надає масив, що містить лише номери рядків значень із спадного меню C $ 17, як функція заповнюється. Цей масив використовується як row-num's в іншому INDEX(), який повертає список систем, що відповідають цим номерам рядків.
Нарешті, IFERROR()вставляє пробіл кожного разу, коли INDEX()виникає помилка, оскільки він заповнюється далі, ніж кількість значень у його списку row_nums.
Я ставлю цю формулу в рядок 17, тому останній ROW()-16починає список з 1-го рядка_num у масиві. Тож вам слід змінити останній "16" на один менший, ніж номер рядка, де ви маєте формулу.