Есть, но понятнее ли она? Массивная, при условии что длинна всегда больше ширины =INDEX(A:A;MOD(MIN(IF((B3<=$B$11:$B$27)*(C3<=$C$11:$C$27);$B$11:$B$27*$C$11:$C$27+ROW($B$11:$B$27)%));1)/1%+0,1)
если нужно крутить , то чуть добавим =INDEX(A:A;MOD(MIN(IF((B3<=$B$11:$B$27)*(C3<=$C$11:$C$27)+(C3<=$B$11:$B$27)*(B3<=$C$11:$C$27);$B$11:$B$27*$C$11:$C$27+ROW($B$11:$B$27)%));1)/1%+0,1)
так все не сложно, я б даже сказал я перебдил, сейчас поясню в чем в п.2. 1.чтоб уместить в пакет, в общем случае должно выполнится условие , что оба габарита меньше чем габариты пакета, при этом длина и ширина могут меняться местами (B3<=$B$11:$B$27)*(C3<=$C$11:$C$27)+(C3<=$B$11:$B$27)*(B3<=$C$11:$C$27) . Если разворот не нужен, а такое бывает например когда в трех измерениях не кантовать и верх, должен быть верхом. то проще (B3<=$B$11:$B$27)*(C3<=$C$11:$C$27) 2 Если условие выполняется, то есть <>o то пакет подходит . По идее можно взять просто номер строки, но может же быть что пакет следующий идет не сортированным, по этому беру площадь пакета и 3 прибавляем к нему номер строки деленный на 10000 ( %% это просто запись /100/100 что дает /10000.) 4. далее срабатывает MIN который пропуская ложь выдает минимальное число по площади с номеров строки. 5. отделяем от него дробную часть. 6 Делим на 1%% что равносильно *10000 или *10^4 но просто короче. что дает нам номер строки. 7. +0,1 э то на всякий случай, после всех этих предыдущих операций может случится что будет не 22 например а 21,(9) что будет потом воспринято как 21, а не как 22 строка. 8. Ну и берем через индекс по номеру строки наименование пакета.