Без допстолбцов. Одинаковая формула на весь диапазон. Как ни странно - немассивная формула
Код
=ЕСЛИОШИБКА(СУММПРОИЗВ((Stock_Report!$A$4:$A$405=$A6)*(Stock_Report!$B$4:$B$405=$B6)*(Stock_Report!$C$4:$C$405=$C6)*(Stock_Report!$F$4:$F$405=СЖПРОБЕЛЫ($F6))*(Stock_Report!$G$4:$G$405=СЖПРОБЕЛЫ($G6))*(СТРОКА(Stock_Report!$A$4:$A$405)<ПОИСКПОЗ("*"&ПРАВБ(H$1;4);Stock_Report!$G$1:$G$405;))*(СТРОКА(Stock_Report!$A$4:$A$405)>ИНДЕКС(ПРОСМОТР(СТРОКА(Stock_Report!$A$3:$A$405);СТРОКА(Stock_Report!$A$3:$A$405)/ЕПУСТО(Stock_Report!$A$3:$A$405);СТРОКА(Stock_Report!$A$3:$A$405));ПОИСКПОЗ("*"&ПРАВБ(Matrix!H$1;4);Stock_Report!$G$4:$G$405;);))*Stock_Report!$H$4:$I$405*(Stock_Report!$H$1:$I$1=ЛЕВБ(H$1;ПОИСК(" ";H$1)-1)));)
andreyyuryev, в листе Stock_Report красным в столбце В выделил тех, у кого в листе Matrix в столбцах F и G лишние пробелы. Это только для информации, формула их все равно считает
Вот так наверное лучше
Код
=ЕСЛИОШИБКА(СУММПРОИЗВ((Stock_Report!$A$4:$A$405=$A6)*(Stock_Report!$B$4:$B$405=$B6)*(Stock_Report!$C$4:$C$405=$C6)*(Stock_Report!$F$4:$F$405=СЖПРОБЕЛЫ($F6))*(Stock_Report!$G$4:$G$405=СЖПРОБЕЛЫ($G6))*(СТРОКА(Stock_Report!$A$4:$A$405)<ПОИСКПОЗ("*"&ПСТР(H$1;ПОИСК(" ";H$1)+1;9);Stock_Report!$G$1:$G$405;))*(СТРОКА(Stock_Report!$A$4:$A$405)>ИНДЕКС(ПРОСМОТР(СТРОКА(Stock_Report!$A$3:$A$405);СТРОКА(Stock_Report!$A$3:$A$405)/ЕПУСТО(Stock_Report!$A$3:$A$405);СТРОКА(Stock_Report!$A$3:$A$405));ПОИСКПОЗ("*"&ПРАВБ(Matrix!H$1;4);Stock_Report!$G$4:$G$405;);))*Stock_Report!$H$4:$I$405*(Stock_Report!$H$1:$I$1=ЛЕВБ(H$1;ПОИСК(" ";H$1)-1)));)
Файл перевложил