内存数组,C1:C9直接填入公式,三键结束<br/>=T(OFFSET(A2,MMULT(N(ROW(INDIRECT("1:"&SUM(B2:B4)))>TRANSPOSE(SUBTOTAL(9,OFFSET(B2,,,ROW(B2:B4)-1)))),ROW(B2:B4)^0),))<br/>=T(OFFSET(A2,MMULT(N(ROW(INDIRECT("1:"&SUM(B2:B4)))>TRANSPOSE(SUMIF(OFFSET(B2,,,ROW(B2:B4)-1),">0"))),ROW(B2:B4)^0),))<br/>=T(INDIRECT("A"&SMALL(IF(COLUMN(1:1)<=B$2:B$4,ROW(B2:B4)),ROW(INDIRECT("1:"&SUM(B2:B4))))))<br/>=T(OFFSET(A2,SMALL(IF(COLUMN(1:1)<=B$2:B$4,ROW(B2:B4)-1),ROW(INDIRECT("1:"&SUM(B2:B4))))-1,))<br/>=LOOKUP(ROW(INDIRECT("1:"&SUM(B2:B4)))-1,SUM(B2:B4)-SUMIF(OFFSET(B4,,,ROW(B2:B4)-ROW(B4)-1),">0"),A2:A4)<br/><br/>在C1填入公式,三键,把公式填充到C9<br/>=INDEX(A:A,1+MATCH(1,(--(ROW(A1)<=SUMIF(OFFSET(B$2,,,ROW(B$2:B$4)-1),">0"))),0))<br/>=INDEX(A:A,SMALL(IF(COLUMN(1:1)<=B$2:B$4,ROW(B$2:B$4)),ROW(A1)))<br/>=INDEX(A:A,SMALL(IF(COLUMN(1:1)<=B$2:B$4,ROW(B$2:B$4),50000),ROW(A1)))&""(加了容错处理)<br/>
[此贴子已经被作者于2007-9-12 15:09:10编辑过] |