This file might be fit (or help a little >_<) your requirement.
I can not explain well.
Just to tell that , use formula to re-config your product name to (Name)(1_space)(core-000 3 digits)x(diameter-0000.00 7 digits)mm2 and
build into a array list with this formula. [Note: Name must not contains spaces]
=IFERROR(INDEX(
LEFT($C$2:$N$13,(FIND(" ",$C$2:$N$13)))&TEXT(VALUE(MID($C$2:$N$13,(FIND(" ",$C$2:$N$13)),((FIND("x",$C$2:$N$13))-(FIND(" ",$C$2:$N$13))))),"000")&"x"&TEXT(VALUE(SUBSTITUTE(MID($C$2:$N$13,(FIND("x",$C$2:$N$13))+1,(FIND("mm2",$C$2:$N$13))-(FIND("x",$C$2:$N$13))-1),",",".")),"0000.00")&"mm2",
INT((B22-1)/COLUMNS(ekl1))+1,MOD(B22-1,COLUMNS(ekl1))+1
),"")
Then use Dave Bruns's formula to ranking all product together.
=COUNTIF($C$22:$C$165,"<"&C22)+(COUNT($C$22:$C$165)*ISTEXT(C22))+COUNTIF(C$22:C22,C22)
and rebuild a non-blank sorted product.
=IF(E22>0,INDEX($C$22:$C$165,MATCH(E22,$D$22:$D$165,0)),"")
[ from 20'th row to 165'th row ]
Regards.
Bookmarks