本帖最后由 CheryBTL 于 2012-10-28 12:50 编辑
先来一个,再减化,221字符:- =ROUND(SUM(10^(MMULT(LOG(MOD(IF(COLUMN(E:AV)>COUNTIF(A:A,A2:A45),1,SMALL((A2:A45=TRANSPOSE(A2:A45))*B2:B45+COLUMN(A:AR)/1%,ROW(1:44)*44-COLUMN(B:AS))),100),10),ROW(1:44)^0)/(COUNTIF(A:A,A2:A45)-4))/COUNTIF(A:A,A2:A45)),2)
复制代码 将LOG换用LOG10再省一个,220字符:- =ROUND(SUM(10^(MMULT(LOG10(MOD(IF(COLUMN(E:AV)>COUNTIF(A:A,A2:A45),1,SMALL((A2:A45=TRANSPOSE(A2:A45))*B2:B45+COLUMN(A:AR)/1%,ROW(1:44)*44-COLUMN(B:AS))),100)),ROW(1:44)^0)/(COUNTIF(A:A,A2:A45)-4))/COUNTIF(A:A,A2:A45)),2)
复制代码 换INT再减一字符,219:- =INT(SUM(10^(2+MMULT(LOG10(MOD(IF(COLUMN(E:AV)>COUNTIF(A:A,A2:A45),1,SMALL((A2:A45=TRANSPOSE(A2:A45))*B2:B45+COLUMN(A:AR)/1%,ROW(1:44)*44-COLUMN(B:AS))),100)),ROW(1:44)^0)/(COUNTIF(A:A,A2:A45)-4))/COUNTIF(A:A,A2:A45)))%
复制代码 去掉IF再省2字符,215:- =INT(SUM(10^(2+MMULT(LOG10(MOD(SMALL(B2:B45^(A2:A45=TRANSPOSE(A2:A45))+COLUMN(A:AR)/1%,ROW(1:44)*44-COLUMN(B:AQ)),100)^(COLUMN(D:AS)<COUNTIF(A:A,A2:A45))),ROW(1:42)^0)/(COUNTIF(A:A,A2:A45)-4))/COUNTIF(A:A,A2:A45)))%
复制代码 再省一个字符:- =ROUND(SUM(10^MMULT(LOG10(MOD(SMALL(B2:B45^(A2:A45=TRANSPOSE(A2:A45))+COLUMN(A:AR)/1%,ROW(1:44)*44-COLUMN(B:AQ)),100)^(COLUMN(D:AS)<COUNTIF(A:A,A2:A45)))/(COUNTIF(A:A,A2:A45)-4),ROW(1:42)^0)/COUNTIF(A:A,A2:A45)),2)
复制代码 ————————————————————————————————————————
换回INT再省2字符(212):- =INT(SUM(10^MMULT(LOG10(MOD(SMALL(B2:B45^(A2:A45=TRANSPOSE(A2:A45))+COLUMN(A:AR)/1%,ROW(1:44)*44-COLUMN(B:AQ)),100)^(COLUMN(D:AS)<COUNTIF(A:A,A2:A45)))/(COUNTIF(A:A,A2:A45)-4),ROW(1:42)^0)/COUNTIF(A:A,A2:A45)%))%
复制代码 ————————————————————————————
这个题应该也可以要求人名出现次数小于或等于5次,
只是需要假定当等于5次时,几何平均值中间值,小于5次时取0,
下面公式对人名出现次数没有限制,用TEXT防错,251字符:- =INT(SUM(10^(2+MMULT(LOG10(MOD(SMALL(B2:B45^(A2:A45=TRANSPOSE(A2:A45))+COLUMN(A:AR)/1%,ROW(1:44)*44-COLUMN(B:AQ)),100)^(COLUMN(D:AS)<COUNTIF(A:A,A2:A45))),ROW(1:42)^0)/TEXT(COUNTIF(A:A,A2:A45)-4,"0;1;1"))/COUNTIF(A:A,A2:A45)*(COUNTIF(A:A,A2:A45)>4)))%
复制代码 如果上式中的ROW(1:42)^0可以改用C1:C42+1可再省3字符。
|