以下是引用willin2000在2008-2-28 14:32:37的发言:.............. 这是我的答案(长度258): =IF(AND(COUNTIF($D$1:$D1,$A$1:$A$18)),"",CHOOSE(COLUMN(A1),INDEX(A:A,MIN(IF(COUNTIF(D$1:D1,A$2:A18)=0,ROW($2:18)))),INDEX(A:A,RIGHT(MAX(MMULT(N(A$2:A18=TRANSPOSE(A$2:A18)),($A$2:$A18=C2)*B$2:B18)+ROW($2:18)%%),4)),SUM(($A$2:$A18&$B$2:$B18=B2&C2)*(A$2:A18)))) 谢谢版主,学会了min(Countif)的一种用法。
不过版主的公式还有一个小问题。用Right取小数部分,尾数位0的数加%%后的小数位不足4位,Right取的会不对。例如把B10改成“VBA”,公式结果就不对了。 谢谢2008指出关于使用%%用法时10倍数的问题,修改成: 261 =IF(AND(COUNTIF($D$1:$D1,$A$1:$A$18)),"",CHOOSE(COLUMN(A1),INDEX(A:A,MIN(IF(COUNTIF(D$1:D1,A$2:A18)=0,ROW($2:18)))),INDEX(A:A,10^4*MOD(MAX(MMULT(N(A$2:A18=TRANSPOSE(A$2:A18)),($A$2:$A18=C2)*B$2:B18)+ROW($2:18)%%),1)),SUM(($A$2:$A18&$B$2:$B18=B2&C2)*(A$2:A18)))) 或260 =IF(AND(COUNTIF($D$1:$D1,$A$1:$A$18)),"",CHOOSE(COLUMN(A1),INDEX(A:A,MIN(IF(COUNTIF(D$1:D1,A$2:A18)=0,ROW($2:18)))),INDEX(A:A,MOD(MAX(MMULT(N(A$2:A18=TRANSPOSE(A$2:A18)),($A$2:$A18=C2)*B$2:B18)*100+ROW($2:18)),100)),SUM(($A$2:$A18&$B$2:$B18=B2&C2)*(A$2:A18)))) -wilin2000
[此贴子已经被willin2000于2008-2-28 21:33:36编辑过] |