因为限于Excel3003,下面的公式稍有点复杂,也许有更简单的公式,但本公式还是花了点时间的。如果用较高的版本,公式可稍简单点。
P5=--SUBSTITUTE(SMALL(IF(TRANSPOSE(MMULT(TRANSPOSE(N($D5:$N5={2;3;6;9;11})),{1;1;1;1;1}))*$D5:$N5,TRANSPOSE(MMULT(TRANSPOSE(N($D5:$N5={2;3;6;9;11})),{1;1;1;1;1}))*$D5:$N5,99),COLUMN(A:A)),99,0)
同时按Ctrl+Shift+Enter三键输入数组公式,右拉到T5,下拉。
用VBA代码还是较为简单的。
2003版本太低了,不知道下面公式是否可行
=IFERROR(SMALL($D5:$N5,COUNTIF($D5:$N5,"=0")+COLUMN(A1)),0)